低代码平台开发——基于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.hqwc.cn/news/512100.html

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

相关文章

消息队列-Kafka-基础架构

基础架构 官网地址 上面这张图类比RocketMQ 相当于对一个主题进行了分区(类似于RockeMQ 消息队列),每个分区存储到不同的Broker。在发送消息的时候都是发送到主分区。如果一台Broker由于其它节点备份了挂掉节点的数据,所以可以…

文心一言 VS 讯飞星火 VS chatgpt (208)-- 算法导论15.4 5题

五、设计一个 O( n 2 n^2 n2) 时间的算法,求一个 n 个数的序列的最长单调递增子序列。要写代码的时候,请用go语言。 文心一言,抛panic: 在 Go 语言中设计一个 O(n^2) 时间复杂度的算法来求一个 n 个数的序列的最长单调递增子序列…

从Win转Mac,我的感受如何

文章目录 前言MacBook优点美观动画流畅安装软件方便轻便、续航强大多数命令和Linux通用系统稳定、安全做工精美、视听体验好CPU性能较好触控板体验好 MacBook缺点缺乏部分软件部分操作逻辑不是很科学?玩不了多少游戏 总结与展望 前言 整个大学期间,我的主…

JavaScript - 基础写法

JavaScript - 基础写法 1、JavaScript 的三种书写方式 内联&#xff1a; <script></script> script标签写在body结束的位置 外联(引入外部的js文件形式、cdn) <script src"js文件路径&#xff08;本地的/外部&#xff09;">这里不要写其他js代码…

泊位与岸桥联合调度问题

研究课题 泊位与岸桥联合调度 要解决问题 通过控制船舶航速&#xff0c;控制船舶实际到港时间&#xff1b;通过分配泊位&#xff08;靠泊位置&#xff09;和岸桥数量&#xff0c;控制该船舶实际离港时间以及同一泊位的下一艘船的开始靠泊作业时间。 研究目标 对于计划期内所有…

设计模式:工厂模式 ⑤

一、思想 工厂模式&#xff1a;一个中介作用&#xff0c;在创建对象的时候。 主要作用&#xff1a;屏蔽对象创建过程&#xff0c;减少上层关注度&#xff0c;解耦并且内部方法可做更多扩展增强的处理。(比如使用映射消除if代码&#xff0c;存在多个同类对象需要抽象策略处理的时…

华为配置基于VLAN限速示例

华为配置基于VLAN限速示例 组网图形 图1 流量监管配置组网图 表1 Switch为上行流量提供的QoS保障 流量类型 CIR(kbps) PIR(kbps) DSCP优先级 语音 2000 10000 46 视频 4000 10000 30 数据 4000 10000 14 ^^^ 流分类简介配置注意事项组网需求配置思路操作步…

solana-keygen new生成的地址与用其助记词导入钱包后的地址不一致

问题&#xff1a;solana-keygen new生成的地址与用其助记词导入钱包后的地址不一致 答案&#xff1a;将输入BIP39 Passphrase这一步省了&#xff0c;也就是直接回车&#xff0c;啥也不输入。 原理&#xff1a;输入Passphrase会再进行一次加密运算&#xff08;私钥&#xff0c;…

《springcloud alibaba》 三 sentinel流量控制

目录 sentinel准备流控规则 qpspom.xmlapllication.yml启动类controller查看结果流控提示不太友好 流控规则 线程数全局异常处理pom.xmlapplication.yml启动类实体类controller类异常类测试 关联流控模式关联jmeter 链路servicecontroller代码调整 流控效果Warm UP 熔断降级规则…

【快刊合集】中科院2区SCI,Elsevier出版社,仅2个月录用!

【SciencePub学术】 1 计算机智能类SCI&#xff08;高质量/分区上升&#xff09; 【期刊简介】IF&#xff1a;6.5-7.0&#xff0c;JCR1区&#xff0c;中科院2区 【出版社】Elsevier出版社 【版面类型】正刊&#xff0c;仅5篇版面 【检索情况】SCIE在检&#xff0c;预计3个…

AI日报:埃隆·马斯克起诉OpenAI

埃隆马斯克&#xff08;ElonMusk&#xff09;正在起诉OpenAI涉嫌违约&#xff0c;声称这位ChatGPT的创建者违反了其成为非营利组织的创始承诺&#xff0c;这位科技亿万富翁表示&#xff0c;他资助并培育了这一承诺。 在一份长达46页的爆炸性投诉中&#xff0c;马斯克将OpenAI首…

在三个el-form-item中的el-radio的值中取一个发送给后端怎么获取

问: 请问,这段代码怎么获取:无策略,策略1,策略2的值? 回答: 问: 三个里面只可以选中一个吗? 回答: