低代码平台开发——基于React(文末送书)

目录

    • 小程一言
    • 适用对象
    • 本书达成
  • 书籍介绍
    • 作者简介
    • 内容介绍
    • 书籍目录
    • 阅读指导
  • 小程送书

小程一言

《低代码平台开发——基于React》这本书主要围绕低代码平台和React技术的结合展开,为读者提供了关于低代码平台开发的理论和实践知识。
在这里插入图片描述## 书中内容简介

  • 书中内容分为三部分
  1. 基础理论知识:这部分介绍了低代码平台的基本概念和原理,以及使用React进行低代码开发的基础知识。
  2. 构建低代码系统:书中详细介绍了如何从零开始构建一个低代码系统。这包括进行需求分析,如列表页、详情页和表单页的布局和逻辑需求,以及可视化编辑器、应用管理、组件市场和用户管理的需求。接着,书中介绍了设计思路,包括架构设计、Schema设计、组件库市场和MongoDB Document设计等。最后,书中详细介绍了编码过程,包括可视化编辑器的实现、渲染SDK的实现、版本控制,以及如何将这些功能集成到其他系统中。
  3. 实践和案例:书中不仅包含详细的代码实现,还提供了需求分析和设计思路等其他必要内容。为了帮助读者更容易地开发出自己的低代码平台,书中对协议、组件、设计器和代码生成器等低代码核心内容进行了详细解读,并配有可直接使用的源码和一个包含前端与后端代码的开源项目。

适用对象

  • 有React、Node.js和数据库基础,想开发低代码平台的读者;
  • 想全面了解低代码平台组成及原理的读者;
  • 对开发低代码平台感兴趣的读者。

本书达成

通过学习本书,读者可以了解如何选择合适的低代码平台,掌握平台的使用方法,并学会结合自定义开发来满足复杂的业务需求。同时,书中还探讨了基于React的低代码平台开发的未来发展趋势,包括智能化、云端集成和开放性与扩展性等方面的内容。

书籍介绍

作者简介

秦小倩(网名何遇)
资深前端工程师,精通TypeScript、JavaScript,以及React和Vue等框架。曾就职于多家知名互联网公司,均从事前端开发相关工作,拥有丰富的现代Web应用开发经验。2019年开始专注于低代码平台的研究和开发,曾在公司内部落地一个完整的低代码平台,用户通过该平台在1个季度内创建了200余个页面。

内容介绍

本书分为4篇,包括基础知识介绍、需求分析、实战开发低代码平台和基础设施建设。基础篇涵盖React、MobX、MongoDB等内容;需求分析篇介绍业务场景和平台需求;实战篇提供代码示例,涉及低代码架构、组件、设计器等;基础设施篇介绍CI/CD、npm私有库、LDAP账号管理。建议经验丰富者从第4章开始,新手则从第1章学起。

书籍目录

