当前位置:网站首页>Heavyweight: the domestic ide was released, developed by Alibaba, and is completely open source!
Heavyweight: the domestic ide was released, developed by Alibaba, and is completely open source!
2022-06-30 13:49:00 【Program ape DD_】
source : Ali technology
Experience close to 3 Year time , With the joint efforts of Alibaba group and ant group ,OpenSumi As the first strong customization in China 、 High performance , compatible VS Code Of plug-in system IDE R & D framework , Today, it is officially open to the outside world .
1.OpenSumi What is it? ?
OpenSumi Is a vertical field oriented , Low threshold 、 High performance 、 Highly customizable dual ended (Web And Electron)IDE R & D framework .
In the early stage of the framework, the Amoy department engineering team of Alibaba group and the experience Technology Department of ant group 、 The R & D effectiveness team jointly initiated , Jointly developed IDE Standardized R & D framework . It's based on TypeScript + React Encoding , The implementation includes the resource manager 、 Editor 、 debugging 、Git panel 、 Search panel and other core function modules , Developers just need to make simple configuration based on our starting project , You can quickly build your own local or cloud IDE product , The framework itself is compatible VS Code Plug in Ecology , Main stream VS Code Plug ins can be seamlessly based on OpenSumi Run in developed products , meanwhile , The framework also provides developers with a variety of low-cost services , Highly customized view customization capability , To meet the IDE The vast majority of views in the scene are customized .
about IDE Research and development , Now there are code-server、Theia And so on , Why do we choose self-development to realize ? since 2019 Year begins , We found that Alibaba and ant group already have many IDE product , Most products are for IDE The preliminary construction of products is basically the same , However, this part of the preliminary construction work takes up a team, at least a few months , More than half a year , There are a lot of problems of repetitive work , In the process of some teams using open source solutions , We also encountered some problems more or less , If the customization ability is limited 、 Source code dependence is deep 、 Difficult to maintain 、 Problems such as inability to meet internal capability requirements . Final , We are determined to gather the strength of multiple teams and embark on the road of self-development and realization .
2.OpenSumi What are the advantages ?
As I said before ,OpenSumi Is a vertical field oriented , Low threshold 、 High performance 、 Highly customizable dual ended (Web And Electron)IDE R & D framework . Its characteristics are mainly reflected in the following points :
1. Comprehensive view customization capability
In addition to the performance and coding experience similar to that of mainstream browsers , In the business oriented vertical , We have much more customization capabilities than similar frameworks , Based on our basic framework , You are free to pass modular or plug-in unit Customize your IDE product , Can achieve a real sense of “ Full view customization ” Ability .

In many internal product realization stages , We will naturally pass modular To achieve basic capabilities and better maintainability , And by plug-in unit To achieve business view or capability customization , Achieve higher customization . Take some R & D scenarios inside Alibaba as an example , The structure is layered as follows :

2. Rich R & D support experience in vertical field
OpenSumi Before the official open source , It has been incubated continuously within Alibaba and ant group for two years , During this period, a series of representative R & D cases in the vertical field were settled , Most of the R & D practice scenarios you can think of , May be in OpenSumi Find practical experience in .
Applet development scenario
For applet development scenarios , Alipay small program developer tool as well as Taobao applet developer tool It's the use of OpenSumi As the core framework , So far , The number of service developers per month has reached 2W +.

Through our Toolbar Contribution points and additional sumi API, We can further customize the view through plug-ins . Such as :
1) Customize different Toolbar Exhibition

2) Independent communication window can be realized ( Such as Simulator )

meanwhile , Shared underlying and plug-in capabilities , It also makes end-to-end rapid migration possible , Through to Alipay small program developer tool Transplantation of related plug-ins , We are in a short time 1 Completed the similar functions within months , But the use scenario is different Taobao applet developer tool Early version support , At the same time, it incubates O2 client .
Cloud integrated R & D link
On the cloud integrated R & D link , We have... Outside Alicloud cloud cloud development platform , Inside there are O2、Ant Codespaces Products such as .
The conventional R & D link is shown in the upper part of the figure below .
We often need to go through some simple or cumbersome environmental configuration before starting a project R & D , Your coding environment is also separated from the cloud environment , With the container capabilities of Alibaba cloud and other cloud products , We can go through OpenSumi Build a cloud coding environment belonging to the enterprise or team , Let developers really save the problem of environment configuration , Complete all development work in the cloud .

