带你一步步实现低代码开发平台——概述、实现模式、整体框架

这篇具有很好参考价值的文章主要介绍了带你一步步实现低代码开发平台——概述、实现模式、整体框架。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

低代码开发平台是一种开发工具,它允许用户使用图形界面和少量编码来创建应用程序。这种平台的目的是加快应用程序开发速度,减少开发成本和技能门槛。目前,市场上有许多低代码开发平台可供选择,包括Microsoft Power Apps、OutSystems、Mendix等等。这些平台提供了各种各样的功能,例如可视化应用程序构建、自动化工作流程、数据集成和分析等等。此外,这些平台还提供了各种各样的模板和组件,以帮助用户更快地构建应用程序。

虽然低代码开发平台的使用越来越普遍,但它们并不是适用于所有情况的银弹。在某些情况下,使用低代码平台可能会导致性能问题或限制应用程序的功能。因此,在选择低代码平台时,需要仔细考虑其适用性和可扩展性。

当下国内低代码无代码概念处于风口浪尖,涌现了大量的平台,在此不一一列举。

客观地说,低代码开发平台,通过配置方式,确实可以大幅提升开发效率,降低开发成本,缩短工期。同时,也降低了对开发人员技术要求,并且生成的代码标准化,一些低级BUG会减少,从而间接提升了程序质量。

不过,低代码开发并非是什么新的概念或理念,而是由来已久。
一个软件系统中,不可避免存在大量功能存在共性,典型的功能如下:
单实体:如计量单位,这是最简单的一种情况,对应单张库表,布局上采用列表展示+增删改操作方式。
一主多从实体:如销售订单,包括订单和订单明细两部分信息,通常是1个主体,加上1个或多个从属,对应多张库表,从表关联到主表,布局上采用Tab页方式展示从属部分。
树状实体:如组织机构,通过关联关系形成树状结构,布局上通常是左树右表。注意这里有一种特殊的情况,实体本身是一个单实体,但是有属性关联到树状结构上,如用户,关联到组织机构上。

对于上述功能抽象,建立模型,形成标准化,从而可以通过配置方式来定义数据,加上模板技术来生成程序源码,实际上就是通常所说的代码生成器的功能。
代码生成器在应用开发平台中的地位,相当于工业生产中的“机床”,通过代码生成器产生的代码会高度标准化。代码生成器的意义在于,将软件系统中大量重复性的开发工作,也就是通常所说的“体力活”,通过简单配置来实现,大幅提升开发效率。但是,仅有代码生成器是远远不够的,应用系统中的复杂业务逻辑和个性化前端页面,仍然需要开发人员,基于原生开发模式来实现。

低代码开发平台的核心,实际就是代码生成器,或者说,是代码生成器发展到高级阶段的产物。

实现模式

低代码平台的主要特点是以配置为主,从实现模式而言,主要分为三类,分别是库表驱动、表单驱动和模型驱动。

库表驱动

这种模式最贴近传统开发模式,即先使用数据库建模工具,如PowerDesigner,设计数据库表,将库表在数据库中生成出来。然后再通过读取库表信息,进行逆向工程,生成控制器层、服务层、数据库读写层等各层代码。当前主流的MyBatis框架,自带的代码生成器实际就是这种实现思路和实现方式。

表单驱动

这种模式直接提供布局和UI组件,通过可视化的方式进行业务表单的配置,由平台自动根据配置,向下生成数据库表,向上生成功能页面。该模式下服务层实际被被“弱化”了,往往采用的是一个或几个通用服务来适配。不过,这种直接“干表单”的模式,往往只适用于一些比较简单的业务功能,如在疫情中通过配置快速构建一张信息收集表。

模型驱动

这种模式顾名思义,是先创建模型,通过模型来生成库表,在模型之上定义视图,也就是页面。客观地说,这种模式更适合将物理世界抽象建模为软件系统中的虚拟世界,无论是面向对象,还是领域驱动设计,都能适配。不过这种模式也是实现最复杂的一种。

