安利国内四个互联网大厂分别开源的低代码引擎
阿里云的LowCodeEngine是一款功能强大、易于使用的低代码引擎,它能够帮助开发者快速构建和定制低代码应用平台。通过其丰富的生态元素、完善的工具链和强大的定制扩展能力,LowCodeEngine在降低开发成本、提高开发效率、灵活扩展等方面具有明显的优势。
网易云音乐团队NetEase/tango
NetEase/tango低代码指的是网易云音乐团队开源的一个低代码引擎,全称为Tango低代码引擎。以下是对NetEase/tango低代码的详细介绍:
一、基本概念与特点
-
基本概念:Tango是一个用于快速构建低代码平台的低代码设计器框架,它基于源代码驱动,允许开发者通过少量代码或无需代码的方式快速构建应用程序。
-
特点:
- 源码驱动:Tango直接读取前端项目的源代码,并以源代码为中心执行和渲染前端视图。用户的搭建操作会转为对代码的修改,实现源码进、源码出的效果。
- 可视化搭建:Tango提供低代码可视化搭建能力,用户可以通过拖拽组件和配置属性来构建页面和应用程序。
- 高效开发:借助Tango,开发者可以大幅提高开发速度,减少工作量,降低技术门槛。
- 灵活扩展:Tango允许开发者在需要时添加自定义代码,进一步扩展应用的功能。
- 无缝集成:Tango构建的低代码工具或平台可以无缝与企业内部现有的研发体系进行集成。
二、技术架构与实现原理
-
技术架构:Tango低代码引擎在设计上进行了分层解耦,使得上层的低代码平台与底层的低代码引擎可以独立开发和维护。同时,Tango定义了一套开放的物料生态体系,开发者可以自由地贡献扩展组件和配置能力。
-
实现原理:
- 源码解析与AST操纵:Tango首先将源代码解析为抽象语法树(AST),用户的搭建操作会转为对AST的遍历和修改。然后,将修改后的AST重新生成为代码,并交给设计器沙箱去渲染执行。
- 沙箱机制:Tango采用了一个独立的沙箱来运行源码,提供可以媲美本地开发的代码运行时。沙箱内部支持直接拉取npm包并运行,通过Babel等工具将ESM和浏览器不支持的新语法转译为CommonJS,模拟了CommonJS的运行环境。
三、应用场景与优势
-
应用场景:Tango低代码引擎适用于多种场景,包括企业内部管理系统(如项目管理、客户关系管理、人力资源系统等)、电商平台和营销团队的活动页面和小程序制作、企业的数字化转型等。
-
优势:
- 提高开发效率:通过低代码开发方式,开发者可以快速构建应用程序,减少重复性工作。
- 降低技术门槛:即使是非专业开发者也能通过可视化搭建工具快速上手开发。
- 灵活扩展:Tango允许开发者在需要时添加自定义代码,满足复杂业务场景的需求。
- 无缝集成:Tango可以无缝与企业内部现有的研发体系进行集成,降低集成成本。
四、开源与社区
- 开源进展:Tango低代码引擎已经正式开源,并在GitHub上发布了代码库和文档站点。社区讨论组也已在GitHub上建立,欢迎开发者加入并参与开源建设。
- 社区支持:Tango提供了良好的社区支持,开发者可以通过GitHub Issues反馈问题或提出建议。同时,Tango团队也会定期发布更新和修复bug,以提供更好的开发体验。
- 开源地址:https://github.com/NetEase/tango
五、使用与部署
- 使用方式:开发者可以通过npm安装Tango低代码引擎,并参考官方文档进行初始化、配置和使用。Tango提供了丰富的API和插件系统,方便开发者进行定制和扩展。
- 部署要求:Tango低代码引擎对开发环境有一定的要求,如Node.js版本、Yarn版本等。同时,Tango也支持在现代浏览器上运行。
综上所述,NetEase/tango低代码是一个功能强大、灵活易用的低代码引擎,它能够帮助开发者快速构建和部署应用程序,降低开发门槛并提高开发效率。
腾讯的TMagic Editor
腾讯的TMagic Editor(通常称为tmagic-editor)是一款由腾讯技术中心出品的开源低代码框架,旨在实现零代码/低代码生成页面,并快速搭建可视化页面生产平台。以下是对TMagic Editor的详细介绍:
一、核心功能
- 零代码/低代码生成页面:通过拖拽和配置的方式,用户无需编写大量代码即可生成H5页面、PC页面、TV页面等,大大降低页面生产成本。
- 所见即所得:采用所见即所得的页面可视化编辑方式,用户可以在编辑器中实时看到页面效果,提高页面搭建的效率。
- 高度可配置:提供丰富的配置选项,用户可以灵活调整页面组件的属性、样式和行为,满足不同页面的定制需求。
- 多框架支持:支持多种前端框架,如Vue2、Vue3、React等,业务可以根据自己的技术栈选择合适的框架进行开发。
- 丰富的组件库:虽然tmagic-editor本身不提供业务组件,但业务可以根据自己的需求开发相应的业务组件,并在多个页面中反复使用。
- 强大的管理端:提供配套的管理端,方便开发者对项目、页面和组件进行统一管理。管理端具有项目列表展示、查询、创建、复制、编辑以及AB TEST配置能力等。
二、技术特点
- DSL(领域特定语言):在保存和发布环节,tmagic-editor会生成DSL文件,描述页面的基本信息、包含的组件信息以及组件间逻辑。
- runtime:tmagic-editor提供了vue2/vue3和react的runtime,作为不同场景下的渲染环境和打包构建载体。
- 插件系统:通过编写插件,可以自定义编辑器的行为,添加新的工具栏按钮,或处理特定的编辑事件,以满足各种高级需求。
- 表单配置:编辑器右面板展示组件的表单选项,用户可以通过配置项来改变组件的行为和样式。
- 容器概念:tmagic-editor通过容器概念实现了丰富的布局方式,容器内的组件可以根据容器的配置行为改变布局。
三、使用场景
- 企业官网:快速搭建企业官网页面,展示企业形象和产品信息。
- 电商平台:搭建商品详情页、购物车、结算页等电商平台页面,提升用户体验和转化率。
- 活动页面:快速生成各类活动页面,如抽奖页面、优惠券页面等,吸引用户参与。
- 内部管理系统:搭建企业内部管理系统页面,如员工信息页、项目管理页等,提高管理效率。
- 物料开发:业务可以根据自己的业务需求,使用不同的前端框架开发相应的业务组件,并在多个页面中反复使用。
四、开源与社区
- 开源地址:TMagic Editor的源代码已开源,并在GitHub上发布了代码库和文档。用户可以访问https://github.com/Tencent/tmagic-editor获取最新的源代码、文档和示例代码。
- 在线体验:TMagic Editor提供了在线文档和在线体验环境,方便用户快速上手和体验其功能。
- 社区支持:用户可以通过GitHub Issues反馈问题或提出建议。同时,腾讯团队也会定期发布更新和修复bug,以提供更好的开发体验。
五、应用案例
TMagic Editor已经广泛应用于腾讯视频会员、爱玩游戏、云视听极光、腾讯会议等十几个腾讯业务中,每月生产和发布数百个页面。这些应用案例充分证明了TMagic Editor在降低页面生产成本、提高页面搭建效率方面的优势。
综上所述,TMagic Editor是一款功能强大、易于使用的开源低代码框架,适用于多种场景下的页面搭建需求。通过其丰富的特性和开箱即用的功能,用户可以快速提升Web应用的开发效率和用户体验。
百度amis
百度amis是一个低代码前端框架,它通过JSON配置来生成页面,极大地简化了前端开发流程,提高了开发效率。以下是对百度amis的详细介绍:
一、amis的核心功能
- 零代码/低代码开发:通过JSON配置文件定义页面的结构、样式和行为,无需或只需少量代码即可快速生成页面。
- 可视化编辑器:提供可视化编辑器,允许开发者通过拖拽组件的方式生成对应的JSON代码,降低了使用门槛。
- 丰富组件库:内置超过120种组件,覆盖大多数业务需求,包括布局、分页、选项卡、导航、表单、表格、富文本编辑器、二维码、文件上传、日历、图表等。
- 多端适配:一套配置适用于Web、移动端等多种平台。
- 扩展性:支持自定义组件,结合低代码和传统编码方式,实现90%低代码+10%代码开发的混合模式。
二、amis的技术特点
- JSON配置:amis的核心理念是通过配置而非编码来实现页面的构建,使得不熟悉前端技术的开发者也能快速上手。
- 动态渲染:可以根据权限和数据状态生成不同的页面,实现灵活的权限控制。
- 高效开发:通过JSON配置生成页面,极大地减少了前端开发的工作量。
- 可维护性:由于页面是通过JSON配置来定义的,因此代码的可读性和可维护性都非常高。
三、amis的使用场景
- 后台管理系统:amis广泛应用于各类后台管理系统,可以快速搭建增删改查页面、数据分析页面等。
- 数据驱动的应用:适用于数据驱动的应用开发,如数据可视化、报表生成等。
- 快速原型开发:开发者可以通过简单的配置快速搭建出功能原型,验证想法的可行性。
四、amis的开源与社区
- 开源地址:amis的源代码已开源,可以在GitHub上https://github.com/baidu/amis获取最新的源代码、文档和示例代码。
- 社区支持:amis拥有活跃的社区支持,开发者可以通过GitHub Issues反馈问题或提出建议,也可以参与amis的开源建设。
五、amis的最新发展动态
- 新功能和新组件:amis团队不断推出新功能和新组件,以满足开发者不断变化的需求。
- 响应式设计支持:加强了响应式设计支持,使得页面可以自适应不同设备和屏幕尺寸。
- 数据交互功能:支持更多的数据交互功能,允许开发者在JSON配置中定义API,并在组件中使用这些API来获取或提交数据。
阿里云的LowCodeEngine
阿里云的LowCodeEngine是由阿里巴巴钉钉团队开源的低代码引擎,旨在帮助开发者快速构建和定制低代码应用平台。以下是对阿里云LowCodeEngine的详细介绍:
一、核心特性
- 面向扩展设计的内核引擎:LowCodeEngine提炼自企业级低代码平台,奉行最小内核、最强生态的设计理念。它提供了强大的定制扩展能力,支持通过插件、设置器、物料等方式进行功能扩展。
- 完善的工具链:LowCodeEngine支持物料体系、设置器、插件等生态元素的全链路研发周期,从设计到部署提供了一套完整的工具链。
- 强大的兼容性:支持主流浏览器,包括Chrome >= 80, Edge >= 80, Safari和Firefox的最新两个版本,确保应用在不同浏览器上的表现一致。
- 丰富的生态元素:开箱即用的高质量生态元素,包括物料体系、设置器、插件等,方便开发者快速构建和部署低代码应用。
二、技术架构
LowCodeEngine的核心架构包括入料、编排、渲染和出码四个模块。这些模块协同工作,使得用户可以通过可视化界面搭建和配置页面和模块,然后将这些配置转换成可执行的代码。
三、使用场景
- 中后台页面:对于注重功能、高效开发、高效迭代的中后台页面,LowCodeEngine提供了强大的支持。通过拖拽组件和配置属性,开发者可以快速构建出符合业务需求的页面。
- 移动端页面:LowCodeEngine同样适用于移动端页面的开发,支持响应式设计,使得页面可以自适应不同设备和屏幕尺寸。
- 流程管理:通过LowCodeEngine,开发者可以快速构建出符合业务需求的流程管理页面,如请假流程、报销流程等。
- 可视化报表:支持生成各类可视化报表,如折线图、柱状图、饼图等,方便开发者进行数据分析和展示。
四、优势
- 提高开发效率:通过LowCodeEngine,开发者可以快速构建出符合业务需求的页面和模块,大大降低了开发成本和时间。
- 降低技术门槛:即使是不熟悉前端技术的开发者,也能通过LowCodeEngine快速上手开发低代码应用。
- 灵活扩展:LowCodeEngine提供了强大的定制扩展能力,支持通过插件、设置器、物料等方式进行功能扩展,满足复杂业务场景的需求。
- 良好的生态支持:LowCodeEngine拥有活跃的社区支持和官方文档,方便开发者在使用过程中获取帮助和资源。
五、案例
钉钉宜搭是阿里巴巴自研的低代码应用开发平台,它基于LowCodeEngine构建而成。通过钉钉宜搭,用户可以快速构建出符合业务需求的低代码应用,如CRM系统、ERP系统等。此外,阿里巴巴还推出了Parts造物等低代码物料管理、物料集成、物料研发的产品,进一步丰富了LowCodeEngine的生态体系。
六、开源与社区
LowCodeEngine的源代码已开源,并在GitHub上GitHub - alibaba/lowcode-engine: An enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系发布了代码库和文档。开发者可以通过GitHub获取最新的源代码、文档和示例代码,并参与开源建设。同时,LowCodeEngine拥有活跃的社区支持,开发者可以通过GitHub Issues反馈问题或提出建议。
七、总结
阿里云的LowCodeEngine是一款功能强大、易于使用的低代码引擎,它能够帮助开发者快速构建和定制低代码应用平台。通过其丰富的生态元素、完善的工具链和强大的定制扩展能力,LowCodeEngine在降低开发成本、提高开发效率、灵活扩展等方面具有明显的优势。
更多推荐
所有评论(0)