近年来,低代码平台非常火,尤其是Mendix和Outsystems的收购及融资后,很多人越来越相信,低代码平台或将成为继云计算之后,又一个千亿级赛道。
什么是低代码平台
那么什么是低代码平台呢?
一般来说,低代码开发平台是指不同水平的开发人员,甚至是没有任何开发经验的人,可以通过可视化用户界面,使用拖拽组件和模型驱动的逻辑,来创建网页或者移动应用程序的平台。
创建应用程序的过程,就好像拼图一样,将一个一个不同的模块拼接起来,最终组合形成应用程序。
由于低代码平台仍然处于初级阶段,对它的定义较为模糊,市面上也出现了不同形式的实现方式,常见的有以下几种:
- 完全简化前后端的开发,用户甚至可以不写代码搭建应用程序,不过灵活性较差;
- 在线IDE和编辑器,页面采用了可视化设计,方便开发者组合模块,但仍然需要写少量的代码进行二次开发,才能正常使用;
- 简化前端开发,开发者不再需要写前端代码;
- 简化后端开发,即开发者只需要写前端代码,后端可以在线设计数据结构,实现增删改查功能;
- 提供一站式开发平台,提供持续集成、部署和运维等功能,以帮助开发者提升效率为目的;
低代码要解决什么问题
“低代码”概念的出现,形成了两种极端的观点。
由于目前“低代码”还处于初级阶段,产品并不成熟,很多时候开发效率反而不如直接写代码快,很多专业开发人员认为,所谓“低代码”就是个玩具,根本不能被应用于开发工作中。
另一种观点以普通人为代表,认为低代码平台大幅降低了开发应用程序的门槛,不懂代码也能开发程序,以后程序员就要失业了。
这两种观点,其实都不太正确。
低代码平台只能解决“效率”的问题,而不能解决“写代码”的问题。
常见的低代码平台,实现方式有以下几种:
- 提供一种简化版的DSL,类似excel的公式;
- 提供图形化代码编辑器;
- 支持写代码或外部api扩展;
- 平台内置实现;
前三种都要求使用者会写代码,或者至少懂实现逻辑,还做不到完全零代码、零经验。
如果某一个需求很常见,那么可以使用平台内置来实现需求。比如淘宝实际上就是一个低代码平台,它将许多常见的电商功能都集成进去,商家可以根据需求组合使用这些功能,还可以个性化设计自己的店铺。
显然,低代码平台可以解决“开发效率”的问题,但是,如果需求不常见,开发人员仍然要写代码进行开发。
目前来看,这一阶段的低代码平台,还不太可能被用于创建To C的应用程序,因为这类应用一般是公司的主营业务,需要足够高的灵活性、自主可控性,对定制需求、展现也有较高的要求,是不可能通过低代码平台中的组件实现的。如果需要使用大量的代码进行拓展,还不如自己开发效率高。
低代码平台面临的问题
尽管低代码平台能大幅提高开发效率,但它仍然存在许多问题,这些问题制约了平台的发展。
(1) 学习成本
所有低代码平台,均使用了内部独立的框架,使用者需要付出额外的学习成本。
(2) 黑盒子
由于使用者不清楚功能是如何被平台实现的,如产生bug、性能等问题,只能等待平台解决,当平台还无法满足需求时,也只能等平台升级。
(3) 功能繁杂
由于不能像本地代码那样进行全局搜索,低代码平台信息分布在各个地方,不利于查找所需的功能组件。
(4) 多人协作困难
低代码平台很难做到分支管理,不方便多人协作。
低代码平台既不会像普通人觉得的那样美好,也不会像专业人士那样觉得糟糕透顶。在某些特定领域,低代码平台会取得成功,比如面向客户的应用极有可能失败,但如果应用在企业内部应用,低代码平台很有可能发挥重要作用。