2. 云端一体化研发链路
在云端一体化研发链路上 , 我们在外部有 阿里云云开发平台, 内部则有 O2、Ant Codespaces 等产品 。
常规的研发链路如下图上半部分所示 。
我们在开始一个项目研发前往往都需要经历一些或简单或繁琐的环境配置工作 , 你的编码环境也与云上环境存在割裂 , 借助阿里云等云产品的容器能力 ,我们可以通过 OpenSumi 搭建属于企业或团队的云端编码环境 , 让开发者真正省去环境配置问题 , 在云端完成一切的开发工作 。
通过深度的流程定制 , 能让开发者快捷的进入开发状态 。
通过和内部研发平台打通 , 可以一站式的完成开发、测试、部署等工作 。
3. 纯前端搭建
纯前端搭建能力是 OpenSumi 在阿里及蚂蚁集团内应用的最为广泛的一块能力 , 它提供了一种不需要依赖服务端去提供编辑器启动所需的 Node.js 服务 , 直接通过纯前端资源及静态接口定义便能搭建起来一个具备编辑器基本界面的能力 。
其实现核心是通过对文件、Git 等原本依赖 Node 的服务进行了一层服务层抽象 , 让开发者可以手动定义文件读写等服务的具体逻辑 , 同时基于 OpenSumi 提供的 Web Worker API将语言服务运行于浏览器的 Web Worker 环境中 , 从而实现了框架的去 Node 化 , 达到纯前端搭建的效果 。
基于这层实现 , 你完全可以基于 GitHub Rest API 去实现一个纯前端编辑器 , 可以从上面直接进行 GitHub 代码的查看、编辑及提交等操作 , 后续我们会考虑做一个相应的案例出来 。 而在内部 , 典型的应用是如下一些场景:
1.代码评审
2.代码展示
3.远程笔试
我们在 OpenSumi 代码仓库中也提供了一个简易的入门案例 opensumi/ide-startup-lite [1
你也可以直接通过 预览页面 [2
直接查看 Demo 效果 。
3 完整的 VS Code 的插件能力支持
相信关注过 IDE 框架的同学对 Theia 一定不陌生 , Theia 作为一款兼容 VS Code 插件的 IDE 框架 , 确实兼容了一部分 VS Code 插件能力 , 但对于后续 VS Code API 的兼容已经越来越少 , 基本依赖社区开发者的发现贡献 。
OpenSumi 设计之初就是要兼容 VS Code 插件生态 , 故我们对于框架会有持续性的要求 , 开源之后 , 我们计划每三个月时间去完成一次 VS Code 插件 API 的适配工作 , 适配计划的制定 , 将会由相应的版本管理人员组织在讨论区进行 , 当前已适配至 VS Code v1.60.0 版本标准 API ,进度可见 适配计划。
三 OpenSumi 与市面主流框架的区别 我们在设计初期便对 VS Code 、Theia 的源码进行了深入的学习 , 实现过程中 , 为了兼容 VS Code 插件生态 , 同时兼容主流编辑器的一些功能及体验 , 部分设计及实现上我们有部分源码也参考了两位老师的实现 , 对应代码区块已标注了版权头信息 。
1 与 VS Code 的关系
VS Code 作为市场占用率较大的 IDE , 其核心为一个 IDE 产品 , 本质上与我们的 框架 属性存在区别 , 整体上是一个 ToC 的产品 , 开发者进行定制的门槛及成本较高 , 可自定义的内容也比较有限 , 大部分是通过 插件 的形式进行有限拓展 。
而我们的框架主要是服务用户为 ToB 用户 , 对那些需要通过 IDE 框架搭建自有的 CloudIDE / 本地 IDE 产品而又没有充足技术研发能力的中小企业是一个简单、便捷的开发选项之一 。
2 与 Theia 的关系
Theia 作为后起之秀 , 借鉴 VS Code 的一些设计理念 , 经过近几年的发展逐步成熟 , 社区也相对繁荣 , 背靠 Eclipse 基金会 , 也是 IDE 开发者一个不错的开发选项 , 与我们的 OpenSumi 框架是存在竞争关系的 。
Theia 本身提供了一种模块化构建 IDE 产品的能力 , 大部分视图上的定制绝大部分可通过 模块 的方式去进行拓展的(这点在我们的 OpenSumi 中也有借鉴相应思路) , 在 插件 能力上兼容了大部分的 VS Code 插件 , 提供了一份 VS Code 插件 API 的子集能力 , 部分插件 API (如 debug、language 等)并没有完全实现且也无后续持续性的跟进计划 。
基于上面这些点上 ,OpenSumi 框架不仅支持了基础的 模块 方式拓展 , 在 插件 层面上 , 我们有持续性跟进 VS Code 标准 API 的规划 (当前已实现 VS Code 1.16.0 版本 API) , 同时 , 我们基于实现了一个前端沙箱 , 提供了一系列的 sumi API 用与通过 插件 的方式自由地拓展我们的视图能力 , 熟悉 React 的前端同学可以直接上手进行前端组件的编写 , 通过我们提供的丰富的 API 去实现相应的功能视图 。
- |显卡接口有哪几种?看完文章后,你就知道有多少种了
- 全球财经网|和颜美帕科技抗衰|世纪城院开业&伊妍仕少女针新品首发圆满落幕
- AMD|AMD RX 7000系列显卡有望首发新一代图像缩放技术,性能大幅提升
- 显卡|JAVA快速开发框架源码 JAVA源码
- 显卡|2022年3月装机电脑配置推荐!性价比游戏类,10400F+3060Ti组合
- 显卡|8+256GB降至1299,一亿像素+120HZ高刷,这价格厚道了
- gtx|r7260x相当于n卡AMDR7260X相当于什么显卡
- GPU|社区生鲜下半场,阿里盒马换“档”再上路
- 华为|任正非对马云的印象竟然是:阿里有用不完的美国股市的钱!
- 耳机|Astell&Kern ZERO 1 耳机上手玩
