一文讲透低代码

Posted 海拥✘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文讲透低代码相关的知识,希望对你有一定的参考价值。

近年来,在数字经济迅速发展的背景下,越来越多的企业开始建立健全业务系统、应用、借助数字化工具提升管理效率,驱动业务发展,促进业绩增长。在这一过程中,和许多新技术一样,低代码(Low-code)开发被推上了“风口”。

01 了解低代码开发平台

低代码的定义与发展


2014年,Forrester提出了低代码的概念。低代码是一种软件开发技术,衍生于软件开发的高级语言,让使用者通过可视化的方式,以更少的编码,更快速地构建和交付应用软件,全方位降低软件的开发、配置、部署和培训的成本。

为了实现这一目标,低代码开发平台通常由4部分构成:

  • 可视化设计器:具备可视化定义UI,工作流和数据模型的设计器,且在必要时可以支持手写代码。

  • 服务器程序:承载可视化设计器构建的应用,供最终用户通过多终端访问,具体形式如私有化部署的服务程序、运行在云端的容器或服务等。

  • 各种后端或服务的连接器:能够自动处理数据结构,存储和检索。有些低代码开发平台将其集成到了可视化设计器中。

  • 应用程序生命周期管理器:用于测试、暂存、构建、调试、部署和维护应用程序的自动化工具。

经过多年的发展,超百家厂商推出了大量的低代码开发平台产品。纵观这些低代码平台,除了都具有这些基本要素以外,没有两个产品是完全相同的。有些工具作用非常有限,更类似于与数据库配套的前端界面,如20世纪90年代的FoxPro;有些工具则仅专注于小众的业务需求,如客户档案管理;甚至有一些专用工具只是用低代码的术语来描述,但与实际的应用程序开发几乎没有关系。为了与其他软件开发技术进行区分,避免对IT决策者带来误导,Gartner将低代码的概念具体化,提出了低代码开发应用范围(构建包含有用户界面、业务逻辑、工作流和数据服务的完整软件应用)。针对企业级软件开发,Gartner还提出了低代码开发平台所需的必备功能。

  • Not be used only or mainly for building specific industry applications, and it must not be only a product bundled within some other solution or platform. 不能仅用于或主要应用构建特定行业的应用,不能仅限于在依赖其他解决方案或平台上运行。

  • Support development and deployment of applications by professional developers in both central IT and line of business — not just for citizen developers. 需要能提供给IT技术人员使用,不能只给平民开发者使用。

  • Develop, version, test, deploy, execute, administer, monitor and manage the applications and their relevant artifacts. 全生命周期:覆盖应用和相关资源的开发、版本管理、测试、部署、执行、管制、监控和管理的全生命周期。

  • Embed data storage features without relying on additional procured services (i.e., includes a database). 内建数据存储:内建数据存储机制,不能依赖其他的数据库等存储服务。

  • Support the design of data schema and application logic. 数据与逻辑设计:支持用来设计数据结构和应用逻辑。

  • Create rich application UIs (i.e., not only a forms builder or building an administration UI). 完整的界面设计:支持创建完整的应用界面,不能仅支持创建表单或管理界面。

  • Enable the invocation of external third-party services via APIs or event topics. 第三方集成:支持引入第三方API或事件驱动机制。

  • Support some automation of platform patching and versioning. 自动运维:提供自动化的应用升级和版本管理机制。

  • Provide single-step deployment across environments (development, test, staging, production). 多环境部署:支持针对多环境的一键部署,包括开发环境、测试环境、验证环境和生产环境。

  • Access a platform repository or marketplace for sharing components, modules, connectors and templates 社区共享:提供可供访问的应用市场,用来共享组件、模块、连接器和模板。

低代码的技术路线


在低代码的诞生和发展进程中,有两个典型的技术路线:

路线一:将数据与业务逻辑合一的表单驱动低代码,衍生于ERP、OA中广泛使用的可配置化技术,使用体验类似于成品软件的实施;

路线二:数据与逻辑完全分离、各自独立的模型驱动低代码,是可视化开发技术发展的产物,体验上承袭了传统软件开发的生命周期。

国际主流研究机构将两种技术路线的产品分开调研,Gartner将模型驱动视为低代码开发平台的基础要求;Forrester将表单驱动的低代码平台视作“面向业务开发者的低代码开发平台”,与模型驱动的“面向专业开发者的低代码开发平台”进行了区分。

02 低代码开发者有哪些

低代码技术显著降低了软件开发的技术门槛,让更多人可以参与到软件开发中,进一步扩大软件开发者的规模,加速信息化建设。都有谁适合使用低代码技术开发软件?