目标

我的应用开发平台,目标是通过配置,把软件系统中的共性部分,或者称之为“体力活”给解决掉,避免枯燥乏味的重复开发。
同时,预留良好的扩展性,通过源码开发方式,补足低代码配置能力的不足。

低代码配置要做完善,好用和易用,实际时间和精力投入是非常大的。

我的目标是实现一套中等规模,简单易用的低代码配置平台,在复杂度和易用性方面,做一个取舍和平衡。

框架设计

整体框架设计如下图。
带你一步步实现低代码开发平台——概述、实现模式、整体框架

模块配置

一个软件系统通常会划分成多个功能模块,例如:采购模块、销售模块。 每个功能模块下,会有多个相关的实体,如系统管理模块下会有组织机构管理、用户管理、角色管理、权限管理等。

实体配置

实体是一个可供管理对象的基本单元,例如:采购订单、供应商。 实体归属于某个功能模块,是一个偏业务角度的逻辑概念。

模型配置

普通的实体,对应着单一模型。但一个实体可能对应多个模型,例如,销售订单实体,是由销售订单和销售订单明细两个模型组成。每个实体有且仅有一个主模型。模型中对实体属性的进行定义。模型对应着数据库中的一张库表,模型与库表是一对一关系。模型属性对应着库表中的字段,其关系有可能不是一一对应。模型属性可能会将一些基础属性组合或进行逻辑计算产生,如在用户的模型中有一个属性叫出生日期,对应库表有一个字段存储,但在模型层面,还会有一个基于出生日期计算得到的当前年龄。
常见的模型有三类:单表、主从和树。

视图配置

视图对应着Web功能页面,抽取共性,建模产生以下类型的视图

  • 列表视图
  • 新增视图
  • 修改视图
  • 查看视图
  • 树视图
  • 树表视图
  • 主从视图
  • 参照视图
  • 自定义视图

对于对应单一模型的普通实体,如系统参数,对应着列表视图,新增视图、修改视图和查看视图,即囊括了常见的查询、新增、修改、查看页面(删除功能不是一个页面,而仅是一个功能按钮,位于列表页面)。带你一步步实现低代码开发平台——概述、实现模式、整体框架

对于自关联的实体,如组织机构,列表视图仅仅是一个表格平铺,难以展现层次关系,直观性很差。这时候就需要树表视图,左边是一个树,右边是一个列表,实际上树表视图是一张由树视图和列表视图组合而成的复合视图。
带你一步步实现低代码开发平台——概述、实现模式、整体框架
对于主从关系的实体,如销售订单,使用主从视图,实际跟树表视图类型,也是一种复合视图。

参照视图是用于供其他实体关联属性时使用的选择页面,如用户需要指定组织机构,具体又可以分为三种:普通参照、树参照和列表参照。如合同选择,一个数据列表就可以了,即普通参照。组织机构选择,则需要一棵树,即树参照。用户选择,需要左树右表,即树表参照。
带你一步步实现低代码开发平台——概述、实现模式、整体框架

自定义视图用于一些个性化的页面,无法进行标准化配置,通过原生开发实现,指定路径,纳入到整个体系中来。

开发平台资料

平台名称:一二三开发平台
简介: 企业级通用开发平台
设计资料:csdn专栏
开源地址:Gitee
开源协议:MIT文章来源地址https://www.toymoban.com/news/detail-488250.html

