2019年开始,低代码爆火。
有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为是企业管理模式的变革……有很多声音,社区讨论很热烈。
低代码为何会兴起?
什么是低代码?
如何实现低代码开发?
下面就以上问题来一一探讨!
1
低代码为何会兴起?
微服务、平台化、云计算作为当前的IT技术热点,主要强调共享重用,它们促进了软件快速交付和部署。
然而,大多数软件即使采用了微服务技术或者平台化思路,也难以做到通过软件共享重用来快速满足业务需求的变化,大部分需求仍需重新开发实现,导致软件交付时间长。
这类开发不仅工作量大、技术含量低,而且个性化程度高和共享度低。
做这类开发时,无非是在某个表中增加几个字段,然后做些在界面增加相关录入属性、调整后台服务逻辑和流程流转控制等细枝末节的改进,软件本身并没有发生重大变化。
因此,通过低代码开发平台快速配置发布软件成为当前软件业的一个热点。
同时,随着国内创业环境变得越来越好,近几年中小型企业数量更是蹭蹭往上涨,在市场上有着瞩目的地位。
虽然中小型企业的数量很多,但是缺乏一定的资金与技术支持,如果走传统应用开发模式来开发应用,那无论是技术还是资金链都很难负担。
而低代码开发模式不需要高成本与专业技术就能开发,降低了开发者门槛,于是就成了中小型企业的香饽饽。
2
什么是低代码?
低代码是传统软件开发逐步优化和演变的产物。
低代码开发平台作为一种新的应用程序开发模式和工具,具有模型驱动、开放集成、可视化引导、自动化开发的特点。有利于企业高效灵活地支持未知的场景,保证企业IT资产复用的便利性和高效性,提升企业核心竞争力和商业价值。
低代码开发平台(LCDP)本身也是一种软件,它为开发者提供了一个创建应用软件的开发环境。
对于程序员而言,低代码开发平台的性质与IDEA、VS等代码IDE(集成开发环境)几乎一样,都是服务于开发者的生产力工具。
与传统代码IDE不同的是,低代码开发平台提供的是更高维和易用的可视化IDE。大多数情况下,开发者并不需要使用传统的手写代码方式进行编程,而是可以通过图形化拖拽、参数配置等更高效的方式完成开发工作。
低代码开发平台能够实现业务应用的快速交付。
也就是说,不只是像传统开发平台一样“能”开发应用而已,低代码开发平台的重点是开发应用更“快”。更重要的是,这个快的程度是颠覆性的:根据Forrester在2016年的调研,大部分公司反馈低代码平台帮助他们把开发效率提升了5-10倍。而且我们有理由相信,随着低代码技术、产品和行业的不断成熟,这个提升倍数还能继续上涨。
低代码开发平台能够降低业务应用的开发成本。
一方面,低代码开发在软件全生命周期流程上的投入都要更低(代码编写更少、环境设置和部署成本也更简单);另一方面,低代码开发还显著降低了开发人员的使用门槛,非专业开发者经过简单的IT基础培训就能快速上岗,既能充分调动和利用企业现有的各方面人力资源,也能大幅降低对昂贵专业开发者资源的依赖。
低代码开发平台的目标是通过图形化快速配置,尽可能不写代码或者编写极少量代码即可实现业务功能。
3
如何实现低代码开发?
既然低代码开发已经逐渐成为未来的一种趋势,很多人都在尝试使用低代码平台,而更多人也在思考低代码开发平台作为软件自身是如何实现的!
如果你想要抓住“低代码”这个风口,学习如何开发低代码平台,那么可以看一下这本系统讲解低代码开发的新书《低代码开发平台的设计与实现――基于元数据模型》!
本书系统地介绍一种低代码开发平台的设计思路和实现方式——元数据模型。
在面向不同用户或者场景时,该方法可以通过简单配置或者低代码开发、甚至零代码开发,来快速实现业务需求,最终使得软件具有灵活性好、适应变化能力强、维护简单、稳定性好、重用度高等特点。
一般来说,软件由数据结构(模型)、服务、规则、数据库、流程和操作界面组成。软件的变化,一般是由模型变化带来的如服务、规则、流程和操作界面的一系列变化。
目前,市场上常见的解决机制是引入规则引擎或者流程引擎,以提升软件的适应性,但实际上,单纯的规则或者流程变化的需求反而不多,常常要求模型变化之后带来系统性的变化。而模型变化通常被理所当然地认为只有经过代码开发才能实现。
因此,如何应对模型变化是低代码开发平台首先要解决的技术难点。
元数据模型是模型变化问题的有效解决方案,在很多软件中都采用了该设计思路,尤其是某些产品化程度很高的软件。
这本书讲了什么
本书将系统地呈现这种设计思路——元数据模型——在不修改代码的前提下,实现模型的灵活变化,进而实现数据库、服务、规则、流程和操作界面的变化。
低代码开发平台有很多种实现方式,元数据模型驱动的设计是其中主要的一种方式。
本书聚焦于系统化的元数据模型驱动的设计思路,采用该设计思路实现的软件具有低代码开发平台的软件特点。
为了重点突出元数据模型驱动的设计思路,尽量避免其他内容干扰,本书不介绍与规则引擎和流程引擎相关的内容,而是重点介绍元数据模型、服务、持久化机制、元数据模型界面展现和元数据模型的模型,即通过元数据模型来描述元数据模型自身。
本书内容分为如下章节:
第1章介绍低代码开发平台的实现方式、元数据模型概念,并且综述本书所达到的需求目标;
第2章介绍基于元数据模型实例之上的通用服务设计,通过这些服务可以实现所有元数据实例的增删改查的功能;
第3章介绍如何将元数据模型的实例保存到数据库中,通过数据库映射配置,将实例映射到数据库;
第4章介绍如何将元数据模型实例从数据库中按照条件查询,通过配置查询条件和查询结果实现通用的实例查询功能;
第5章介绍主数据,这是元数据模型在主数据方面的简单应用,主数据也是后续章节的基础;
第6章介绍元数据实例在界面上如何展现,通过配置页面布局实现对实例的动态展现,而不需要定制开发界面程序代码;
第7章介绍元数据实例的功能配置,实现从前端界面到后台服务之间的联动,将模型、服务、数据库和界面展现有机地组织成一个完整的软件功能,并且可以动态配置新功能,动态扩展软件能力;
第8章介绍如何用元数据模型实例管理元数据自身,也就是元数据模型的模型(这里没有写错,是模型的模型),应对元数据模型自身的变化,这是本书最为抽象的地方,也是元数模型能够发挥到极致的能力表现。
由于元数据模型非常抽象,解释元数据本身就是非常困难的工作,因此本书的有些地方为了精确地表达意思,不厌其烦地加上了很多定语,同时提供比较多的程序代码来解释元数据模型的实现,以便读者充分理解。
本书特色