Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

低代码平台比较及入门经验分享

低(无)代码代表了全新的软件构建理念,因其降本增效的特点,正在成为行业趋势,也是许多公司未来的发展重心。低代码可以替代基础、重复的开发工作,对传统的软件开发工程师形成了挑战;与此同时,低代码也赋予了开发者强大的能力,借助低代码可以提升软件构建的整体层次和水平。

目前公司专注及合作的低代码平台主要有四家:明道云、轻流、OutSystems、微搭。严格来说,明道云和轻流属于无代码平台,OutSystems 和微搭属于低代码平台。本文将以技术角度对各平台做一个简要介绍和比较,并分享作为一个传统的软件开发工程师,在学习、入门低代码过程中积累的些许经验。

一、明道云

主要特点

以明道云为代表的无代码平台,主要有以下特点。

1. 技术要求低

所有应用界面以及大部分功能可拖拽生成,所见即所得,开发者不需要掌握编程技能,非常适合熟悉业务流程的业务人员直接搭建,例如 PM、BA、测试等。公司目前在用的项目管理系统、人事系统、审批系统等都由相关部门非技术同事直接搭建。

2. 开发速度快

丰富且易用的表单控件,拖拽生成表单后即可同步生成数据源。(注意:低代码与无代码相反,先有数据源再生成表单。)表单设计完成后,列表页、详情页及新建、编辑操作都会自动生成,直接可以用。

3. 个性化程度低

无代码平台同时拥有“技术要求低”和“开发速度快”这两个优势,是因为平台本身投入了大量开发资源做了系统集成,与此相对的缺点便是无法支持较高的个性化要求,大量界面、交互、功能等只能以平台提供为标准。

明道云提供了很多产品功能,其中工作表是核心功能。工作表可以理解为 Excel 表格,可以新增或编辑数据、对数据以各种方式进行展示和统计、使用角色系统控制数据权限等。配合工作流(触发器、审批节点、通知、Webhook 等)对数据进行管理和协作。

明道云提供了多款基础图表供统计使用,复杂的图表展示需求不能很好的满足。通过嵌入 URL 的功能可以实现将外部定制化开发的页面嵌入到工作表详情或自定义页面,但会涉及到数据传递的问题,解决起来比较繁琐。

明道云有 Webhook 支持与第三方数据源的交互,从(向)外部数据源读取或发送数据都是可以的。这也是所有无(低)代码平台的标配功能。

明道云提供的视频教程较多,对主要功能都进行了介绍,推荐观看。

遇到问题可查阅

二、轻流

轻流也是无代码平台,构建思想和使用方式与明道云类似。从整体上看,五大引擎(表单、流程、门户、报表、自动化)+三大体系(组织架构、权限、消息通知)比较完善,但在实际使用中发现,各模块中可使用组件的丰富程度不如明道云。

轻流的应用(对应明道云的工作表)每新增一条数据默认都是一个审批流程,由此可见,轻流就像产品名字那样,把流程放在了首位。轻流的售前交付总监也在培训中提到,轻流的主要目标就是通过流程促成组织内、团队间的协作。

在实际使用中发现的另一个细节是,轻流应用内的每条数据经过审批流程新增成功后,数据就被固定住,不能任意修改,这一点也是和明道云工作表有着本质的区别。虽然数据仍然可以在流程(对应明道云的工作流)中按照一定规则被修改,但不难看出流程才是轻流的首要目标。

轻流视频教程分为两部分:无代码系列课与轻代码系列课。其中无代码系列课的流程教学部分是重点,内容较少,以介绍流程为主;无代码系列课的“轻流协作者指南”则介绍了轻流的使用者如何使用轻流产品进行团队协作。轻代码系列课则对可能涉及技术细节或编码的部分进行介绍,可在实际使用中遇到问题时学习参考。

遇到问题可查阅