到了这里,关于带你一步步实现低代码开发平台——概述、实现模式、整体框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 真的不能再详细了,2W字保姆级带你一步步用Pytorch搭建卷积神经网络实现MNIST手写数字识别

    目录 一、引言(环境)  二、正文 1. 代码基本情况介绍 2. MNIST数据集介绍         3. 代码输出结果介绍 数据集取样: 训练信息输出: 前三次训练成果以及预测: 八次训练的结果:  4. 代码拆解讲解 基本的参数设定 MNIST数据集下载、保存与加载 神经网络模型 训练前的准

    2023年04月20日
    浏览(27)
  • 【Python】OpenAI:基于 Gym-CarRacing 的自动驾驶项目(1) | 前置知识介绍 | 项目环境准备 | 手把手带你一步步实现

     猛戳!跟哥们一起玩蛇啊  👉 《一起玩蛇》🐍  💭 写在前面:  本篇是关于自动驾驶专业项目 Gym-CarRacing 的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。 本专栏提供完整可运行代码,包括环境安装的详细讲解,将通过 \\\"理论+实践

    2024年02月02日
    浏览(45)
  • 【OpenAI】Python:基于 Gym-CarRacing 的自动驾驶项目(1) | 前置知识介绍 | 项目环境准备 | 手把手带你一步步实现

     猛戳!跟哥们一起玩蛇啊  👉 《一起玩蛇》🐍  💭 写在前面:  本篇是关于自动驾驶专业项目 Gym-CarRacing 的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。 本专栏提供完整可运行代码,包括环境安装的详细讲解,将通过 \\\"理论+实践

    2024年02月03日
    浏览(39)
  • 用Vue如何实现低代码开发平台?

    在众多开发技术中,Vue组件化开发技术以其卓越的灵活性和高效性备受瞩目。 低代码平台相信不少人知道它的存在,而且现在大部分公司都在开发自己的低代码平台, 首先我们来看看低代码平台可视化界面: 官网:https://www.jnpfsoft.com/?csdn,感兴趣自行去体验。 可以看到,大

    2024年02月16日
    浏览(26)
  • 基于Python语言Django+Layui实现的低代码开发平台

    一款 Python 语言基于Django、Layui、MySQL等框架精心打造的一款模块化、高性能、企业级的敏捷开发框架,本着简化开发、提升开发效率的初衷触发,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按

    2024年02月11日
    浏览(78)
  • Android:手把手带你入门跨平台UI开发框架Flutter

    定义:一款Google出品开源的移动客户端UI开发框架(SDK) 作用:用一套代码同时在Android、iOS上快速构建高质量、高性能的原生用户界面 开发语言:Dart语言(高开发效率、高性能等) 2. 特点 Flutter的主要特点包括:使用自身的高性能渲染引擎进行渲染 Dart编程语言语言 具体介

    2024年04月13日
    浏览(38)
  • 带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示-------之 阿里云平台项目建造。

    第一篇章: (13条消息) 带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示。_海口飞鹏岛科技有限公司的博客-CSDN博客 . . 务必完成如下     三个 ,否则无法在下一个篇章中进行. . . . 本次文章是指引开发者进行开发阿里云平台建造设备项目,可观

    2024年02月06日
    浏览(33)
  • 什么是低代码开发平台?国内外7款低代码开发平台对比

    在现代商业环境中,企业需要不断开发和更新软件来满足市场需求和客户要求。 然而,传统的软件开发过程通常需要大量的时间和资源,使得企业难以快速响应市场变化。这时候,低代码开发平台就成为了解决方案。 运用低代码开发平台,你可以不使用任何代码工具, 在很

    2023年04月08日
    浏览(41)
  • 国内十大无代码平台,无代码app开发平台有哪些?

    相信大家都知道,无代码开发就是软件开发者无需通过手工编码就可以达到目标需求的一种软件开发方式,降低了程序员对重复功能代码编写的任务量,使应用软件的开发效率得到了大幅提升,所以就备受欢迎,那么市面上哪些无代码APP是比较有名的呢? Digdag Digdag 是一款开源

    2024年02月08日
    浏览(37)
  • 低代码开发平台

    低代码开发平台(LCDP)本身也是一种软件,它为开发者提供了一个创建应用软件的开发环境。看到“开发环境”几个字是不是很亲切?对于程序员而言,低代码开发平台的性质与IDEA、VS等代码IDE(集成开发环境)几乎一样,都是服务于开发者的生产力工具。 与传统代码IDE不

    2024年01月17日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包