OneCode 一路走来

简介: OneCode 第一个版本,以V5版本的引擎为核心,将平台全部600余组件的2/3贡献到社区版本,同时为方便大家构建自身的工程体系,还会同步开源 OneCode V3版本的支持环境VFS(JAVA开发)虚拟存储系统,以及配合V3 部署使用的 OneCode Server 和相关的部署管理插件。V4及V5部分由于其技术成熟度以及商业层面的考虑暂时不能在当前版本中发布,但为了方便大家自定义组件测试以及开发插件需求,我们将推出JDSCloud 的在线开发与编译功能。大家可在线使用一码通编辑器来编写和测试插件程序,测试完毕编译打包下载即可。

      有幸跟处于头部位置的几家低代码企业技术负责人在聊天,低代码从最初的一个RAD(单页模型)到大前端,工程化,再到企业中台PAAS应用。直到现在的云原生嵌入式引擎技术,低代码技术一直冲在技术潮流的第一浪头。

开源地址:wenzhang/ocstudio

在线演示地址: http://demo.raddev.cn:9080/RAD/DSMdsm/projectManager

OneCode开源低代码引擎332 播放 · 0 赞同视频

回过头来看OneCode的经历,五个版本的迭代。

一,V1.0 SPA单页应用



编辑切换为居中

第一个表单SPA应用


不管是现在大名鼎鼎的React还是国内风光一时的VUE,在1.0的哪个时代都在应用同一个概念 “SPA单页应用程序”。

百度百科对SPA 是这样定义的:

单页Web应用(single page web application,SPA),就是只有一张Web页面的应用。单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。

   同时还有一个更为大家的熟知的概念 MVVM开发模式(前后端分离),即前后端各负其责。OneCode 1.0 也出生在这个年代,CodeBee团队在多年工作流表单设计器的经验基础上。废弃了旧有的ext模板渲染模式,将组件进行全新的SPA模式封装。同时构建了第一批OneCode 前后端一体的组件模型。在原有的技术体系框架中,逐步替换流程列表,表单应用。

二,V2.0 低代码引擎雏形,全站拖动计划

   SPA的改造并不是一帆风顺的,在改造的过程中,团队无法适应前后端分离开发,前段组件构建的时候灵活度太差无法适应用户需求等等问题,一次次让产品的模型在新旧模型间不断转换,永远都存在无法消灭的最后一个“模板应用”。但随着团队的技术进步,产品上线后SPA在应用上带来的新技术体验,让OneCode 1.0逐步的向主流的Vue ,React靠拢。团队的技术欲望也不再满足于自定义表单,列表这样单一的应用。要支持全栈可定制,支持全栈可拖拽,D&D(技术小伙伴们应该都能看懂)计划启动乘风而上。

至此,OneCode在2.0 中实现了第一个基于SPA的D&D,也有了D&D的梦想

三,V3.0 Python,PHP哪个是最好学的语言? 都不是, 是D&D!

OneCode3.0 最是风光,全站D&D,但飞的越高摔得越狠,去年5月份阿里团队发布了开源低代引擎“OneCodeEngine”,在开源的社区里讨论最热闹的话题之一是如何构建一个多页的应用。阿里官方的小伙伴甚至还专门为这一个话题发布了两期视频专题讲解扩展插件开发。

     由一个单页应用扩展到多页应用,表面上只是一个存储文件的API操作。但实质上却是技术原理上本源上的跳跃,单页应用时所有应用都在一个环境内,可以直接调用,而相关的可视化读取也是静态结构。但如果是多页应用这就会面临很多的问题,跨页调用时可能新的页面还没有加载,更无从读取其函数列表及对象结构,可视化就被无形中中断。页面加载上了还必须考虑到新的界面可能由不同的团队开发的,在结构上甚至是全局变量命名空间上都会冲突。而将多页扩展到整个项目工程时,多达几百个页面不同的层次的加载关系。就使得复杂度产生了数量级的跳跃。


编辑切换为居中

3.0版本开启多页工程化应用



    OneCode2.0架构出现了致命的缺陷, OneCode3.0临危受命。工程结构树形结构及系统开发需求,直接催生了后端的 OneCode-VFS共享存储体系支撑。多页面,多层级页面迫使SPA采用了支持package结构前端类结构体,而页应用也必须支持独立而严谨的装载机制。JavaScript单页环境这个小魔鬼也被关在了单页类结构这个沙箱里,多个SPA终于可以相互照应和平相处了。

