OpenSumi:搭建本地及云端 IDE 产品的底层框架
OpenSumi 是用于快速搭建本地和云端 IDE 的框架。
OpenSumi 框架旨在解决阿里经济体内部 IDE 产品研发的重复建设问题,满足 IDE 在更多垂直场景的定制能力,同时实现 Web 与本地客户端共用底层,让 IDE 研发从早期的“刀耕火种”时代向“机器化大生产”时代迈进。
整体架构
为了保证框架可以同时在 Web
和 Electron
环境下运行,OpenSumi 采用了一套前后端分离、通过一层抽象的通信层进行相互调用的项目结构。
在 Web
上,我们使用 WebSocket 来作为通信的实现。
在Electron
上,我们则是 IPC
通信。
每一个通信的连接对应前后端一个独立的 DI (Dependence Inject) 容器,所以 OpenSumi 的后端实现是无状态的,不同连接之间是严格隔离的。
在 OpenSumi 内主要有三个核心进程:
- 插件进程 (Extension Process)
- 后端进程 (Node Process)
- 前端进程 (Browser Process)
为了保证插件的问题不会影响 IDE 的性能表现,插件能力上 OpenSumi 采用了跟 VS Code
类似的方案,通过独立的插件进程去启动插件,插件进程再通过后端进程与前端进程进行通信。
OpenSumi 的不同能力实现被拆分到了不同的模块内,这些模块通过 贡献点机制 (Contribution Point)、DI 机制 (Dependence Inject) 互相之间有较弱的依赖关系,对于一些比较核心的基础模块,如主题服务、布局服务等,也会被其他模块直接依赖。
因此,在集成开发过程中需要保证一些模块的引入顺序。
整体启动的生命周期如下图所示:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【直播预告】没有 “专业” 的向量数据库,大模型就玩不转了吗?
向量数据库曾寂寂无名,然而随着生成式 AI 大模型的爆发式增长,其热度被推向了前所未有的巅峰。 不久前,诸多向量数据库公司纷纷宣布完成融资: Pinecone 完成 1 亿美元 B 轮融资,WeaviateBV 获得 5000 万美元 B 轮融资,Chroma 获得 1800 万美元种子轮融资,Qdrant 获 750 万美元种子融资。资本的涌入侧面可以证明向量数据库的爆火程度。 在国内,除了 Zilliz 这只领头羊在向量数据库赛道驰骋之外,大华股份、云创数据、中国软件、东软集团、每日互动、星环科技和美亚柏科等公司也正在押注这一领域。 怎么,难道没有专业的向量数据库,大模型就玩不转了吗? 8 月 29 日,OSCHINA【开源漫谈】第2期,特意邀请了 5 位业内具有代表性的专家,以直播的方式,从以下角度对这一问题作出回答。 我们真的需要一个像 Milvus 这样的 “专业”向量数据库吗,还是像 PostgreSQL、Redis、ElasticSearch 等数据库一样升级向量功能支持就行了? 当企业面临选择向量数据库或者向量插件等产品时,主要考虑哪些因素? 结合实际场景,将各向量产品...
- 下一篇
阿里云开源通义千问多模态大模型 Qwen-VL
阿里云推出大规模视觉语言模型Qwen-VL,并宣布直接开源。 开源地址 ModelScope魔搭社区: Qwen-VL:https://modelscope.cn/models/qwen/Qwen-VL/summary Qwen-VL-Chat:https://modelscope.cn/models/qwen/Qwen-VL-Chat/summary 模型体验:https://modelscope.cn/studios/qwen/Qwen-VL-Chat-Demo/summary HuggingFace: Qwen-VL:https://huggingface.co/Qwen/Qwen-VL Qwen-VL-Chat:https://huggingface.co/Qwen/Qwen-VL-Chat GitHub: https://github.com/QwenLM/Qwen-VL 技术论文地址: https://arxiv.org/abs/2308.12966 Qwen-VL以通义千问70亿参数模型Qwen-7B为基座语言模型研发,支持图文输入,具备多模态信息理解能力。在主流的多模态...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路