一文快速了解低代码平台
前言
今年来低代码平台大火,我自己也查找了一些相关的资料,按照自己的理解做一个简单的梳理,参考文章:低代码,要怎么低?
什么是低代码
使用可视化平台开发的应用,目的在于减少代码量甚至无代码开发。这类平台有多种形式:
有的只简化前端开发,可以做到不用写 JavaScript;(事实上用的很少,因为一般的前端团队都会使用JS)
有的只简化后端开发,可以在线设计数据结构,并实现增删改查功能;
有的彻底简化前后端开发,甚至变成无代码平台,什么都可视化编辑,但牺牲了灵活性。
能解决什么问题
首先说软件开发都需要解决什么问题。
软件开发的任务分为两种
根本任务:打造构成抽象软件实体的复杂概念结构。
次要任务:打造构成抽象软件实体的复杂概念结构。
根本任务
指需求本身,包含算法的设计,次要任务
指具体这个算法用什么编程语言来实现。
其中低代码平台主要解决次要任务
,即用更简化的方式来实现同样的功能。
它解决次要任务的方式
有:
- 提供一种简化的 DSL,类似 Excel 里的公式。 (只能实现简单逻辑)
- 提供图形化代码编辑器。 (很多低代码平台采用这种方式)
- 支持写代码或外部 api 来扩展。 (排名靠前的低代码平台都有)
- 平台内置实现,比如前面提到的个人所得税,平台可以内置一个专门算这个的函数。
适合用在什么地方
目前看来最适合的场景是面向企业内部员工的应用,也就是企业内部的各种系统及平台。
虽然也有面向对外应用的低代码平台,比如创建移动 APP,但这种只有小公司才会用,因为对外应用一般是公司主营业务,需要很高的自主可控性,而且定制需求多,对展现的要求也很高,没法复用低代码平台中的组件,只能通过自定义代码扩展,但如果大量使用代码扩展就还不如完全自己开发了。
使用低代码平台带来的问题
尽管低代码平台能明显提升效率,但它也会带来新的问题,比如扩展性、难以支持复杂场景、性能等问题,但在我看来最大的问题是平台锁定,许多问题都是这点带来的:
-
平台使用自己内部独立的框架,需要额外的学习成本。
-
平台是个黑盒,不清楚内部如何实现,遇到 bug、性能等问题只能求助官方。如果有的需求不能满足,需要等平台的排期升级。
-
信息分布在各处,不像本地代码那样方便全局搜索,对于不熟悉的新人往往得在各个界面里找半天,而且是功能越强大的平台越难找。
-
不方便多人协作,有的平台只提供少量环境,难以做复杂的分支管理。
-
平台后续发展是个未知数,哪天倒闭了怎么办?
Google 4 年前发布了一款低代码创建 APP 的产品 Google App Maker,既能可视化创建界面,又能写 JavaScript 扩展功能,但它在今年 2 月份的时候宣布关闭,无法导出,用户只能自己重写一个,连 Google 的低代码平台都会关闭,其它小公司就更别说了。