大致来探讨下低代码及目前低代码的现状与发展吧。
低代码(Low-Code)就是应用新技术、新思想、新的软件架构、新的设计方法打造一个软件定制平台,来实现相对较低的代码编写而实现软件应用需求的目的,其目的就是要降低软件应用定制的开发难度、加快软件应用定制的进度等来实现软件应用的快速定制,最终降低软件开发的成本。产生这一趋势的原因一方面是软件个性化定制需求旺盛,另一方面就是软件目前定制开发难度高、周期长、成本高、个性化定制能力差等多方面的原因。
虽说目前低代码快速开发平台不少,但大多是模块预定制、存储过程预定制之类先定制些功能模块单元,然后通过可视化编辑或者少量代码来实现功能单元的调用,对于标准化、成熟、简单的功能应用问题会少些,但涉及到复杂的以及新的功能应用还是要依耐平台提供商开发新的功能单元来支持的,自然周期费用就不大能得到保证。另外很多低代码平台就用个内嵌个webview实现客户端,用html方式来定制应用,在设备参差不齐的设备上浏览器版本兼容暴雷的事并不少见,运行缓慢且与硬件交互差,体验自然不好,显然这些并不是程序员、软件开发人员所想要的。
应用的个性化定制是个老大难的问题,要不然不会有那么多的低代码平台出来,但在3UCS团队看来,这些只是预制模块的低代码拼接并不能解决个性化定制的实际问题,在这种封闭的平台里,新的功能模块、存储过程都得仰仗平台供应商的后续,局限性太大,对于复杂应用更是难委以重任,简单的可视化勉强用用还行。
另外应用代码在PC、手机、网页平台上的兼容适用也是个大问题,往往需要为应用单独开发手机客户端什么的。
还有一个特别大的问题,一个手机客户端动不动占存储内存数百兆甚至几个G,运行内存也是数百兆起步,手机能装多少个APP?能同时运行多少个APP?要么手机卡的要命,要么干掉一些应用,手机APP的性能越来越成为问题!
而真正要灵活而不受限(自己可定制模块功能单元等,逻辑自行定义等,界面布局自行定制)的原子级的应用定制低代码平台并不多,做到像xPlus(3UCS)那样支持原生手机客户端、PC客户端、网页版的更少,目前好像低代码平台中也就xPlus可以定制ERP之类复杂应用,因为它可以不提供任何开发好诸如CRM、ERP的模块什么的,比如可以任何数据表结构自行定制应用(可以自动生成),其工程师花费不足3月参考某头部ERP成功定制3UCS ERP(XBS),在工业互联网、RPA等都有应用,http://Github.com/dspflash上还开源着。可参见文章"bizfree:分分钟快速定制您的专属个性化软件应用"。
而要打造个优秀的低代码平台,我觉得3UCS的做法是值得参考的,3UCS在打造xPlus考虑了很多方案,最后确定了几点:
1、重新定义一组业务语言规范,便诞生了BizXML,用XML描述业务应用的界面、逻辑、流程等;
2、C/S架构为主,同时支持B/S模式,于是原生设计PC客户端引擎、手机客户端引擎、网页服务引擎,为保证高性能,这三类引擎内核全C++开发并使用同一套代码,UI部分参考不同平台特性单独设计:Windows、linux界面渲染与交互使用C++、Android使用Java、IOS使用Obj-c、web使应CGI(C++开发),服务端使用C++。事实上各平台的执行程序都只有几M,低资源耗消高效;
3、各组件为不同平台解释执行通用的BizXML代码。简单的讲可以理解BizXML 类似于html,浏览器载入解析html,xPlus的PC、手机客户端、web服务引擎载入解析执行BizXML。你可能会问那为什么就不直接用html,webview?这种方式大家用的少吗?凸显的问题还不够么?xPlus平台是想打造一个轻量级的高性能5S软件平台,这一点您可以参看下:5S软件就是将软件应用全维度简单化的软件系统;
4、为了应用定制更简单,推出了xLogic,尽可能减少if-else之类的代码编写而是可视化表格编辑;
5、推出BizTool,开发者可以打开数据表结构,稍作配置就可以生存应用(电脑客户端、手机客户端都可以操作),可参见:分分钟快速定制您的专属个性化软件应用——BizTool自动化工具简介;
6、PC客户端XOne提供开发者模式,直接定位界面、逻辑代码,在线编辑修改更新执行。
完整的关于xPlus的技术可参看:让软件飞——“X+”技术揭秘