乐趣区

关于前端:网易云音乐-Tango-低代码引擎正式开源

📝 Tango 简介

Tango 是一个用于疾速构建低代码平台的低代码设计器框架,借助 Tango 只须要数行代码就能够实现一个根本的低代码平台前端零碎的搭建。Tango 低代码设计器间接读取前端我的项目的源代码,并以源代码为核心,执行和渲染前端视图,并为用户提供低代码可视化搭建能力,用户的搭建操作会转为对源代码的批改。借助于 Tango 构建的低代码工具或平台,能够实现 源码进,源码出的成果,无缝与企业外部现有的研发体系进行集成。

如上图所示,Tango 低代码引擎反对可视化视图与源码双向同步,双向互转,为开发者提供 LowCode+ ProCode 无缝连接的开发体验。

✨ 外围个性

  • 经验网易云音乐内网生产环境的理论测验,可灵便集成利用于低代码平台,本地开发工具等
  • 基于源码 AST 驱动,自私有 DSL 和协定
  • 提供实时出码能力,反对源码进,源码出
  • 开箱即用的前端低代码设计器,提供灵便易用的设计器 React 组件
  • 应用 TypeScript 开发,提供残缺的类型定义文件

🏗️ 基于源码的低代码搭建计划

Tango 低代码引擎不依赖公有搭建协定和 DSL,而是间接应用源代码驱动,引擎外部将源码转为 AST,用户的所有的搭建操作转为对 AST 的遍历和批改,进而将 AST 从新生成为代码,将代码同步给在线沙箱执行。与传统的 基于 Schema 驱动的低代码计划 相比,不受公有 DSL 和协定的限度,可能完满的实现低代码搭建与源码开发的无缝集成。

<img src=”https://p5.music.126.net/obj/wonDlsKUwrLClGjCm8Kx/13140534982/ee2e/f42c/cc9a/184e2918a011b57d46e6c64a2722fa44.png” />

📄 源码进,源码出

因为引擎内核齐全基于源代码驱动实现,Tango 低代码引擎可能实现源代码进,源代码出的可视化搭建能力,不提供任何公有的两头产物。如果公司外部曾经有了一套欠缺的研发体系(代码托管、构建、部署、CDN),那么能够间接应用 Tango 低代码引擎与现有的服务集成构建低代码开发平台。

🏆 产品劣势

与基于公有 Schema 的低代码搭建计划相比,Tango 低代码引擎具备如下劣势:

比照项 基于 Schema 的低代码搭建计划 Tango(基于源码 AST 转换)
实用场景 面向特定的垂直搭建场景,例如表单,营销页面等 🔥 面面向以源码为核心的利用搭建场景
语言能力 依赖公有协定扩大,不灵便,且难以与编程语言能力对齐 🔥 间接基于 JavaScript 语言,能够应用所有的语言个性,不存在扩展性问题
开发能力 LowCode 🔥 LowCode + ProCode
源码导出 以 Schema 为核心,单向出码,不可逆 🔥 以源码为核心,双向转码
自定义依赖 须要依据公有协定扩大封装,定制老本高 🔥 原有组件能够无缝低成本接入
集成研发设施 定制老本高,须要额定定制 🔥 低成本接入,能够间接复用原有的部署公布能力

📐 技术架构

Tango 低代码引擎在实现上进行了分层解藕,使得下层的低代码平台与底层的低代码引擎能够独立开发和保护,疾速集成部署。此外,Tango 低代码引擎定义了一套凋谢的物料生态体系,开发者能够自在的奉献扩大组件配置能力的属性设置器,以及扩大低代码物料的二方三方业务组件。

具体的技术架构如下图所示:

⏰ 开源里程碑

Tango 低代码引擎是网易云音乐外部低代码平台的外围构件,开源波及到大量的外围逻辑解藕的工作,这将给咱们失常的工作带来大量的额定工作,因而咱们打算分阶段推动 Tango 低代码引擎的开源事项。

  1. 明天咱们正式公布 Tango 低代码引擎的第一个社区版本,该版本将会包含 Tango 低代码引擎的外围代码库,TangoBoot 利用框架,以及基于 antd v4 适配的低代码组件库。
  2. 咱们打算在往年的 9 月 30 日 公布低代码引擎的 1.0 Beta 版本,该版本将会对外围的实现面向社区场景重构,移除掉咱们在云音乐外部的一些兼容代码,并将外围的实现进行重构和优化。
  3. 咱们打算在往年的 10 月 30 日 公布低代码引擎的 1.0 RC 版本,该版本将会保障外围 API 根本稳固,不再产生 BREAKING CHANGE,同时咱们将会提供欠缺翔实的开发指南、部署文档、和演示利用。
  4. 正式版 本咱们将在 2023 年 Q4 完结前 公布,届时咱们会进一步欠缺咱们的开源社区经营机制。

🤝 社区建设

咱们的开源工作正在踊跃推动中,能够通过如下的信息理解到咱们的最新进展:

  • Github 仓库:https://github.com/NetEase/tango
  • 文档站点:https://netease.github.io/tango/

欢送大家退出到咱们的社区中来,一起参加到 Tango 低代码引擎的开源建设中来。有任何问题都能够通过 Github Issues 反馈给咱们,咱们会及时跟进解决。

💗 致谢

感激网易云音乐公共技术团队,大前端团队,直播技术团队,以及所有参加过 Tango 我的项目的同学们。

感激 CodeSandbox 提供的 Sandpack 我的项目,为 Tango 提供了弱小的基于浏览器的代码构建与执行能力。

本文公布自网易云音乐技术团队,文章未经受权禁止任何模式的转载。咱们长年招收各类技术岗位,如果你筹备换工作,又恰好喜爱云音乐,那就退出咱们 grp.music-fe(at)corp.netease.com!

退出移动版