LowCode引擎源码解析

Yuyang 前端小白🥬

前言:

最近公司有个低代码的需求 来看看ali的lowCode引擎源码 兜兜转转又回到了低代码……

LowCode/NoCode Development

Description

A visual approach to application development using a graphical interface with a combination of drag-and-drop components and model driven logic.
组件以可视化编排配置的方式生产页面

Overview

The no-code / low-code development process roughly follows the following steps:
determine requirements, select APIs, create app’s workflows/data models/user interfaces using the visual IDE, connect APIs, code customized front-end and SQL queries, test user acceptance of software, deploy application and update application when necessary.

Benefits

Examples of businesses using no-code / low-code development are to test, learn, and extract value from web-applications, websites, internet of things (IoT), artificial intelligence, machine learning, and blockchain. No-code / Low-code development helps non-technical people (such as business analysts, office administrators, and small business owners) build software applications, or components of software applications, without the need for professional developers. Professional developers also benefit from low-code development by shortening development time for their projects, and having the ability to assign aspects of their projects to non-technical people without programming skills.

Differences between No-Code and Low-Code

No code development platforms tend to eliminate the need for coding making it more accessible to individuals with no coding knowledge also known as Citizen Developers. While low-code development platforms tend to celebrate the nature of code and the intended users are usually software developers.
Examples of No-code / low-code development platforms
The following list provides examples of companies offering low-code/no-code platforms:
Five.co
Force.com
Claris
Mendix
Microsoft PowerApps
Reference:
https://golden.com/wiki/No-code_%2F_low-code_development-NMGMEA6

中后台系统业务理解

主要面向ToB领域,主要的系统包括资产管理、行政办公、流程审批、运营系统等。
而这种系统普通的特效主要包含表单、表格信息的创建、查询、编辑、删除等功能,且这些功能的实现大多是通过对数据库的增删改查来实现的。
同时包括系统首页、数据大屏等功能。

业务特点:

  • 多:多租户、多应用、多页面
  • 交互复杂:各种表单、表格、树形结构、分布操作等复杂交互
  • 变:业务需求变化快、迭代频繁、定制化要求
  • 体验相对C端不敏感:
    • 主要面向企业用户,用户对系统的易用性、稳定性要求高,但对界面体验要求相对不敏感
    • 业务复杂度高,用户对系统的功能性要求高
      alt text

组件化是否足够完成低代码这个需求?

光组件话是不够的,组件化只是解决了UI层面的需求,低代码还需要解决业务逻辑、数据流、权限等问题。

低代码设计器

将组件以可视化交互方式编排成想要的布局和配置,并将配置结果以某种方式渲染出来

alt text

image-20250915015507897

image-20250915015709456

image-20250915015901837

image-20250915015936135

image-20250915020000474

image-20250915020133694

仓库地址

https://github.com/alibaba/lowcode-engine

插件地址

插件名称 repository 文档
InjectPlugin url:https://github.com/alibaba/lowcode-tools.git
directory: packages/lowcode-plugin-inject
https://lowcode-engine.cn/site/docs/guide/expand/editor/cli
ComponentPanelPlugin https://github.com/alibaba/lowcode-plugins.git
packages/plugin-components-pane
https://github.com/alibaba/lowcode-plugins/tree/main/packages/plugin-components-pane
评论