前端工程下一站 IDE

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1.
2. 前端⼯工程下⼀一站 - IDE 上坡 吭头
3. ⾃自我介绍 上坡(张伟) 阿⾥里里集团 - 淘系技术部 - 前端技术 - 前端⼯工程 前端⼯工程⼯工具 阿⾥里里前端⼯工程中台 吭头(⻢马航) 蚂蚁⾦金金服 - 终端技术部 - 前端技术 - ⼯工程服务 ⽀支付宝⼩小程序 IDE KAITIAN 项⽬目技术负责⼈人 KAITIAN 项⽬目 PM
4. • 新站台: IDE • 技术实现 • 落地实践 • 下⼀一步
5. 新站台: IDE — 基础设施 硬件端 容器器端 Prometheus Kubernetes 本地端 Electron NW.js Carlo 基础依赖 Language Server Protocol Debug Adapter Protocol Monaco Editor
6. 新站台: IDE — 外部环境 独⽴立解决⽅方案 云⼚厂商收购⽅方案
7. 新站台: IDE — Expo Snack IDE 调试预览 编译构建 编辑器器 Editor
8. 新站台: IDE — 阿⾥里里场景 ⽀支付宝⼩小程序 阿⾥里里云 FC 函数计算 中后台 智能还原 登录验证 编译构建 集成部署 编辑器器 ⽂文件树 终端
9. 新站台: IDE — 阿⾥里里场景 本地端 云端 品牌⼊入⼝口效率 研发环境⼀一致 系统原⽣生能⼒力力 线上服务集成 ⽹网络环境依赖 安装使⽤用成本
10. 新站台: IDE —KAITIAN FAAS 函数 搭建模块 ⼩小程序 中后台 … 数据调试 智能还原 真机调试 物料料管理理 … IDE 集成⽅方式 本地端 Web 端 内部 IDE 平台 外部 IDE 平台 插件体系(插件机制/插件市场) 集成部署 登录验证 编译构建 规则校验 KAITIAN FRAMEWORK 编辑器器 插件体系 调试预览 终端 资源管理理 …
11. 新站台: IDE — 内部场景 Web FAAS ⽣生 本地 IDE KAITIAN FRAMEWORK ⽀支付宝⼩小程序 外部 插件 搭建 平台 态 研发 ⼯工作台 内部
12. • 新站台: IDE • 技术实现 • 落地实践 • 下⼀一步
13. 技术实现 • 整体架构 • 两端⼀一致 • 插件扩展设计
14. 技术实现 — 整体架构 ⽀支撑服务 插件市场 容器器服务 更更新服务 ⽇日志服务 灰度服务 配置服务 封装能⼒力力 编辑器器 SCM 列列表 输出⾯面板 功能模块 编辑器器插件 API Monaco 定制 Hover 提示 定义查询 语法检测 Editor 定制 引⽤用跳转 Model ⽂文档定制 Grid 布局管理理 ⽂文档管理理 编辑状态管理理 语⾔言/语法注册 诊断展示 组件化展示 引⽤用管理理 版本管理理 主题设置 编辑状态栏 镜像同步 虚拟⽂文档 快捷键管理理 代码着⾊色 Tab 管理理 URI 关联 Resource ⽬目录浏览 组件定制展示 资源服务定制 ⽂文档内容 快捷打开 Markdown 预览 搜索 状态栏 命令⾯面板 设置⾯面板 左侧导航 代码管理理 ⼯工具栏 预览⾯面板 展示集成(xterm.js) 动态加载 临时内容 已打开⽂文件 布局监听 节点回收 内容提供定制 ⾯面包屑 终端 ⽂文件树组件 分组划分 基础库加载 频道管理理 搜索结果 语⾔言服务(LSP) 语⾔言注册 通信协议适配 ws/ipc ⽬目录管理理 操作连接管理理 监听响应 模拟进程(node-pty) 基础能⼒力力 预览服务 布局能⼒力力 插件机制 本地/远程加载 插件扫描 安装卸载 插件激活 基本能⼒力力 调试能⼒力力 插槽能⼒力力 调试⾯面板 命令机制 Editor 调试⽀支持 消息链路路 设置服务 依赖注⼊入 数据存储 国际化 快捷键绑定 状态管理理 事件机制 存储服务 标签服务 ⽇日志能⼒力力 主题服务 ⼯工作空间管理理 应⽤用加载 断点 扩展能⼒力力 匹配调⽤用通道 位置管理理计算 UI 定制 逻辑隔离环境 环境适配 服务注册 WebWorker 堆栈 操作⾯面板 应⽤用⽣生命周期管理理 Node ⽂文件服务 拖拽布局 调试插件集成 定制菜单 DAP 容器器环境 动态视图注册 Session 管理理 VSCode 定制配置 Contribution 内容操作 ⽬目录操作 监听服务 color command language localization configuration menu grammar keybinding theme view 插件进程管理理 消息通道 API 注⼊入 进程重连 唯⼀一性控制 预加载管理理 编码探测 可定制⽂文件系统 通信能⼒力力 插件 API 本地⽂文件系统 languages workspace debug scm version 插件定制⽂文件系统 commands window env extensions root 服务注册 连接协议适配 ws/ipc 远程调⽤用 消息推送 调⽤用撤销 重连恢复 连接管理理 插件通信
15. 技术实现 • 整体架构 • 两端⼀一致 • 插件扩展设计
16. 技术实现 — 两端⼀一致 Electron App 两端⼀一致 在 浏览器器环境 与 本地客户端环境 运⾏行行相同实现代码
17. 技术实现 — 两端⼀一致 Browser Electron ⻚页⾯面渲染 ✓ ✓ 原⽣生组件 ✖ ✓ Node环境 ✖ ✓ ⽂文件访问 ✖ ✓
18. 技术实现 — 两端⼀一致 Electron App Web 渲染环境 IDE Server
19. 技术实现 — 两端⼀一致 BrowserTab BrowserWindow Web 渲染环境 通信抽象 IPC WEBSOCKET 服务环境 Docker Container Electron Main(Child Process) IDE Extension IDE Extension IDE Node Server IDE Node Server
20. 技术实现 — 两端⼀一致 Browser 通信抽象 WEBSOCKET IPC Backend Services Terminal Service Extension Runtime Language Server File System Db Storage
21. 技术实现 — 两端⼀一致 Browser Terminal Service Interface Extension Runtime Interface File System Interface Language Service Interface Db Storage Interface 通信抽象 WEBSOCKET Backend Service Suite 1 Terminal Service IPC Backend Service Suite 2 Extension Runtime File System Language Service Backend Service Suite 3 Db Storage
22. 技术实现 • 整体架构 • 两端⼀一致 • 插件扩展设计
23. 技术实现 — 插件扩展设计 Extension Registration name code entry Extension Runtime Extension Registration name code entry Extension Registration name code entry Extension Registry e.g. require(codeEntry)
24. 技术实现 — 插件扩展设计 Browser Context Extension Api Extension Code Extension Code Extension Code Atom Editor 将扩展代码运⾏行行在 Browser 进程中 ⽀支付宝⼩小程序IDE
25. 技术实现 — 插件扩展设计 Core Code Extension Code Extension Code Extension Code Extension Code Extension Code
26. 技术实现 — 插件扩展设计 Core Code Extension Code Extension Code Extension Code Extension Code Extension Code
27. 技术实现 — 插件扩展设计 两端⼀一致 Core Code Extension Code Extension Code Extension Code Extension Code Extension Code
28. 技术实现 — 插件扩展设计 Browser Context Api Server Extension Api Extension Host Extension Code Extension Code 将扩展代码运⾏行行在独⽴立进程中 Extension Code Visual Studio Code
29. 技术实现 — 插件扩展设计 Browser Context Api Server DOM Extension Api Extension Host Extension Code Extension Code 将扩展代码运⾏行行在独⽴立进程中 Extension Code
30. 技术实现 — 插件扩展设计 View Page XML Page XML User Action Set Data Model & Controller Page JS Page JS
31. 技术实现 — UI 扩展定制 UI 组件 Component 1 业务逻辑调⽤用 Component 2 Component 3 Component ⽅方法调⽤用 UI 服务注册隔离(Extension Host) 业务逻辑 扩展 API 调⽤用
32. 技术实现 — UI 扩展定制
33. 技术实现 — UI 扩展定制 React 组件调⽤用 调⽤用 Node 进程中注册的服务 component.tsx extend-node.ts
34. 技术实现 — UI 扩展定制 Node 进程 调⽤用 React 组件 UI 响应⽅方法 component.tsx extend-node.ts
35. 技术实现 — UI 扩展定制 完整示例例 component.tsx extend-node.ts
36. 技术实现 — 插件扩展设计 VSCode 插件市场 KAITIAN EXTENSION VSCode Extension UI Extend 编码体验 业务场景
37. 技术实现 — UI 扩展定制 客户端 Electron Chrome Web 渲染环境 插件 UI 注册 Component 1 Component 2 Component ⽅方法 注册 业务逻辑调⽤用 插件 B UI 注册 插件 C UI 注册 插件 B 服务 插件 C 服务 Component 3 UI 渲染展示 Webwoker / Node 进程 隔离环境 插件 A 服务 扩展能⼒力力 业务逻辑注册 Component ⽅方法 调⽤用 VSCode 插件能⼒力力兼容 插件服务 插件扫描 插件激活 上下⽂文 API 注⼊入 消息通信 配置注⼊入
38. • 新站台: IDE • 技术实现 • 落地实践 • 下⼀一步
39. 落地实践 • ⽀支付宝⼩小程序 IDE • WebIDE 中台
40. 落地实践 — ⽀支付宝⼩小程序 IDE ⼩小程序插件 业务集成 模拟器器 调试器器 账号 编译构建 底层能⼒力力 编辑器器 插件体系 调试预览 终端 资源管理理 …
41. 落地实践 — ⽀支付宝⼩小程序 IDE 标准插件集成 NPM 管理理 模拟器器 调试器器 账号 编译构建 KAITIAN-FRAMEWORK 编辑器器 插件体系 调试预览 终端 资源管理理 …
42. 落地实践 — ⽀支付宝⼩小程序 IDE KAITIAN-FRAMEWORK
43. 落地实践 • ⽀支付宝⼩小程序 IDE • WebIDE 中台
44. 落地实践 — WebIDE 中台 KAITIAN-FRAMEWORK IDE
45. 落地实践 — WebIDE 中台 FAAS 函数 搭建模块 ⼩小程序 中后台 IDE IDE 集成 调度策略略 底层服务 路路由访问 服务集成 平台同步 整体解决⽅方案 域名代理理 内核更更新 数据监控 异常容灾 基础设施 容器器搭建 空间调度 服务部署 KAITIAN-FRAMEWORK 资源管理理
46. 落地实践 — WebIDE 中台 FAAS 函数 搭建模块 ⼩小程序 中后台 服务 SDK 服务管理理 ⼯工作空间 空间⽤用户 代码仓库 业务配置 镜像模板 机器器规格 插件集成 伴⽣生服务 布局配置 定制服务能⼒力力 监控运维 租户管理理 底层能⼒力力 容器器调度 ⽹网络访问 稳定性保障
47. • 新站台: IDE • 技术实现 • 落地实践 • 下⼀一步
48. 落地实践 — 开发者⼯工作平台 2020.03 开发者⼯工作平台
49. 落地实践 — 开源开放 2020.05 插件市场 最佳实践 Web 端⽅方案 本地端⽅方案 插件开发 KAITIAN FRAMEWORK ⽂文档 ⽅方案 示例例 源码
50. Q&A 上坡 吭头

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-29 01:46
浙ICP备14020137号-1 $Carte des visiteurs$