OutSystems 作为全球领先的低代码平台,平台开发及运行时间较长,在开发思想、平台工具、教程认证等方面都有很深的积累。跟无代码平台相比,低代码平台更符合传统软件开发工程师的思维和开发方式。OutSystems 尽可能优化了传统软件开发过程中的各个环节,而最终的决定权还是交到了开发者手里。

OutSystems 作为海外低代码平台,跟国内竞品存在一些不同:

  1. 云平台位于海外,国内直连网速不是特别理想。
  2. 全英文官网、文档、工具、教程、考试等,不支持中文。对英语能力有一定要求。

尽管如此,我仍然非常推荐学习和使用 OutSystems,无论是前端还是后端开发工程师,无论短期内是否能用到。学习 OutSystems 不但能掌握一项新技能,更能习得优秀的软件设计和开发思想。

效率提升

跟传统的软件开发方式相比,低代码平台的使用可以带来开发效率的提升,主要体现在以下几点:

  1. 传统开发方式前端界面和后端逻辑独立开发,通过接口调用进行数据交互,众所周知接口联调是最耗时、最容易出现问题的缓解。低代码平台里设计好的数据表和后端逻辑可以直接拖到前端界面,直接省略了接口联调的环节。
  2. 当前前后端领域内技术路线分歧严重,前端框架先分 React / Vue,路由、接口调用、状态管理等又有很多选择,导致不同项目间代码差异非常大、难以复用等问题。低代码平台把技术实现细节隐藏了,工程师只需关注整体架构、业务逻辑、模块复用即可,大大减少了技术路线分歧和代码复用的问题。
  3. 内置的后台类型项目模板功能齐全,能快速搭建出后台类项目常见的列表、详情、新增、修改等页面和操作。
  4. OutSystems 强大的 AI 功能能识别出开发者意图,开发过程中能不断帮助和提示想要完成的功能。
  5. 适合全栈工程师对应用全局掌握,也方便前后端工程师各自开发模块后整合。

有针对各类工程师角色的教程内容,教程质量非常高,很用心。

遇到问题可查阅

四、微搭

微搭是腾讯云旗下的低代码平台,应用搭建方式是先创建数据源再生成相关页面。微搭应用主要分为两种类型:自定义应用和数据模型应用。自定义应用的构建方式与 OutSystems 类似;而数据模型应用更接近无代码平台,提供了默认的企业工作台,包含通知系统和流程中心,功能及界面高度标准化。从发布时间的顺序看,微搭先有自定义应用,后推出了数据模型应用。因此可以说,微搭同时拥有低代码和无代码平台的能力,而无代码平台的能力,也就是数据模型应用,是微搭新的重心。

底层支撑:云开发

微搭底层使用腾讯云云开发作为支撑,因此微搭用到的所有云资源都可以在云开发控制台看到,例如文件存储、数据库、云函数等。当有数据导入导出需求时,除了在微搭产品文档搜索合适的 API 以外,也可以尝试使用云开发 API,直接从底层完成微搭数据的导入导出。另一个需要注意的技术细节是,微搭使用 MangoDB 作为数据库,因此微搭数据源支持存储数组(List)类型的数据,有时还挺方便的。

组件

微搭为了解决组件复用问题,有组件库可以创建和使用,组件又可以分为低码组件和源码组件。低码组件是使用微搭可视化工具拖拽生成的组件,源码组件则是在本地使用 React / Vue 开发完成后发布到平台的组件。使用源码组件的好处是可以充分享有组件的灵活性,并能支持一些微搭可视化工具无法支持的功能,例如 HTML 原生的 <iframe> 标签等。

微信生态

因为天生的腾讯系身份,微搭对微信生态有很好的集成。在创建自定义应用时可以选到创建小程序;小程序的注册认证也能在微搭平台上直接完成;小程序内获取用户手机号等操作也可以通过云函数较为方便的完成。

官方视频教程不太连贯,对初学者不太友好。建议通过 内部培训视频 进行学习。

遇到问题可查阅