Through in-depth process customization , It allows developers to quickly enter the development state .

Get through with the internal R & D platform , You can complete the development in a one-stop way 、 test 、 Deployment, etc .
Pure front-end construction
The pure front-end building capability is OpenSumi The most widely used capability in Alibaba and ant group , It provides a method that does not need to rely on the server to provide the editor to start Node.js service , Directly through the pure front-end resources and static interface definition, we can build a basic interface with the ability of the editor .
The core of its implementation is through the file 、Git Wait for the original dependence Node The services of are abstracted from the service layer , Allow developers to manually define the specific logic of file reading and writing services , At the same time, it is based on OpenSumi Provided Web Worker API , Run the language service in the browser Web Worker Environment , So as to realize the de Node turn , Achieve the effect of pure front-end construction .
Based on this layer , You can be based on GitHub Rest API To implement a pure front-end editor , You can do it directly from above GitHub Code view 、 Edit and submit , In the future, we will consider making a corresponding case . And inside , Typical applications are the following scenarios :
1. Code review

2. Code display

3. Remote written test

We are OpenSumi A simple introductory case is also provided in the code warehouse opensumi/ide-startup-lite , You can also go straight through Preview page Direct view Demo effect .
3. complete VS Code Plug in capability support
I believe I have paid attention IDE The students of the framework are right Theia It must be no stranger ,Theia As a compatible VS Code The plug-in IDE frame , It is indeed compatible with some VS Code Plug in capabilities , But for the follow-up VS Code API Compatibility has become less and less , It basically depends on the discovery contribution of community developers .
OpenSumi The beginning of the design is to be compatible VS Code Plug in Ecology , Therefore, we will have continuous requirements for the framework , After open source , We plan to finish it every three months VS Code plug-in unit API Adaptation of , Development of adaptation plan , It will be organized by the corresponding version managers in the discussion area , Currently adapted to VS Code v1.60.0 Version standard API, Progress is visible Adaptation program .
3. OpenSumi The difference from the mainstream market framework
We were right at the beginning of the design VS Code 、Theia In-depth study of the source code of , In the process of implementation , For compatibility VS Code Plug in Ecology , At the same time, it is compatible with some functions and experiences of mainstream editors , Part of the design and implementation, we have some source code, also refer to the implementation of the two teachers , The corresponding code block has been marked with copyright header information .
1. And VS Code The relationship between
VS Code As a with a large market share IDE, Its core is a IDE product , Essentially with our frame There are differences in properties , On the whole, it's a ToC Products , The threshold and cost for developers to customize are high , The customizable content is also relatively limited , Mostly through plug-in unit Limited expansion in the form of .
Our framework mainly serves users as ToB user , For those who need to pass IDE Own framework CloudIDE / Local IDE Small and medium-sized enterprises without sufficient technology R & D capacity are a simple 、 One of the convenient development options .
2. And Theia The relationship between
Theia As a rising star , reference VS Code Some design concepts of , After development in recent years, it has gradually matured , The community is also relatively prosperous , Back to back Eclipse The foundation , It's also IDE A good development option for developers , With our OpenSumi The framework is competitive .
Theia Itself provides a modular build IDE Product capabilities , Most customizations on most views can be made through modular The way to expand ( This is in our OpenSumi There are also corresponding ideas for reference ), stay plug-in unit Compatible with most VS Code plug-in unit , A copy was provided VS Code plug-in unit API Subset capabilities , Some plug-ins API ( Such as debug、language etc. ) There is no fully realized and continuous follow-up plan .
Based on the above points , OpenSumi The framework not only supports the basic modular Ways to expand , stay plug-in unit On the level , We have continuous follow-up VS Code standard API The planning ( Currently realized VS Code 1.16.0 edition API), meanwhile , We implemented a front-end sandbox based on , A series of sumi API Use and pass plug-in unit Freely expand our view ability in a way , be familiar with React The front-end students can write the front-end components directly , Through our rich API To implement the corresponding functional view .
4. At the end
today OpenSumi Open source is just a small step for us . We are looking forward to your feedback , Welcome to OpenSumi Create your own IDE product .
Last , If you are right about OpenSumi Have corresponding interest , You can come, too opensumi/core Warehouse transfer , Contribute some of your code and comments to our framework , It will be our great honor .
Project address :
https://github.com/opensumi/core
Official website address :
http://opensumi.com
We have created a high-quality technical exchange group , With good people , I will be excellent myself , hurriedly Click Add group , Enjoy growing up together . in addition , If you want to change jobs recently , Years ago, I spent 2 A wave of large factory classics were collected in a week , Those who are ready to change jobs after the festival can Click here to get !
Recommended reading
··································
Hello , I'm a procedural ape DD,10 Old driver developed in 、 Alibaba cloud MVP、 Tencent cloud TVP、 I have published books and started a business 、 State-owned enterprises 4 In the Internet 6 year . From ordinary developers to architects 、 Then to the partner . Come all the way , My deepest feeling is that I must keep learning and pay attention to the frontier . As long as you can hold on , Think more 、 Don't complain 、 Do it frequently , It's easy to overtake on a curve ! therefore , Don't ask me what I'm doing now, whether it's in time . If you are optimistic about one thing , It must be persistence to see hope , Instead of sticking to it when you see hope . believe me , Just stick to it , You must be better than now ! If you don't have any direction , You can pay attention to me first , Some cutting-edge information is often shared here , Help you accumulate the capital to overtake on the curve .
边栏推荐
- How does MySQL merge columns?
- WTM major updates, multi tenancy and single sign on
- [Title brushing] heater
- STM32 porting the fish component of RT thread Standard Edition
- Methodology for troubleshooting problems (applicable to troubleshooting problems arising from any multi-party cooperation)
- 逆向调试入门-PE中的VA与RVA换算04/07
- visualstudio 和sql
- There is no utf8 option for creating tables in Navicat database.
- A keepalived high availability accident made me learn it again!
- [Title brushing] coco, who likes bananas
猜你喜欢

