新書推薦:
《
宋代冠服图志(详尽展示宋代各类冠服 精美插图 考据严谨 细节丰富)
》
售價:HK$
87.4
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
77.3
《
加加美高浩的手部绘画技法 II
》
售價:HK$
89.4
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
87.4
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
188.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
132.2
《
《日本文学史序说》讲演录
》
售價:HK$
72.8
|
編輯推薦: |
低代码平台是一组工具和流程的集合,可提升开发速度,降低开发门槛,让非技术人员也可以自己开发应用。低代码平台虽然可用于创建应用程序,但它本身也是应用程序,开发低代码平台对研发体系、设计规范、交互规范的要求都相当高。本书不仅包含详细的代码实现,还包含需求分析和设计思路等其他必要内容。因为开发低代码平台具有较高的门槛,为了帮助读者轻松开发出属于自己的低代码平台,本书对协议、组件、设计器和代码生成器等低代码核心内容进行了详细解读,还配有可直接使用的源码和一个包含前端与后端代码的开源项目。
|
內容簡介: |
本书由三部分组成,第 一部分介绍基础理论知识,第二部分介绍如何构建低代码系统,先进行需求分析,涉及列表页、详情页和表单页的布局需求和逻辑需求,可视化编辑器、应用管理、组件市场和用户管理的需求等内容,然后介绍设计思路,包含架构设计、Schema 设计、组件库市场和 MongoDB Document 设计等,z后介绍详细的编码过程,包括可视化编辑器的实现、渲染 SDK 的实现、版本控制,以及如何将其集成到其他系统。
|
關於作者: |
秦小倩(网名何遇)资深前端工程师,精通TypeScript、JavaScript,以及React和Vue等框架。曾就职于多家知名互联网公司,均从事前端开发相关工作,拥有丰富的现代Web应用开发经验。2019年开始专注于低代码平台的研究和开发,曾在公司内部落地一个完整的低代码平台,用户通过该平台在1个季度内创建了200余个页面。掘金和微信公众号作者,专注于分享前端知识,通过微信公众号“前端知识小站”发表了近百篇原创技术文章
|
目錄:
|
前言基础篇第1章 前置知识21.1 函数组件与类组件21.2 React Ref API41.3 React Hooks71.3.1 useState71.3.2 useRef91.3.3 useEffect101.3.4 useReducer121.3.5 自定义Hooks161.4 React Context API171.5 深入理解React的渲染流程191.5.1 生命周期流程191.5.2 渲染流程211.5.3 immutable与React渲染241.6 MobX状态管理库271.6.1 从一个Demo开始271.6.2 MobX的核心概念301.6.3 集成React351.7 MongoDB391.7.1 安装MongoDB401.7.2 数据建模411.7.3 模式验证431.8 Mongoose451.8.1 快速开始461.8.2 连接数据库471.8.3 Schema49需求分析篇第2章 业务场景的需求分析542.1 列表页的需求分析542.2 详情页的需求分析552.3 表单页的需求分析56第3章 低代码平台的需求分析583.1 用户管理593.2 组件市场603.3 应用管理613.4 可视化编辑器633.4.1 列表编辑器633.4.2 低代码引擎67实战篇第4章 架构的设计与实现744.1 什么是低代码744.1.1 纯代码、低代码和无代码744.1.2 低代码的发展764.1.3 低代码平台的分类784.2 架构策略804.3 低代码组件814.3.1 组件的分类824.3.2 组件的特征834.4 编辑器864.4.1 布局编辑864.4.2 属性编辑884.4.3 数据编辑894.4.4 逻辑编辑924.5 代码编译器934.5.1 代码编译器的演变944.5.2 渲染器954.5.3 源码生成器974.6 插件系统994.6.1 什么是插件化架构994.6.2 实现插件化架构1014.6.3 插件化架构与低代码1034.7 历史记录管理104第5章 低代码组件的设计与实现1065.1 组件规格1075.1.1 组件规格协议1085.1.2 自动生成组件规格1105.2 组件的消费方式1155.3 开发一个脚手架1185.4 开发一个低代码组件1225.5 组件市场126第6章 低代码引擎的设计与实现1276.1 页面搭建协议1286.2 入料模块1316.2.1 插件1316.2.2 属性设置器1326.2.3 组件1326.2.4 引擎面板1356.3 渲染器环境1376.3.1 唤起渲染器环境1376.3.2 与设计器环境通信1396.3.3 重新渲染画布1416.4 设计器1426.4.1 对象建模1426.4.2 拖曳定位1436.4.3 编辑属性149第7章 渲染器的应用实践1567.1 显示组件1567.1.1 页面容器1587.1.2 布局容器1597.1.3 表单控件1607.1.4 普通UI组件1607.2 数据源1617.2.1 从服务器获取数据源1617.2.2 从父容器获取数据源1667.2.3 将数据提供给后代1667.3 表单联动1677.3.1 禁用联动1687.3.2 显隐联动1697.3.3 取值联动1707.4 表单校验1727.5 生命周期174第8章 代码生成器的原理与实践1768.1 工作原理及概念1778.1.1 拆分代码块1778.1.2 文件类型1798.2 插件1838.3 项目构建器1898.4 文件存储1928.4.1 GitLab API1928.4.2 数据库设计195基础设施篇第9章 基础设施的技术方案1989.1 研发体系构建1989.1.1 GitLab CI/CD1989.1.2 npm私有库2029.1.3 CDN服务2049.2 LDAP账号管理2129.2.1 搭建LDAP账号管理系统2129.2.2 接入LDAP账号管理系统2189.3 开源低代码项目选型实践2209.3.1 阿里低代码引擎2209.3.2 网易云音乐低代码引擎2239.3.3 腾讯低代码项目2249.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,同时让低代码组件和低代码平台解耦。读者对象有React、Node.js和数据库基础,想开发低代码平台的读者;想全面了解低代码平台组成及原理的读者;对开发低代码平台感兴趣的读者。如何阅读本书本书分为4篇。基础篇(第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章开始学习。本书提供的开源项目的源码位于https://github.com/react-low-code,建议读者将涉及的开源项目复制到自己的计算机上,这样可以边学习本书边调试,从而更好地理解本书的内容。勘误和支持由于我的水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。你可以将书中的错误发布到本书开源项目的issue页面中。如果你遇到其他问题,也可以访问issue页面并留言,我将尽量在线上为读者提供满意的解答。书中的全部源文件可以从https://github.com/react-low-code下载。如果你有更多的宝贵意见,欢迎发送邮件至1395294694@qq.com,也可以我运营的公众号“前端知识小站”(账号:heyu-web)与我联系或加入读者群。致谢感谢我的爱人在过去一年多的时间里始终支持我写作,他的鼓励和帮助使我顺利完成全部书稿。
|
|