从事低代码开发人员可以分成两类:服务于企业IT部门或软件的公司的IT技术人员(包含但不限于程序员、项目经理、实施顾问等);以及来自业务部门,本职工作与IT无关但参与到软件开发中的业务开发者。

低代码赋能IT技术人员

这里的IT技术人员是与“业务开发者”相对的概念,包含但不限于程序员,特指在企业或信息化提供商中,本职工作为企业信息化相关的技术人员。IT技术人员主要集中在企业信息化部门和为企业提供信息化服务(如外包开发、系统集成等)的软件公司中,典型岗位有项目经理、架构师、程序员、测试人员、实施和运维人员、DevOps等。

整体而言,IT技术人员具备以下特征:

  • 具备技能:通常具有计算机相关的教育背景,或通过自学的方式掌握了一定的IT技能(如编程语言、数据库管理、配置管理、系统管理等)

  • 考核指标:能否保质保量地满足本单位或客户的信息化需求是核心指标

  • 学习意愿:需要紧跟技术发展趋势,跟随团队和企业技术决策,及时更新技术能力

最适合转型为低代码开发的IT技术岗位

在进入低代码时代之前,各岗位的IT技术人员均已掌握了软件开发全生命周期所需的部分技术,通过简单的学习,这些IT技术人员均可转型为低代码开发者,以团队成员或个人开发者的身份构建软件应用。

●:低代码开发者的必备技能;○:低代码开发者的重要技能;△:部分场景下低代码开发者的需要技能

低代码与IT技术人员的职业发展

对于程序员来说,学习模型驱动的低代码开发平台和学习一项新的语言类似,都是将之前学习和实践中积累下来的经验,套用到新的开发工具上。在适应了低代码开发平台后,IT技术人员就能通过可视化的方式,大幅减少重复性的工作,比如增删改查、页面布局和样式等,最终实现工作量的显著下降。从相对低端的重复性工作中腾出精力,才能扩宽职业发展的道路。在一个采用低代码技术开发的团队中,IT技术人员的发展路径主要有以下4条。

技术专家

低代码时代的技术专家与编码开发的架构师类似。如果对传统编码开发更感兴趣,低代码开发者可以持续钻研编程扩展,包括低代码平台的插件开发、外挂式Web API开发、软硬件集成、数据库调优等,为公司提供技术支撑。成为技术专家,意味着开发工作从面向应用需求,切换为专注于处理技术和集成方面的难题,为多个团队和项目提供技术保障。相比于没有接触过低代码开发平台的其他程序员,技术专家通常可以根据低代码平台的特点给出最有效的解决方案,并且能够充分理解和照顾来自公司其他开发者的功能和体验要求,降低沟通成本,为整个公司的软件开发工作提效。

大多数采用低代码开发模式的软件公司和企业信息化部门对技术专家岗位的需求量较少。所以,这个路线对开发者自身的技术突破能力和持续学习能力有较强的要求。通常情况下,公司会优先从编码开发团队的架构师中选择学习能力强、对新技术敏感度高的人员担任技术专家。

项目经理

低代码开发和编码开发在项目管理和软件生命周期上的方法论是一样的。所以,低代码开发团队一样需要设置项目经理的角色。考虑到低代码时代有“设计即开发”的特点,项目经理也需要具备使用低代码平台构建可操作原型,甚至参与到具体开发工作的能力,这就为低代码开发者转型成为项目经理提供了更有竞争力的条件。

相比于编码开发,数倍的生产力优势让低代码开发的团队规模更小,2-3人的微型团队就能具备编码开发时代10人团队才有的软件交付能力。更小的团队规模,让公司能同时启动更多的软件开发项目,这就需要更多的项目经理来保证需求沟通和开发管理的有效可控。所以,除了编码开发团队的项目经理之外,更多的开发者可以借助这一契机,通过承担更多项目管理工作,成为新的项目经理。需要提示的是,项目经理所需的管理知识已经形成了成熟的体系,“自学成才”是完全可行的。

业务专家

低代码具备更快的迭代速度和更低的学习门槛,这使得很多公司开始让业务人员深入参与到软件开发中来。业务人员和IT技术人员一起,前者贡献业务知识,而后者基于对计算机技术的理解,将其转换为软件。在不断的交流中,有一部分业务人员因此掌握了软件开发能力,也让一些技术人员对业务流程和背后的原理有了更深刻的理解。所以,在帮助业务人员转型为开发者的同时,技术人员也能成为业务专家,将软件开发工作中培养的系统化、逻辑化思维带到业务部门,为业务发展引入新动力。