四,V4.0 OneCode 超级大前端直面API

   3.0是幸运的,整个结构性的创新和变革,使得那个“D&D”产品梦想能够继续,开始实战,一个D&D“超级前端”程序员,在项目产品经理的领导下,快速而漂亮的完成了前端第一版原型,D&D在丰富组件库的支持下,初步显示了其快做,快改,快上的特点。但眼见为实还是无法避免,组件拖动组合的硬伤,界面结构复杂,数据应用交互命名错乱,数据结构臃肿缺少体系性结构性的梳理,让后期才逐步介入的后端团队差点陷入崩溃的边缘。

    前后端分离,先前端再后端的 view first (视图优先)模式,很快就破产。后端团队开始了全新的API设计,在业务相对定型前端结构初步完成时,后端API设计,其集约型严谨性得到了大幅的提升与之配套的文档以及测试用例也是应有尽有,后端团队出色的验证了code first(代码优先)所特有的模型建设优势。

  皮球成功踢给了这个前端。前后端“颜色的战争”拉开了帷幕,接口参数命名规范,业务逻辑调转调用顺序改变、特有应用前后交互... 在一次次的开会、文档交互中将两只大军陷入了书山会海。

   D&D 真的只是梦想吗?不!  CodeBee团队在困难面前是从来都不会退缩,V4版本在多个项目产品的前后端分分合合中逐渐归一。

    后端为可视化应用逐步增加了,接口参数说明、组件绑定描述、事件回调支持等多种可被图形注解描述(可被前端直接图形化的注解),这样在前端可以在后端更新新接口信息,及参数时可以动态通知用户,并提供基础的参数校验。前端也进一步将组件化拆分为事件、动作、组件、属性等等,序列化后给后端应用。方便后端应用在权限拦截,页面与编译,公式执行等多个方面充分发挥其优势。Module 模型应用 DSM建模工具 也在产品经理的极力推荐护航下启程上马。

    DSM除了在前端实现了标准化组件定义外,还通过领域模型将二者打通。这样在前端组件建模时便可以直接调用后端服务模型完成数据部分API构建。而DSM模型工具也可以在后端建模时直接读取前端组件属性,打通前端动作与后端服务的通讯能力。

  DSM作为D&D新成员很快也得到了大家的认同。


编辑切换为居中

视图设计器通过,后端模型绑定插件快速选定后端Agg聚合服务模型接口,配置页面快速绑定前后台交互



编辑切换为居中

后端DSM建模通过视图模型扩展直接修改操作,前端组件模型


五, V5 OneCodeEngine 赋能低代码

    V5 版本,OneCode 进入了一个全新的时代,长达将近2年的封闭研发,彻底剥离清除项目痕迹,针对600余中前端组件进行全面的标准化重构。全面改写OneCode 服务端,将OneCode注解体系直接扩展扩展至Dom原生支持。针对600余种组件常量常见动作梳理出完整的枚举结构图,在此基础上与DSM模型进行了深度整合。并确定其核心价值:

*OneCode是一款构建在真实代码之上的图形化编程系统

*OneCode 是一款具有全站组件支持能力全面标准开放全栈低代码应用支撑系统

*OneCode 是一款以领域模型(DDD)为指导,以Java为基础语言的特定领域(DSM)模型构建系统

OneCodeEngine 呼之而出!

全线的辅助验证管理工具也全线登场。

   首先是,全系列管理端工具插件的V5重构验证。工具类应用本身就是非常复杂的界面组合,而将这些界面功能以高集约的方式展现在Web环境上时还有全面的保留其D&D的特性,在性能响应上也要能够满足开发者高频的使用。这对于底层引擎而言是非常严苛的考验。OneCode家族一个新的成员OneCodeStudio 来到大家的面前。OneCodeStudio本身也是一个低代码工程,但这个工程将所有的管理端界面以及插件工具纳入管理范围,并且从底层解构,为插件及管理工具开发者提供了一套完整的仿真调试工具,方便对平台的扩展。 至此OneCode 本身完成了低码应用重构。同时也很好的验证了,低码本身在复杂应用中的适应性。

OneCode Studio工具集合


六, 开源工程支持范围以及OneCode (JDSCloud 智能云)

  自从阿里去年4月份开源其“LowCodeEngine” 低代码引擎以来,CodeBee团队就在筹划开源版本的建设,在JDSCloud初步第一个版本初步测试完毕的空档,决定在近期发布第一个OneCode开源版本。

OneCode 开源范围及功能:

OneCode 第一个版本,以V5版本的引擎为核心,将平台全部600余组件的2/3贡献到社区版本,同时为方便大家构建自身的工程体系,还会同步开源 OneCode V3版本的支持环境VFS(JAVA开发)虚拟存储系统,以及配合V3 部署使用的 OneCode Server 和相关的部署管理插件。

V4及V5部分由于其技术成熟度以及商业层面的考虑暂时不能在当前版本中发布,但为了方便大家自定义组件测试以及开发插件需求,我们将推出JDSCloud 的在线开发与编译功能。大家可在线使用一码通编辑器来编写和测试插件程序,测试完毕编译打包下载即可。


一码通在线编辑器



七, 开源版本未来计划

OneCode 从一开始就是站在巨人的肩膀上的。每一步的前行都离不开开源社区的滋养,特别是来自于Java体系的开源小伙伴们,OneCode最终的归宿也将是全部回馈社区,这是CodeBee团队所有成员的最终愿景。

作为回馈社区的第一步,我们将尽心最大的努力积极参与社区的版本建设,为社区提供持续并稳定的技术支持。

作为低代码开源社区的一员,OneCode 也将积极参与社区的标准化建设。在下一版本中,OneCode 会将最大程度兼容社区老大哥阿里“LowCodeEngin”,并适时优先推出OneCode for 阿里“LowCodeEngin”,在组件及物料跨平台通用方面迈出坚实的一步。

