低代码能开发复杂的企业应用吗?

现阶段业界许多人觉得低代码搞不定复杂的企业应用。有些人觉得低代码只适宜拿来做“简易的工作流和表格运转的应用”或“大中型应用手机软件的功能拓宽的开发”,而“不宜开发复杂逻辑性的主要业务流程”,但并沒有说为什么。也有的人觉得低代码只合适“自主创新探寻类”、“生命期短的”等应用,但一样沒有得出根据。相近的观点还许多,但都是有一个共同点,就是只说低代码不行,不解释,并且许多情况下还把话说得直戳了当。

低代码

企业应用听起来高端大气,但实际上有几十年历史了,能有多复杂呢?页面无需很时尚,无需扛上百万高并发,也没智能强烈推荐啥的高級优化算法,实际上从软件开发角度观察企业应用是相对比较简单的。企业应用复杂主要是领域模型和工作流程较为复杂,但过去文我们可以见到,低代码平台在设计和思维层面的水平全是非常全方位的,再根据开发语言、对外开放集成化等拓展体制,针对不方便低代码完成的地区,能够和技术专业代码开发合作完成。因此用低代码开发复杂应用,实质上没什么问题。

曾有文章内容把企业应用的复杂性溶解为数据信息、管理权限、步骤、优化算法、集成化、表格等六个层面,随后逐一得出解决计划方案。这才算是求真务实的心态。我坚信任何人只要是没有成见,详细分析的,都是会发觉企业应用并沒有什么复杂性是低代码一定搞不懂的。

并且用低代码平台开发这类应用,也有很多与众不同优点,如开发工作人员上手简单(大家的經驗是个把月就能用的很溜过),开发效率高,有利于业务员和开发中间的沟通交流(由于逻辑性大多数是数据可视化的),不易产生荒岛(因为专业的低代码平台默认设置便会依据模式转化成 API)。OutSystems 在其站点上刻意指出:

OutSystems is well-equipped to build ERP and similar large, complex systems with the desired performance and scalability.

OutSystems 也是有一些这些方面的实例,做供应链管理、CRM、ERP 的都是有。OutSystems 创立于 2001 年,那时不开发企业应用开发什么呢?

但也许很多人要说,OutSystems 做为生产商自然这么宣传,但现阶段用低代码开发复杂企业应用的确很少啊。没有错,但我觉得这仅仅是时间问题。

最先,低代码技术做到完善模式的时间段并不久,就算是 OutSystems。OutSystems 尽管都创立 20 年了,但低代码表层看起来简易,实际上是一个非常复杂的技术管理体系,身后涉及到关键的计算机语言方面的设计方案,例如 DSL、种类系统、泛型这些,也有怎么 diff、debug、undo,都不易。此外低代码平台还必须持续追逐这 20 年转变很大的技术自然环境。20 年以前是 C / S、.Net,之后时兴 B / S、Java,再随后又得搞 App,实际操作系统从 Windows 变为 Linux,如今又遭遇从 SOA 到微服务架构的转型发展。

OutSystems 的主任工程师 曾讲解过 20 年以来 OutSystems 的发展,能够看到 OutSystems 一边一直到补功能,直至 2014 年的 9.0 版本支持数据信息汇聚解决才算非常详细,另一边一直在勤奋追逐技术发展趋势,直至 2016 年的 10.0 版本一口气发布 Client-Side Logic、Local Storage、多线程、Reactive 等功能才算对移动 App 有不错的支持。这东西不是做不清楚,一做吓一跳,我们都是干了轻舟低代码才知道这个东西难以。

更主要的很有可能是是非非技术要素。绝大多数公司对 CRM、ERP 的订制需求还没有那么高,对比用低代码从头开始开发而言,选用 Saleforce、SAP 那样的套服软件实施,再做一些二次开发是更适合的选择。这也表述了为什么 Saleforce、ServiceNow 那样的 SaaS 大佬都是有自身的低代码平台,而西门子PLC会回收 Mendix。此外 ERP 那样的公司软件实施强依靠资询工作经验,这不是低代码能解决的,而业界有工作经验的顾问显而易见更了解 SAP 那样的产品,都没有意向更改。技术专业程序猿对低代码排斥也特别大,千辛万苦练出一身武功,用了低代码仿佛都没有用了?业界越发宣传策划用低代码开发快几倍,开发精英团队很有可能越排斥。

总而言之,业界总说低代码不可以做 CRM、ERP 这类复杂的企业应用,这一观点很多人讲,但也没有依据。从技术基本原理考虑,低代码最适合做的刚好是企业应用。现阶段用低代码做复杂企业级应用的 case 还没有许多,是由于低代码技术也就刚完善没多久、订制需求还不够强(套装软件能达到)或是领域不肯做,并不可以表明它做不来。