深入理解.Net中的线程同步之构造模式(二)内核模式2.内核模式构造物Semaphone

【刷题篇】避免洪水泛滥

SQL编程问题,测试用例不通过

编程实战赛来啦!B站周边、高级会员等好礼送你啦!

SQL programming problem, test case failed
![【科研数据处理】[实践]类别变量频数分析图表、数值变量分布图表与正态性检验(包含对数正态)](/img/5a/eaa845f4332f0b8ee8b6409d6a79e8.png)
【科研数据处理】[实践]类别变量频数分析图表、数值变量分布图表与正态性检验(包含对数正态)

可观测,才可靠:云上自动化运维CloudOps系列沙龙 第一弹

Assertions of regular series

Intelligent operation and maintenance: visual management system based on BIM Technology

A keepalived high availability accident made me learn it again!
随机推荐
VisualStudio and SQL
Google Earth Engine(GEE)——GHSL:全球人类住区层,建成网格 1975-1990-2000-2015 (P2016) 数据集
这个编辑器即将开源!
正则系列之断言Assertions
[Title brushing] avoid flooding
【科学文献计量】外文文献及中文文献关键词的挖掘与可视化
知识传播不能取代专业学习!
Apache Doris comparison optimization Encyclopedia
Pytorch查看模型参数量和计算量
Multi terminal collaboration of Huawei accounts to create a better internet life
JS method of changing two-dimensional array to one-dimensional array
逆向调试入门-PE中的VA与RVA换算04/07
MySQL queries the data within the radius according to the longitude and latitude, and draws a circle to query the database
[Title brushing] heater
Write, append, read, and copy of golang files: examples of using bufio packages
visualstudio 和sql
All the abnormal knowledge you want is here
Common UI components
优思学院:六西格玛不只是统计!
PG基础篇--逻辑结构管理(表继承、分区表)