前言
基础篇
第1章 前置知识2
1.1 函数组件与类组件2
1.2 React Ref API4
1.3 React Hooks7
1.3.1 useState7
1.3.2 useRef9
1.3.3 useEffect10
1.3.4 useReducer12
1.3.5 自定义Hooks16
1.4 React Context API17
1.5 深入理解React的渲染流程19
1.5.1 生命周期流程19
1.5.2 渲染流程21
1.5.3 immutable与React渲染24
1.6 MobX状态管理库27
1.6.1 从一个Demo开始27
1.6.2 MobX的核心概念30
1.6.3 集成React35
1.7 MongoDB39
1.7.1 安装MongoDB40
1.7.2 数据建模41
1.7.3 模式验证43
1.8 Mongoose45
1.8.1 快速开始46
1.8.2 连接数据库47
1.8.3 Schema49
需求分析篇
第2章 业务场景的需求分析54
2.1 列表页的需求分析54
2.2 详情页的需求分析55
2.3 表单页的需求分析56
第3章 低代码平台的需求分析58
3.1 用户管理59
3.2 组件市场60
3.3 应用管理61
3.4 可视化编辑器63
3.4.1 列表编辑器63
3.4.2 低代码引擎67
实战篇
第4章 架构的设计与实现74
4.1 什么是低代码74
4.1.1 纯代码、低代码和无代码74
4.1.2 低代码的发展76
4.1.3 低代码平台的分类78
4.2 架构策略80
4.3 低代码组件81
4.3.1 组件的分类82
4.3.2 组件的特征83
4.4 编辑器86
4.4.1 布局编辑86
4.4.2 属性编辑88
4.4.3 数据编辑89
4.4.4 逻辑编辑92
4.5 代码编译器93
4.5.1 代码编译器的演变94
4.5.2 渲染器95
4.5.3 源码生成器97
4.6 插件系统99
4.6.1 什么是插件化架构99
4.6.2 实现插件化架构101
4.6.3 插件化架构与低代码103
4.7 历史记录管理104
第5章 低代码组件的设计与实现106
5.1 组件规格107
5.1.1 组件规格协议108
5.1.2 自动生成组件规格110
5.2 组件的消费方式115
5.3 开发一个脚手架118
5.4 开发一个低代码组件122
5.5 组件市场126
第6章 低代码引擎的设计与实现127
6.1 页面搭建协议128
6.2 入料模块131
6.2.1 插件131
6.2.2 属性设置器132
6.2.3 组件132
6.2.4 引擎面板135
6.3 渲染器环境137
6.3.1 唤起渲染器环境137
6.3.2 与设计器环境通信139
6.3.3 重新渲染画布141
6.4 设计器142
6.4.1 对象建模142
6.4.2 拖曳定位143
6.4.3 编辑属性149
第7章 渲染器的应用实践156
7.1 显示组件156
7.1.1 页面容器158
7.1.2 布局容器159
7.1.3 表单控件160
7.1.4 普通UI组件160
7.2 数据源161
7.2.1 从服务器获取数据源161
7.2.2 从父容器获取数据源166
7.2.3 将数据提供给后代166
7.3 表单联动167
7.3.1 禁用联动168
7.3.2 显隐联动169
7.3.3 取值联动170
7.4 表单校验172
7.5 生命周期174
第8章 代码生成器的原理与实践176
8.1 工作原理及概念177
8.1.1 拆分代码块177
8.1.2 文件类型179
8.2 插件183
8.3 项目构建器189
8.4 文件存储192
8.4.1 GitLab API192
8.4.2 数据库设计195
基础设施篇
第9章 基础设施的技术方案198
9.1 研发体系构建198
9.1.1 GitLab CI/CD198
9.1.2 npm私有库202
9.1.3 CDN服务204
9.2 LDAP账号管理212
9.2.1 搭建LDAP账号管理系统212
9.2.2 接入LDAP账号管理系统218
9.3 开源低代码项目选型实践220
9.3.1 阿里低代码引擎220
9.3.2 网易云音乐低代码引擎223
9.3.3 腾讯低代码项目224
9.3.4 码良H5页面生成平台226

在这里插入图片描述## 书籍前言

  • 为什么要写这本书
    3年前我在就职的公司开发了一个低代码平台,并将其投入生产,该平台投产后在公司内部获得了大量好评。近些年,国内的大厂如腾讯和阿里巴巴等都推出了自己的低代码产品,规模小一些的互联网企业也在开发低代码平台以求提高App的开发效率。Web技术发展到目前这个阶段,程序员开发一个能用的低代码平台已经不是难事,但开发一个好用的低代码平台却相当困难。在这里,我希望把自己关于低代码平台的思考和经验分享出来,给想要了解低代码平台或者正在设计低代码平台的读者提供一些思路和参考。

  • 3年前我开发的低代码平台虽然能创建出App,但存在如下5个问题:

    1)创建的App不能独立于低代码平台运行。
    2)低代码App的JSON Schema不能独立于低代码平台存在。
    3)低代码App没有区分编辑态和运行态,只引入了一个只读状态去判断页面上的组件能否拖曳、删除或编辑属性。
    4)当处于编辑态时,低代码App没有纯净的运行环境。
    5)不存在组件市场,低代码设计器能使用的组件全部写在项目内。

  • 本书介绍的低代码平台解决了上述5个问题。读者通过本书将了解到下面4个方面的内容:

    1)JSON Schema保存到Git仓库中,它不影响线上运行的低代码App,只用于低代码App各版本的预览和重新编辑。
    2)线上运行的低代码App与JSON Schema脱钩,即便低代码平台停止服务,线上的低代码App也能正常运行。
    3)低代码App在编辑态时,设计器和渲染器位于不同的Frame,此时低代码App有纯净的运行环境,这涉及跨Frame拖曳组件。
    4)开发脚手架,并将其用于开发、调试和上传低代码组件,这使得设计器能使用丰富的组件去开发低代码App,同时让低代码组件和低代码平台解耦。