OneCode集群版设计的内容以及技术难度也会更大,但OneCode 依然会采用开放开源的策略。

预计,开放时间表

服务名称 服务介绍 预计开放时间 开放协议
onecode-iot onecode物联网套件 2023年4月份(已开放) MIT
onecode-vfs onecode 文件代码管理服务 2023年第二季度 MIT
onecode-bpm onecode 流程管理服务 2023年第二季度 GPL
onecode-jmq onecode 消息服务 2023年第二,三季度 GPL


相关文章
|
网络协议 Windows
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
这篇文章提供了解决IDEA插件下载慢或超时问题的方案,通过查找国内插件节点IP地址并修改本地hosts文件来加速下载。
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
|
微服务 测试技术 Java
阿里技术专家详解 DDD 系列- Domain Primitive
关于DDD的一系列文章,希望能继续在总结前人的基础上发扬光大DDD的思想,但是通过一套我认为合理的代码结构、框架和约束,来降低DDD的实践门槛,提升代码质量、可测试性、安全性、健壮性。
62249 17
阿里技术专家详解 DDD 系列- Domain Primitive
|
存储 Java API
阿里高级技术专家谈开源DDD框架:COLA4.1,分离架构和组件(下)
阿里高级技术专家谈开源DDD框架:COLA4.1,分离架构和组件(下)
11422 8
阿里高级技术专家谈开源DDD框架:COLA4.1,分离架构和组件(下)
|
消息中间件 存储 NoSQL
一文读懂Kafka Connect核心概念
Kafka Connect 是一种用于在 Apache Kafka 和其他系统之间可扩展且可靠地流式传输数据的工具。 它使快速定义将大量数据移入和移出 Kafka 的连接器变得简单。 Kafka Connect 可以摄取整个数据库或从所有应用程序服务器收集指标到 Kafka 主题中,使数据可用于低延迟的流处理。 导出作业可以将数据从 Kafka 主题传送到二级存储和查询系统或批处理系统进行离线分析。
|
9月前
|
人工智能 自然语言处理 数据可视化
OneCode 接入 DeepSeek:开启代码开发新纪元
OneCode 接入 DeepSeek,带来自然语言聊天式基础建模、本地代码工程无缝结合、图生代码功能全线升级及 AI 模型代码直接导入等新特性,极大提升开发效率与体验。预计第二季度推出开源版本,进一步推动开发者社区的开放与创新。这些改进使开发更加高效、便捷和智能,助力代码开发进入新纪元。
|
4月前
|
数据可视化 IDE Java
OneCode图生代码技术深度解析:从可视化设计到注解驱动实现的全链路架构
OneCode图生代码技术通过可视化设计与Java注解驱动,实现UI到代码的高效转换,支持设计即开发、组件复用与动态加载,提升企业应用开发效率与协作能力。
OneCode图生代码技术深度解析:从可视化设计到注解驱动实现的全链路架构
|
6月前
|
人工智能 Java 程序员
JManus - 面向 Java 开发者的开源通用智能体
JManus 是一个以 Java 为核心、完全开源的 OpenManus 实现,隶属于 Spring AI Alibaba 项目。它旨在让 Java 程序员更便捷地使用 AI 技术,支持多 Agent 框架、网页配置 Agent、MCP 协议和 PLAN-ACT 模式。项目在 GitHub 上已获近 3k star,可集成多个大模型如 Claude 3.5 和 Qwen3。开发者可通过 IDE 或 Maven 快速运行项目,体验智能问答与工具调用功能。欢迎参与开源共建,推动通用 AI Agent 框架发展。
10177 65
|
6月前
|
人工智能 开发框架 前端开发
斩获3K+ star,再见传统开发!这款开源AI后台开发框架让效率提升300%
ruoyi-ai 是基于 ruoyi-plus 框架开发的开源 AI 平台,集成 ChatGPT4、DALL·E-3 和 MidJourney 等前沿模型,提供聊天、绘画、语音克隆等全栈式 AI 能力。其核心价值在于多模态交互与企业级部署支持,开发者可快速搭建智能应用,个人用户亦能轻松体验 AI 创作魅力。项目支持自定义知识库训练、AI 绘画生成、语音克隆、弹幕互动等功能,采用 Java17+SpringBoot3.X 技术栈,前后端分离设计,具备高效性能与扩展性。相比同类项目,ruoyi-ai 提供更丰富的功能组合和企业级管理能力,适用于多种场景需求。
864 3
|
7月前
|
机器学习/深度学习 JSON 监控
国内最大的MCP中文社区来了,4000多个服务等你体验
国内最大的MCP中文社区MCPServers来了!平台汇聚4000多个服务资源,涵盖娱乐、监控、云平台等多个领域,为开发者提供一站式技术支持。不仅有丰富的中文学习资料,还有详细的实战教程,如一键接入MCP天气服务等。MCPServers专注模块稳定性和实用性,经过99.99% SLA认证,是高效开发的理想选择。立即访问mcpservers.cn,开启你的开发之旅!
10569 16