不同的低代码平台页面可视化大多采用类似的技术原理,即使用JSON或者XML格式的元数据来描述前端组件的属性和页面布局。
页面的可视化设计,可以追溯到上个世纪九十年代,随着微软的Visual Basic的火热,传统编码开发领域涌现了大量可视化开发工具。时至今日,很多开发者提及可视化开发时,第一反应还是那个时代的Visual Basic、Visual C++、PowerBuilder等开发工具。
开发者通过拖拽的方式摆放控件和设计页面,开发工具则自动生成可执行的程序代码。在应用程序运行时,这些程序代码会被调用,逐步还原和展示开发者设计的界面。
随着技术的发展,解析引擎的技术方案逐步出现。Windows平台上出现了WPF技术,开发者通过可视化设计的页面,不再转换为顺序执行的程序语言代码,而是描述最终现实结果的标记型语言代码,这样可以给开发者更多的发挥空间,可以设计出更丰富界面和交互效果,工作成果质量也更加稳定。与之对应的代价则是相比可执行的程序代码,多了一个解析引擎,这会带来额外的性能开销。但是在终端性能过剩的当下,这点性能开销不值一提。在这样的背景下,新诞生的低代码平台,大多数选择了元数据解析引擎的技术方案。界面和交互开发也从生成程序代码转向了生成元数据的道路。
绝大多数的低代码开发平台都诞生于2010年之后,这也导致了低代码平台在页面层的技术原理大同小异。
元数据不是HTML。低代码厂商为了帮助开发者提升开发效率,提供了大量的组件,这些组件基于HTML,但是封装的粒度更大。例如:将具有增删改查功能的“表格”作为一个组件,开发者在页面设计器上添加一个表格,就可以得到数据展示、分页、列头过滤、导出Excel等功能。
随着Web前端技术的发展,前后端分离的技术方案在很大程度上提升了开发效率,为了应对个性化场景的需求,部分低代码平台也支持生成前端可执行代码的方案。
生成代码依赖的不是解析引擎,而是前端开发框架。前端框架更新换代速度也非常快,2015年时前端框架和现在有着巨大的区别:
Vue 版本还是1,现在已经到了版本3,不向下兼容;
Angular 版本还是1,现在已经到了版本18,不向下兼容;
React 虽然整体用法没有变化,但是有大量细节不向下兼容。
开发框架的这种不向下完全兼容更新迭代,为后期应用升级带来了不小的障碍。同时将开发者陷入两难的境地,要么不对开发框架进行升级,不使用开发框架新的特性,遇到相对底层的问题,自行解决,要么升级开发框架,并投入大量的时间精力对原来的工作成果进行兼容性适配。
元数据解析引擎的技术方案虽然很多也依赖前端开发框架,但是当对前端开发框架进行升级时,只需要升级解析引擎即可,不需要对工作成果进行调整,不影响已经投入使用的应用系统。解析引擎的技术方案也有弊端,那就是对解析引擎的研发团队技术要求较高。
生产代码的技术方案的另外一个弊端是,如果开发者修改了生成之后的代码,就很难再同步回可视化设计器,修改之后的代码,设计器无法识别。这样一来,可视化设计器就沦为了“一次性”代码生成工具。这一点在前面的文章也有提及:元数据驱动低代码系统的革命:未来已来。而解析引擎的技术方案没有此类问题。
从迭代升级和维护成本的角度考虑,元数据解析引擎的技术方案,更能成为未来低代码开发平台主流方向。
如果您觉得本文对您有用,建议收藏;
如果您觉得对您的朋友有帮助,请分享给他们;
如果您能点个赞,那就是对作者最大的支持。
领取专属 10元无门槛券
私享最新 技术干货