阅读指导

基础篇(第1章)介绍学习本书必备的理论知识,涉及的知识点有React Ref API、React Hooks、React Context API、MobX和MongoDB等。要想在本地运行本书介绍的低代码平台,需要在自己的计算机上安装MongoDB。
需求分析篇(第2章和第3章)介绍业务场景的需求和开发低代码平台的需求。
实战篇(第4~8章)是本书的重点部分,介绍如何开发低代码平台,提供了大量的代码示例,涉及的内容有低代码架构策略、低代码组件、设计器、渲染器和代码生成器等。
基础设施篇(第9章)重点介绍如何使用GitLab CI/CD构建持续部署的Pipeline、如何搭建npm私有库、如何搭建LDAP账号管理系统等。
如果你是一名经验丰富的软件工程师并且对低代码已有较多了解,建议从第4章开始阅读;如果你对低代码了解得不多,那么请从第1章开始学习。

在这里插入图片描述

小程送书

  • 参与方式
    点赞+收藏+任意评论(评论最多三次)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go-zero入门

本文简单介绍了go-zero,以及go-zero相关的安装配置。通过go-zero的hello world级别的一个的单体应用和一个包含两个服务的微服务应用,以实践的方式展示了go-zero项目的入门级搭建。 文章目录 1. 简介2. 快速开发单体应用3. 微服务应用搭建3.1 用户服务 u…

一本书讲透ChatGPT,实现从理论到实践的跨越!大模型技术工程师必读书籍【送书活动】

目录 前言一、内容简介二、作者简介三、专家推荐四、读者对象五、目录福利总结 前言 OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景,在多项专业和学术基准测试中表现出的智力水平,不仅接近甚至有时超越了人类的平均水平…

【Docker】Windows11操作系统下安装、使用Docker保姆级教程

【Docker】Windows11操作系统下安装、使用Docker保姆级教程 大家好 我是寸铁👊 总结了一篇【Docker】Windows11操作系统下安装、使用Docker保姆级教程的文章✨ 喜欢的小伙伴可以点点关注 💝 前言 什么是 Docker? Docker 是一个开源平台&…

linux实现远程文件夹共享-samba

目录 问题描述Samba如何挂载常用参数临时挂载实例一种长期挂载方法(已失败,仅供参考)查看挂载取消挂载umount失败 问题描述 我的代码需要访问存在于两个系统(win和linux)的文件夹,我不是文件夹的创建者&am…

STM32基础--什么是寄存器

STM32 长啥样 我使用的芯片是 144pin 的 STM32F103ZET6,具体见图 STM32F103ZET6 实物图。这个就是我们接下来要学习的 STM32,它将带领我们进入嵌入式的殿堂。芯片正面是丝印,ARM 应该是表示该芯片使用的是 ARM 的内核,STM32F103Z…

three.js如何实现简易3D机房?(一)基础准备-上

目录 一、tips 二、功能说明 1.模型初始化 2.功能交互 三、初始化准备 1.目录结构 2.创建三要素 3.创建轨道控制器 4.初始化灯光 5.适配 6.循环渲染 一、tips 1.three.js入门的相关基础性知识就不在此过多赘述了,可以自行提前了解 three.js docs&…

Pytest框架中的测试用例执行方式!

前言 本文将针对pytest的核心特性之一——测试用例的执行方式展开深入探讨,并通过详尽的实战示例展示如何在不同环境下灵活操控测试运行,同时全面解析pytest中常见的且极具实用价值的命令行选项。 一、从基础到进阶:pytest在命令行下的测试用…

苹果电脑专业的Mac垃圾清理工具CleanMyMac X4.14.7

CleanMyMac X是一款专业的Mac清理工具,它具有强大的功能和易用的界面,可以帮助用户快速清理Mac上的无用文件和垃圾,优化系统性能,提升电脑运行速度。 该软件的核心功能包括智能扫描与清理、应用程序管理、隐私保护和系统维护等。…