独立开发者

低代码开发的团队规模更小,一人身兼数职也是常态,可以帮助开发者更快速地成长。在低代码的助力下,一个人同时掌握需求分析、产品设计、开发、测试以及DevOps相关的技术能力的可能性大增。如果具备覆盖软件全生命周期的能力,再加上合适的时机,“成为独立开发者”也是一个值得考虑的选项。相比于编码开发,低代码的开发效率足够帮助独立开发者建立起交付速度和成本上的优势。

低代码赋能业务人员

在低代码技术被命名之前,国际知名的研究机构们就提出了“业务开发者/平民开发者”的概念。这两个概念与专业开发者对应,专指那些向业务部门汇报但开发能力来辅助业务发展的员工。这些人和向IT部门报告的专业开发者不同,他们的主要工作职责是业务发展,软件开发只是一个辅助性工作,通常不会有相关的考核指标,得到的资源也较为有限。在传统的编码开发时代,业务开发者较为少见,有能力从事辅助性软件开发的业务人员主要集中在数据分析师、软件公司的程序员(程序员的主要工作是开发软件产品或对外交付软件项目,而不是辅助性的软件工具)等具备编程能力的人群。而低代码技术的出现,让更多的业务人员可以成为业务开发者,比如构建订单管理应用的销售主管、人事档案系统的HR、库存盘点APP的库管人员等。

整体而言,业务开发者具备以下特征:

  • 具备技能:通常没有计算机相关的教育背景,部分掌握Excel等办公软件的常用功能

  • 考核指标:能否完成业务目标是核心指标,通常不包含信息化建设相关内容

  • 学习意愿:不得不参与软件开发,通常没有主动学习IT相关技术的动力和投入

低代码对业务开发者的价值

与帮助IT技术人员提升软件开发效率不同,低代码对于大多数业务开发者而言,是解决了“能不能开发软件”的问题。这就意味着,业务人员可以根据自身的应用场景,快速构建起对应的软件应用,减少了与IT部门协调确认的沟通成本,在IT部门资源紧缺的背景下,尽快扫清信息化死角。

业务开发者构建的应用主要有以下几类,除数据报表应用的业务逻辑复杂度较高而且通常需要与第三方系统集成,对业务开发者有较高的学习能力要求外,其他应用场景相对简单,更适合业务开发者使用低代码构建。

03 低代码的应用价值

低代码开发平台可以显著提升软件开发的效率,可广泛应用于各行业数字化转型升级。具体而言,开发者可以使用低代码开发平台,更简单、更快速地构建个性化应用,打造数字化平台。

04 低代码发展现状

随着互联网资本的介入,中国的低代码产业于2019年进入高速发展阶段。目前,近百家低代码厂商推出了不同类型的低代码平台产品,形成了4大商业模式,3种渠道模型。不论是企业信息化部门还是软件公司都能从中找到与自身诉求和状况相匹配的解决方案。

艾瑞咨询《2021年低代码行业研究报告》

亿欧智库《2021中国低代码市场研究报告》

T研究《2020中国低代码平台指数测评报告》

海比研究《2021年中国低代码无代码市场研究报告》

05 低代码开发实战图书推荐

限时优惠,点击此处可查看详情

▊《低代码开发实战——基于低代码平台构建企业级应用》

葡萄城公司 著

  • 国内低代码领军者葡萄城公司专业技术团队力作

  • 涵盖16个大知识点,100多分钟视频讲解,赠送低代码企业级开发平台

低代码开发平台是不写或者只写极少量代码即可实现业务功能的软件平台,可以助力企业快速完成数字化转型。

本书循序渐进地讲述了数据库设计、UI设计、业务逻辑处理、报表、权限等技术。本书共8章,以当下使用者*多的企业级低代码产品活字格为例,内容包括概述、数据库设计、客户端页面设计实战、服务端逻辑设计实战、报表设计实战、配置权限、编码扩展与系统集成实战、低代码应用的部署。

本文内容由国内低代码领军者葡萄城公司提供。

内容来源:http://lowcode.grapecity.com.cn/

以上是关于一文讲透低代码的主要内容,如果未能解决你的问题,请参考以下文章

一文讲透算法中的时间复杂度和空间复杂度计算方式

一文讲透链表操作,看完你也能轻松写出正确的链表代码

一文讲透链表操作,看完你也能轻松写出正确的链表代码

一文讲透链表操作,看完你也能轻松写出正确的链表代码

一文讲透为Power Automate for Desktop (PAD) 实现自定义模块

Spring整合Mybatis一文讲透,手把手带你实操