当前位置:网站首页>Blockbuster: the domestic IDE is released, developed by Alibaba, and is completely open source!
Blockbuster: the domestic IDE is released, developed by Alibaba, and is completely open source!
2022-07-05 10:30:00 【The way of Python data】
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
-------- End --------
边栏推荐
- [paper reading] kgat: knowledge graph attention network for recommendation
- LiveData 面试题库、解答---LiveData 面试 7 连问~
- CSDN always jumps to other positions when editing articles_ CSDN sends articles without moving the mouse
- 钉钉、企微、飞书学会赚钱了吗?
- 横向滚动的RecycleView一屏显示五个半,低于五个平均分布
- 《通信软件开发与应用》课程结业报告
- 程序员如何活成自己喜欢的模样?
- Today in history: the first e-book came out; The inventor of magnetic stripe card was born; The pioneer of handheld computer was born
- Learning II of workmanager
- isEmpty 和 isBlank 的用法区别
猜你喜欢
Cerebral cortex: directed brain connection recognition widespread functional network abnormalities in Parkinson's disease
AtCoder Beginner Contest 258「ABCDEFG」
pytorch输出tensor张量时有省略号的解决方案(将tensor完整输出)
How to plan the career of a programmer?
【小技巧】獲取matlab中cdfplot函數的x軸,y軸的數值
Constraintlayout officially provides rounded imagefilterview
Who is the "conscience" domestic brand?
程序员如何活成自己喜欢的模样?
The most complete is an I2C summary
钉钉、企微、飞书学会赚钱了吗?
随机推荐
ConstraintLayout的流式布局Flow
Dedecms website building tutorial
How to write high-quality code?
程序员如何活成自己喜欢的模样?
Learning II of workmanager
Swift tableview style (I) system basic
Events and bubbles in the applet of "wechat applet - Basics"
> Could not create task ‘:app:MyTest. main()‘. > SourceSet with name ‘main‘ not found. Problem repair
《微信小程序-基础篇》小程序中的事件与冒泡
Personal website construction tutorial | local website environment construction | website production tutorial
Singleton mode encapsulates activity management class
5G NR系统架构
Interview: is bitmap pixel memory allocated in heap memory or native
请问postgresql cdc 怎么设置单独的增量模式呀,debezium.snapshot.mo
PHP solves the problems of cache avalanche, cache penetration and cache breakdown of redis
LiveData 面试题库、解答---LiveData 面试 7 连问~
@SerializedName注解使用
【JS】数组降维
Secteur non technique, comment participer à devops?
A high density 256 channel electrode cap for dry EEG