简单介绍SpeechPrompt、SpeechPrompt V2、SpeechGen

主要介绍SpeechPrompt、SpeechPrompt V2、SpeechGen SpeechPrompt 模型结构和原理(语音到符号) 整体思路:音频特征提取(HuBert/CPC),离散–》deep prompt speechLM(GSLM)—》概率映射–>目标Verbaliz…

代码随想录刷题笔记-Day28

1. 重新安排行程 332. 重新安排行程https://leetcode.cn/problems/reconstruct-itinerary/给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯…

计算题--时标网络图

时标网络图相当于是双代号网络图和横道图的结合体,特点是多了虚线和波浪线〰️,虚线代表虚工作(只能竖着画),波浪线代表自由时差(横着画)。 在时标网络图中 找关键路径,没有波浪线的…

07_mdioLinux内核模块

01_basicLinux内核模块-CSDN博客文章浏览阅读316次&#xff0c;点赞3次&#xff0c;收藏3次。环境IDubuntuMakefilemodules:clean:basic.creturn 0;运行效果。https://blog.csdn.net/m0_37132481/article/details/136157384my_mdio.c #include <linux/kernel.h> #includ…

【数据结构与算法】深入浅出:单链表的实现和应用

&#x1f331;博客主页&#xff1a;青竹雾色间. &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ✨人生如寄&#xff0c;多忧何为 ✨ 目录 前言 单链表的基本概念 节点 头节点 尾节点 单链表的基本操作 创建单链表 头插法&#xff1a; 尾插法&#…

【数据结构】 简单认识包装类与泛型

文章目录 包装类基本数据类型和对应的包装类拆箱和装箱自动装箱和自动拆箱包装类面试题 什么是泛型为什么要使用泛型泛型类的创建语法泛型类的使用语法示例类型推导(Type Inference) 裸类型(Raw Type)泛型如何编译的擦除机制为什么不能实例化泛型类型数组 泛型的上界语法示例复…

【C语言】Leetcode 876. 链表的中间节点

主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《Leetcode》 题目 通过题目的要求可以判断出有两种示例要解决&#xff0c;一种是偶数节点的链表&#xff0c;一种是奇数节点的链表&#xff0c;应对这两种情况我们需要使程序对二者都可以兼容。 解决思路 struct ListNode…

03. Nginx入门-Nginx虚拟主机

Nginx虚拟主机简介 yum安装与源码安装一样&#xff0c;只是Nginx配置文件路径不一致&#xff0c;这里用的yum安装的配置文件路径。 利用虚拟主机的功能&#xff0c;可以在一台Nginx服务器上部署一个或多个虚拟主机。 虚拟主机主配置文件 注意&#xff1a;配置完成Nginx主配置…

时间序列数据平稳性检验与随机性分析

1、实验内容: 分析1964年到1999年中国纱产量的时间序列&#xff0c;主要内容包括: (1)、通过图分析时间序列的平稳性&#xff0c;这个方法很直观&#xff0c;但比较粗糙; (2)、通过计算序列的自相关和偏自相关系数&#xff0c;绘出自相关图&#xff0c;根据平稳时间序列的性质分…

splay学习笔记重制版

以前写的学习笔记&#xff1a;传送门 但是之前写的比较杂乱&#xff0c;这里重制一下 问题背景 假设我们要维护一个数据结构&#xff0c;支持插入、删除、查询某个值的排名&#xff0c;查询第 k k k大的值等操作。 最直接的想法是用二叉搜索树&#xff0c;也就是左子树权值&l…

Java实现手机库存管理

一、实验任务 编写一个程序&#xff0c;模拟库存管理系统。该系统主要包括系统首页、商品入库、商品显示和删除商品功能。每个功能的具体要求如下&#xff1a; 1.系统的首页&#xff1a;用于显示系统所有的操作&#xff0c;并且可以选择使用某一个功能。 2.商品入库功能&…

《JAVA与模式》之访问者模式

系列文章目录 文章目录 系列文章目录前言一、分派的概念二、分派的类型三、访问者模式的结构四、访问者模式的优点五、访问者模式的缺点 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网…