《QCon-OpenSumi 演进之路-云研发背景下的应用与实践-吴丹武(魁武).pdf》由会员分享,可在线阅读,更多相关《QCon-OpenSumi 演进之路-云研发背景下的应用与实践-吴丹武(魁武).pdf(46页珍藏版)》请在三个皮匠报告上搜索。
1、OpenSumi 演进之路 云研发背景下的应与实践前端技术专家,OpenSumi 开源负责|吴丹武(魁武)Weex 具链/H5 Renderer 建设(2017 2018)淘宝/付宝程序建设(2018 2019)O2 Code 研发|OpenSumi 开源负责(2019 今)我介绍魁武|吴丹武OpenSumi 是什么?录内部实践案例临的挑战与解法开源现状及未来规划OpenSumi 是什么?OpenSumi 取“粟”词“粟”为类存的基础,OpenSumi 作为 IDE 框架同样也是 IDE 建设的基础基础布局下图为通的种标准布局类程序开发具布局带顶部具栏的布局OpenSumi 是什么?款于构建基
2、于 Web 或 本地 IDE 具的框架1.基础的 IDE 布局界2.模块化的拓展能3.兼容 VS Code 插件4.丰富的视图定制能5.使现代化的技术栈(React)进拓展6.运于本地/浏览器环境2019-052020-042021-032022-11项启动1.0 版本2.0 版本正式开源提供 Node.js、WebWorker、Browser 三种插件运进程 性能全优化2022年 11 18,阿集团与蚂蚁集团联合宣布 OpenSumi 正式开源提供 IDE 插件机制及插件市场服务 对 VS Code 1.37.1 版本插件 API项于 2019 年 05 08,由淘系程团队、蚂蚁研发效能团队
3、、付宝程序团队的同学组成初期项组进为期年的封闭式开发2019 年 09淘宝 O2 IDE、蚂蚁 Ant Codespaces、程序 IDE PoC 成功发展历程与 VS Code 的关系?OpenSumi 采了部分 VS Code 的开源标准能 Monaco Code Editor LSP/DAP OpenSumi 借鉴了 VS Code 部分交互设计OpenSumi 兼容 VS Code 插件OpenSumi 并不是款 IDE 产品3评价指标VS Code ProductVS Code ProjectTheiaOpenSumi社区态编码体验VS Code 插件兼容性(计划持 1.64.2 版
4、本 API)(即将持 1.69.0 版本 API)可定制能及成本通过插件定制通过插件+源码定制模块+插件模块+插件+全视图定制平台持:桌端、CloudIDE、纯前端、Remote插件市场闭源,不允许商闭源,不允许商(开源 OpenVSX)(兼容 OpenVSX,蚂蚁插件市场服务)插件定义视图实现式VS Code WebviewView(2021)VS Code WebviewView(2021)VS Code WebviewView(2021)React View(2020)+VS Code WebviewView(2021)插件运时Node.js+WorkerNode.js+WorkerNo
5、de.js Node.js+Worker参考资料:https:/ 常的形态有哪些?向业务的研发解决案OpenSumi提供向多种业务场景,如搭建、ServerLess 等提供从研发到发布的全链路撑提供开箱即的云端研发环境,站式研发体验云端研发(搭建)独使终端模块实现体验、性能更佳的 WebShell 体验WebShell通过服务与 IDE 的联动实现对代码的实时调试运单测通过引多协作模块实现试场景下的协同编辑能试场景向本地效研发OpenSumi本地原能赋予应开发更好的编辑体验及性能提供完整的站式程序研发体验付宝/淘宝程序研发本地的编辑体验与远程机器相结合,打通端云环境远程开发(Remote 模式
6、)针对容器的纯前端场景OpenSumi提供除了本地原能外的其他能持代码亮查看,代码索引,以及评审相关功能代码评审(纯浏览器运)通过容器的浏览器环境,实现快捷 Git 操作WebSCM(容器)结合 Sandpack 能实现代码块的快速验证及分享能代码沙箱(纯浏览器运)通过结合 WebAssembly 技术实现在浏览器内运完整项能纯浏览器运项(结合 WASM 能)临的挑战与解法如何解决需求多样性问题?通过 DI 可实现对核能的覆写依赖主研发的 opensumi/di 实现在型项内对功能表现的定制OpenSumi 模块图将基础能进模块化封装,按需加载插件进程设计在 Browser/Worker/No
7、de 进程分别实现了插件进程运环境,实现插件对功能的全位拓展能3对项模块插件启动可参与应整个命周期只能后置启动可定制能内部模块 API,不稳定,可能随着框架升级变化标准 API,档完善,但功能没有模块丰富版本升级随 IDE 整体升级升级,如果某个模块出现问题,需要发布整个 IDE 版本单个插件发布升级,较灵活开发模式Browser/Node/Common 分层结构化开发向 VS Code、Sumi API 开发交付产物BrowserModule OR NodeModuleOpenSumi 或 VS Code 插件启动可参与应整个命周期只能后置启动模块与插件的区别向业务场景的常架构如何跟进 VS
8、 Code Extension API?VS CodeProposed API(不稳定版本)Standard API(稳定版本)1.44.01.50.01.52.01.64.01.69.01.71.01.73.01.74.01.75.0OpenSumi2.23.02.24.03.0.02.22.02.19.02.20.02.21.02.18.02.17.02.23.0后端服务进程(基于 Node.js)插件进程(基于 Node.js)搜索插件市场SCM配置主题件服务件树编辑器终端输出调试纲模块化实现后端服务进程(基于 Node.js)常规案如何持更轻量场景?OpenSumi纯前端案插件进程(基
9、于 WebWorker)件树编辑器输出配置主题按需加载后端服务进程(基于 Node.js)件系统IndexDB远程存储内存存储OverlayFSZipFS件服务较重!如何保障版本的可靠性?2100+项单元测试、50+个运案例 E2E 测试保障代码可靠性持续集成链路持E2E 主链路 100%覆盖开源现状及未来规划开源数据(截2023.02.01)仓库 Star 2262 个代码贡献者 46 完成 PR 累计 1439 个解决 issue 608 个官访问 2100+/对接企业 20+CCF GitlinkCSDN字节跳动斑智阿云蚂蚁 Cloud IDE SaaS钉钉淘宝付宝天猫谁在使?未来规划让 IDE 定制化研发变得简单丝滑周边态建设官插件市场建设插件研发具链发布档升级,新增更丰富的定制及插件开发档开发者沙开发者双周会机制基础能建设VS Code 1.74.0 API 适配OpenSumi Design 发布,提供出的 UI/UX 交互体验建设 IDE 组件库性能体验优化Node PTY(终端)多进程改造FileSystem Watcher 多进程改造WebScoket 多通道改造,优化通信性能研 RPC 通信库,提升通信性能及效率布局性能及能优化OpenSumiThanks for watchingFAQ官:https:/OpenSumi 官公众号联系我