学习日志-《掘金/知乎-低代码》笔记

邬良才
2023-12-01

前言

本文记录了学习《掘金/知乎-低代码》过程中的所有笔记。

    1. 前端智能化看“低代码/无代码” https://juejin.cn/post/6959794588898820127

    2. 今天的人们越来越难以被提前定制好的软件所满足。低代码/无代码开发则赋予人们创造软件的能力,进而帮助人们低成本、即时、高效的直接生产符合自己需求的软件,进而操作众多复杂的电子设备和数字世界建立联结。我认为,这是不可逆的趋势,也是低代码/无代码开发的大方向。

    3. 阿里的各种cook,以及他们的成果及收益

    4. 有哪些成熟的低代码/无代码开发平台?

    5. 低代码/无代码开发未来发展的方向一定是:AI 驱动的“人机协同编程”,将完整开发一个软件变成提供局部的软件功能,类似 Apple 的“捷径”一样,由用户决定这些局部软件功能如何组装成适合用户的软件并交付最终用户。AI 驱动提供两个方面的价值:降低开发成本,降低使用成本

    6. 目前的低代码是搭建

    7. 最初在 D2 上提出并分享“前端智能化”这个概念的时候,我就提出:识别、理解、表达 这个核心过程。我始终认为,达成 AI 驱动的“人机协同编程”关键路径就是:识别、理解、表达。因此,围绕 AI 识别、 AI 理解、 AI 表达我们和国内外知名大学展开了广泛

    8. 前端智能化:让前端跟上 AI 发展的浪潮

    9. 给前端靠谱的机器学习框架”开源github.com/alibaba/pipcook

    10. 因为懒,我把公司的后管定制成了低代码中台 因为懒,我把公司的后管定制成了低代码中台 - 掘金

    11. 的完成度很高的低代码工具h5-dooring、FormMaking、vue-form-create。发现有生成代码功能的也只是生成JSON,再使用一个解析JSON的组件做解析。

    12. 低代码有一定的局限性,但是对于项目来讲可以把定制部分使用无代码平台,在toB和toG上应用挺多的,之前在IDC行业低代码完成80%的工作内容,工控领域的labview也是低代码(图形化编程)

    13. 低代码需要先设定好协议,和业务对象,及业务对象关系

    14. VForm可以生成真正的vue代码,生成SFC,完全脱离框架运行: www.vform666.com

    15. Dreamweaver你值得拥有

    16. 双向的 监测重绘是个问题,一般都是生成布局json 和 导入json转成布局,做适合自己公司业务的 会比市面好点的低代码平台更适配自己公司业务,通用的 一半呢很难解决公司的业务,

    17. 远程加载组件是怎么做的-systemjs了解下,也可自定义加载器加define函数,这个东西很好写

    18. 设计稿识别 设计稿(UI视图)自动生成代码方案的探索 - 美团技术团队

    19. lowcode实话实说更适合h5活动平台那些

    20. 阿里宜搭,腾讯微搭都有类似的解决方案,数据模型与页面元素/变量关联,可以参考

    21. 低代码 yyds - 低代码 yyds - 掘金

    22. 这些开源项目:

      鲁班 h5:地址:github.com/ly525/luban…

      个人作品低代码:地址:github.com/woai3c/visu…

      构建页面可视化:地址:github.com/fantasticit…

      随心秀:地址:github.com/lzuntalente…

      h5-factory:地址:github.com/yangyuji/h5…

      H5 移动端低代码平台:github.com/buqiyuan/vi…

      海报生成器:地址:gitee.com/vitojc/fast…

      jeecg-boot:地址:gitee.com/jeecg/jeecg…

      amis:gitee.com/baidu/amis

      seezoon-stack:地址:gitee.com/huangdf/see…

    23. 工程化之低代码体系-工程化之低代码体系 - 掘金

    24. 低代码的一种说法:结果一定是可以二次开发的代码,无代码,面向无开发经验者,无法快速拓展新型业务,开发介入有延后性

    25. 低代码不错的使用场景:电商行业

    26. 低代码的技术意义,低代码的商业价值

    27. 低代码是对已知业务的约束与封装,当搭建+二次开发的效率远超 高代码的时候,低代码才有价值

    28. 如果大家接触前端的年限比较早的话,那么一定听过或使用过 Dreamweaver 这款前端工具。实时预览 + 拖拽配置很酷炫,但没有业务模型约束,也没有上述物料库的支持,生成出来的代码还不如手写,那么这款产品只有在 demo 阶段还是有很不错的效果,但在实际开发中就失去了所具备的优势。

    29. 要有业务模型与边界,当脱离了业务模型与边界之后,你会发现可视化搭建的心智成本带来的副作用会远超单纯的工具组合开发。

    30. 那么第一步的产出就是对业务的提炼,从基础的组件库上升到物料库。

      这里将物料库的组成再放大一点(暂时没有更好的词语形容)

      物料库是由基础组件、业务组件、业务模板、业务框架、基础代码区块、业务代码区块等等一系列组成的一个庞大的物料体系。

      基本上可以通过上述的物料碎片快速构建出完成当前业务 70 - 90% 以上的代码。

    31. 低代码的核心思想:基于JSON Schema,简单易用。中心思想就是数据控制视图显示,所有的操作功能本质上都是在操作数据。

    32. 摸鱼神器!开发效率提升 1000% 的 Vue 低代码表单组件 - 摸鱼神器!开发效率提升 1000% 的 Vue 低代码表单组件 - 掘金

    33. Vue.js 低代码表单组件,基于 Element UI 二次开发而成。命名为 wti-form,针对于管理后台的低代码表单场景

    34. 表单生成的话阿里的formily就很强,不过是用react写的,但也支持vue和element-ui

    35. 低代码真的是“行业毒瘤”吗?-低代码真的是“行业毒瘤”吗? - 掘金  重点!!!!

    36. 低代码开发(Low-Code Development,LCD),这个概念是在 2011 年被正式提出的,开发者主要通过图形化用户界面和配置来创建应用软件,而不是像传统模式那样主要依靠手写代码

    37. 这种可视化的开发方式,可以追溯到更早的 Dreamwaver 时期。而随着前端项目的日趋复杂,这种方式已不再适应现代项目的需求,于是渐渐被更专业的工程化的开发模式所取代。

    38. 一种是在高度定制化的场景中(比如多表单),基于经验总结,找到那些相对固定的产品形态,例如公司介绍、产品列表、活动页面等,开放少量的编辑入口,让非专业开发者也能使用,这其实就是无代码方式了。

      另一类则相反,顺着早期可视化开发的思路,尝试以组件化和数据绑定为基础,通过抽象语法或 IDE 来实现自由度更高、交互复杂度上限更高的页面搭建流程。这种项目开发方式通常需要一定的开发经验与编码能力,只是和普通编码开发方式相比,更多通过操作可视化工具的方式来达到整体效率的提升,因此被称为低代码开发。

      在实际场景中,尤其是商用的低代码平台产品,往往提供的是上面两种开发方式的结合。

    39. 2:如果学过浏览器基本原理,你会知道:每一个页面的内容在浏览器中,最终都归结为 DOM 语法树(DOM Tree)+ 样式(Style)+ 动态交互逻辑(Dynamic Logic)。

      3:在组件化开发的今天,一个规范定义的组件包含了特定功能的 DOM 子树和样式风格。因此页面的内容又可以定义为:组件树(Component Tree)+ 动态交互逻辑(Dynamic Logic)。

      而基于 JSON-Schema 的低代码开发的切入逻辑是:在特定场景下,例如开发中后台增删改查页面时,大部分前端手动编写的代码是模式化的。页面组件结构模板和相应数据模型的代码组织,可以替换为更高效的 JSON 语法树描述。

      通过制定用于编写的 JSON 语法图式(JSON Schema),以及封装能够渲染对应 JSON 语法树的运行时工具集,就可以提升开发效率,降低开发技术要求

    40. 低代码开发的产品有很多,其中既包括商用的产品,例如 Kony、OutSystems、Mendix、Appian、iVX(国内)等,也包括开源类的产品,例如阿里飞冰、百度 Amis、贝壳河图、Vvvebjs、react-visual-editor 等。这里就不一一介绍了,感兴趣的话,可以进一步搜索了解

    41. 小程序也是一种低代码,不适用于所有情况,提升特定情况下的效率。

    42. 低代码是为了尽可能规避一致性问题,将重复的容易出错的流程细节屏蔽,提升软件的开发效率和稳定性。使用框架和架构组件,本质上也算低代码。正解,前端的各种脚手架工具,其实就是低代码的一种表现形式

    43. 整个可视化搭建系统分为三部分,分别是配置页(setting),视图页(view) 和 json schema。配置页生成 json schema,视图页消费 json schema 核心是JSON 

    44. Json Schema定义了一套词汇和规则,这套词汇和规则用来定义Json元数据,且元数据也是通过Json数据形式表达的。Json元数据定义了Json数据需要满足的规范,规范包括成员、结构、类型、约束等。

    45. { "type": "object",     "properties": {      "city": { "type": "string" },         "number": { "type": "number" },         "user": {          "type": "object",          "properties": {              "name" : {"type": "string"},                 "age" : {"type": "number"}             }                              } } }

    46. 搭建一个低代码平台给你打下手!- 搭建一个低代码平台给你打下手! - 掘金

    47. 低代码的定义(百度百科),不建议ppt使用

    48. 通过对百度百科介绍的解读,低代码平台需要具备以下几个特征:

      0代码或少量代码快速生成应用

      提供可视化界面进行程序开发

      使用拖拽等操作实现客户端的搭建

    49. 低代码 火火火!- 低代码 火火火! - 掘金

    50. 早八辈子的CMS可视化模版现在叫低代码

    51. 低代码,要怎么低?和低代码有关的 10 个问题-低代码,要怎么低?和低代码有关的 10 个问题 - 知乎 重要!!!!!

    52. 低代码这个称呼是 Forrester 在 2014 年提出的,指那些用可视化方式创建应用的平台,特点是代码量比传统开发少得多,甚至无代码,所以能显著提升开发效率。

    53. 要回答这个问题,首先按《人月神话》里的说法将软件开发进行分类:

      所有软件活动包括:

      根本任务--打造构成抽象软件实体的复杂概念结构。

      次要任务--使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。

    54. 根本任务」无法解决,因为它就是需求本身,唯一解决办法是砍需求。

    55. 这个定义比较模糊,使得低代码平台有各种各样的形式,我见到的就有以下几种:

      1. 在线 IDE 和编辑器,界面方面虽然有可视化设计,但需要二次开发才能用。

      2. 提供一站式开发平台,提供了持续集成、部署和运维等功能,包含开发全流程。

      3. 简化前端开发,界面方面可以做到不用写 JavaScript。

      4. 简化后端开发,可以在线设计数据结构,并实现增删改查功能。

      5. 彻底简化前后端开发,甚至变成无代码平台,什么都可视化编辑,易用性好,但牺牲了灵活性,这里面有很多子分类,比如 BPM、OA 系统、APP 开发等。

      6. 围绕某个成熟产品扩展功能,比如 CRM、ERP 之类的产品,为了满足定制需求,提供定制开发功能。

    56. 低代码平台会带来什么新问题?

      尽管低代码平台能明显提升效率,但它也会带来新的问题,比如扩展性、难以支持复杂场景、性能等问题,但在我看来最大的问题是平台锁定,许多问题都是这点带来的:

      平台使用自己内部独立的框架,需要额外的学习成本。

      平台是个黑盒,不清楚内部如何实现,遇到 bug、性能等问题只能求助官方。

      如果有的需求不能满足,需要等平台的排期升级。

      信息分布在各处,不像本地代码那样方便全局搜索,对于不熟悉的新人往往得在各个界面里找半天,而且是功能越强大的平台越难找。

      不方便多人协作,有的平台只提供少量环境,难以做复杂的分支管理。

      平台后续发展是个未知数,哪天倒闭了怎么办?Google 4 年前发布了一款低代码创建 APP 的产品 Google App Maker,既能可视化创建界面,又能写 JavaScript 扩展功能,但它在今年 2 月份的时候宣布关闭,无法导出,用户只能自己重写一个,连 Google 的低代码平台都会关闭,其它小公司就更别说了。

    57. 前端开发的主要工作是界面、交互和业务逻辑,20 年前的 FrontPage 和 Dreamweaver 就实现了可视化编辑页面,但它们生成的代码远不如手写,后来随着前端重构的流行,开发者又回归到通过写代码来制作页面。

    58. 后端如何低代码?

      在后端方面,低代码平台主要能解决这几类问题:

      1. 系统开发通用性问题,比如

      1. 登录、帐号/角色、权限管理

      2. 页面路由和导航

      3. 外部系统对接,有的还提供一种通用协议来连各种数据源

    59. 数据管理,增删改查

    60. 流程管理

      1. 开发及运行环境

其中最常用的是增删改查,要如何实现?目前见到有这 3 种方式:

      1. 基于表单,优点是用起来简单,只需要设计好表单就可以用了,但缺点是灵活性要弱,难以支持复杂的关系。

      2. 基于数据模型,需要先定义数据模型,优点是灵活性强,但易用性又差了,非开发人员使用会有成本。

      3. 提供 BaaS 服务,比如开源的 Parse,通过提供友好的 API 来实现用户管理、数据存取等功能,这种方式需要写后端代码,但灵活性高

    1. 对低代码、零代码产品的一些看法-https://zhuanlan.zhihu.com/p/156887528

    2. 的业务的复杂度只会转移,是不会消失的。用代码表达,或者搭建系统表达,本质上只是改变了其组织形态,得到的管控方式有所差别,其业务实质是一样的。

    3. 结合我们在上一节提到的,一种可搭建平台的底层实质上是一种框架:

      • 写代码扩展业务能力,是基于框架的扩展点,并且这些扩展可以被管理起来

      • 代码少一些,是因为框架额外提供了一些能力

纵观整个应用开发体系,我们可以发现,最适合低代码发挥的前提是:

    • 针对一个特定业务领域,已经存在完整的标准化业务实现了

    • 交互集也已经齐备

  1. 从应用范围上来说,零代码开发目前能做的和20年前差不多,还是局限于细节的开发领域。这些开发可以总结出共性,可以标准化,可以设计出图形化的界面给最终用户使用,因此能大幅提升效率。

    目前的零代码开发平台主要有三类,界面设计类、表单流程类、数据管理类。

    第一类是界面设计类,通过拖动的方式绘制用户界面。思路与传统的自助建站系统雷同,只是现在进行了扩展,不只是开发网页,还能与后台的业务数据交互。不仅能绘制电脑端的界面,还能设计手机端的样式。典型的厂商有 微软的 PowerApps,被西门子收购的Mendix,以及获得大笔融资的Outsystems 。

    第二类是表单流程类,这一类工具谈不上新技术,基本上就是BPM厂商在炒作,还是20年前那一套图形化的流程设计、表单设计工具,换汤不换药。这一类工具只实现了审批的过程管理,流程结束,管理就结束了。

    第三类是数据管理类,这一类工具最早的实现方式其实是Excel,可以设定很多字段,可以把数据录入进去然后进行统计。随着应用的深入,为了实现共享编辑,Google发明了云端的Excel,可以多人同时编辑,可有追踪每个人的修改痕迹。但Excel不能定义字段类型,不能做输入校验,不能控制权限,于是 Salesforce 发明了云端数据库的模式,可以在线创建数据表,设定字段,并融入了第一类和第二类开发工具的界面设计、流程设计的功能,打造了一套云端开发管理系统的新模式,也因此迅速红遍全球,成了最热门的管理软件开发工具。

    零代码只是一个花架子,低代码开发平台是最好的选择

    因此笔者认为,在界面上绘制业务逻辑是不懂开发的无奈选择,对于程序员来说,编写脚本思路更加清晰、更容易阅读和修改、更容易调试,开发效率更高。国产低代码开发平台华炎魔方选择编写脚本的方式来开发业务逻辑,可以很方便的实现本地调试、单步追踪、复制粘贴、以及多人协作下的源码版本管理。

  2. 还是需要看低代码或者无代码的厂家的定义跟定位,我认为业务逻辑是做不到无代码的,而低代码平台搭建的代价及成本又是特别高,参考SAP那种的,成型之后还是需要SAP顾问进行配置,ABAPer进行定制开发,Salesforce也是一样的套路。

  3. 感觉主要是对不想搞IT部门但又可以通过IT技术对工作进行优化的的部分传统企业,比如电力系统的抄表以及汇总评估只需要简单的几个逻辑就够了,一个员工维护Salesforce足以。

    另外就是游戏方面的了,针对非IT相关创作者的游戏编辑器比如橙光和RPGMaker其实也算低代码吧。

  4. 国内低代码平台开发能力对比 ——低代码平台真的对程序员友好吗?- https://zhuanlan.zhihu.com/p/98964498

  5. 的目前国内较成熟的低代码平台大体有:iVX、牛刀、ClickPaaS、JEPaaS、华炎、氚云、搭搭云、简道云、魔方网表、云表、宜搭云、APICloud、活字格、轻流、明道云。文章介绍各个平台的功能对比

  6. 蛮多新晋品牌,但是好多耕耘十几年的知名厂商都没有被列入呢,天翎、普元、天纵......

  7. 营销广告文章。。。

  8. 低代码会导致程序员失业吗?- https://www.zhihu.com/question/505230349

  9. OutSystems 宣布获得3.6亿美元投资、估值过10亿美元。Mendix被西门子 7 亿美元收购。

    国内的简道云、明道云、氚云、钉钉宜搭、轻流、易鲸云等,也先后获得了数额不菲的融资。

  10. 在接受 Creatio 调研的 1000 位开发高管中,95% 的人认为低代码开发速度相对于传统方式有提高,其中 61% 的高管认为提高速度在 40% 以上。

  11. 为什么低代码最近今年又火了起来?- 为什么低代码最近今年又火了起来? - 知乎 重要 有低代码的数据图表

  12. 2019年,Gartner重新界定并看好新概念“LCAP”(低代码/无代码开发平台)。著名研究机构Forrester Research也表示看好:

    “企业开发团队正在采用低代码/零代码开发平台,市场的增长前景似乎一片乐观。2020年低代码市场规模或将达到155亿美元,超过75%的应用程序将在低代码/零代码平台中开发。公民 开发者的比例将从2017年的40%提升到2020年的70%。”

    ——Forrester Research

    到2024年,四分之三的大型企业将至少使用四个低代码开发工具进行IT 应用程序开发和公民开发计划。到2024年,低代码应用程序开发将占应用程序开发活动的65%以上。

    ——Gartner

  13. 供需矛盾,Gartner曾预言,到了2021年,市场对于应用开发的需求将五倍于IT公司的产能。但研究表明,专业的IT人员只能够满足企业6%的IT需求。

    所以明眼人都能看出来即将加剧的供需矛盾:企业的IT需求成倍增加 VS 开发新的程序需要复杂的技术、高昂的成本。

    因此在过去,信息化是大型企业才会考虑的事情,因为软件的采购周期很长,通常整个公司集中采购和部署,成本居高不下。但传统的ERP、CRM覆盖面非常有限,大部分大公司的部门级应用都是无法被满足的。

    中小型企业转型面临的阵痛就不断暴露出来了:

    1、市场环境在高速变化发展,内部系统也需要快速迭代响应,但传统开发效率哪里满足得了?

    2、日益上涨的人力成本和时间成本,一般企业根本负担不起。

    3、购买成型的软件,使用后水土不服,压根创造不出价值。

  14. 可视化(Visual)程序设计是一种全新的程序设计方法,它主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木式地构造应用程序的各种界面。低代码的底层逻辑其实是可视化编程

  15. 无代码和低代码也是不分家的。通常,低代码工具也会辅以可视化工具,而无代码工具也会允许用户通过代码或API来进行功能的扩充。很多业务可以通过可视化进行清晰的呈现,但不是所有的抽象逻辑都适合可视化。作为早一辈的「无代码工具」,Excel里提供了宏函数这个功能,允许用户在工具预制的公式外也能通过编写VBA代码来自定义复杂的函数,从而实现功能的扩展

  16. 在2014年Gartner提出低代码的概念后,很快就被广泛的采用。他们预估在2021年,低代码的市场已经带来138亿美金的市场规模,年增速超过22%;2022年市场将进一步加速成长,增速超过30%。

  17. 低代码/无代码的发展历程?从1980年开始

  18. (4)2014年:Forrester提出低代码/零代码概念

    低代码开发(Low-code)一词,来源于国际知名市场调研企业Forrester在2014年的报告中,它提出无需编码或通过少量代码就可以快速生成应用程序的开发平台。这类平台面向的是IT专家或者平民程序员,以快速交付应用程序为目的,解决传统软件开发模式带来的周期长、成本高等问题,客户群体主要为软件开发公司或者拥有IT专家的中大型企业。

    无代码开发(No-code): 在低代码开发平台的基础上提出的,它面向的用户是业务人员,而不是IT专家。业务人员根据业务的实际需求,可以自行设计并使用应用程序,新需求可以自行增加,不依赖IT专家,没有严格的设计时和运行的界限,新需求即时更改,即时上线,且无需部署。

  19. 二、低代码能火的9大原因!其中资本青睐,社会发展(供需矛盾),降本提效

  20. 什么是低代码(Low-Code)?- https://zhuanlan.zhihu.com/p/297689126

  21. 逍遥子在9月份的云栖大会上说:“新技术代表的新生产力,一定是我们全速战胜疫情、开创未来最好的原动力。” 那么在后疫情时代,究竟需要什么样的新技术,才能真正解放IT生产力,加速社会数字化转型,Make The World Great Again?我认为是低代码(Low-Code)。

  22. 另一方面,低代码还能让不懂代码的业务人员成为所谓的平民开发者(Citizen Developer),弥补日益扩大的专业人才缺口,同时促成业务与技术深度协作的终极敏捷形态(BizDevOps)。

  23. 低代码的Wikipedia定义,Forrester定义,2014年就由Forrester提出了

  24. 根据Forrester在2016年的调研,大部分公司反馈低代码平台帮助他们把开发效率提升了5-10倍。

  25. 书籍《人月神话》 论文《没有银弹》

  26. 低代码就像是现代的“视频”,大部分内容都由直观易理解、表达能力强的图片组成,因此更容易被大众所接受。

  27. 纯代码则更像是传统的“文章”,虽然很久以来都一直是信息传播的唯一媒介,但自从视频技术诞生以及相应软硬件基础设施的普及以来,便逐渐开始被抢走了风头。未来会共存

  28. nocode是 low code的子集(gartner划分)

  29. 然而,诞生还不太久的IT信息时代,也正面临着与我国社会主义初级阶段类似的供需关系矛盾:落后的软件开发生产力跟不上人民日益增长的业务需求。

  30. Gartner预测,到2021年应用开发需求的市场增长将至少超过企业IT交付能力的5倍。面对如此巨大的IT缺口,如果没有一种革命性的“新生产力”体系,很难想象仅凭现有传统技术体系的发展延续就能彻底解决问题。

  31. 低代码助力软件开发工业化。

  32. 低代码领域的另一个巨头OutSystems,早在2001年就已经创立;而去年也被Forrester评为低代码行业leader之一的FileMaker,更是诞生于遥远的1985年

  33. 技术成熟度曲线,低代码正逢其时

  34. 复用(Reuse)是提升软件开发效率和工程质量的最有效途径。传统的代码开发模式下,开发者可以通过提取公共类/函数、引用共享库、调用外部API服务、沉淀代码片段和模板等方式实现复用。在低代码的世界里,平台也可以提供对应的多层次多粒度复用手段,比如页面组件库、逻辑函数库、应用模板库等

  35. DRY/KISS/SOLID原则

  36. Forrester在2015年曾预测过,低代码的市场将从2015年的17亿美元增长至2020年的150亿美元。

  37. Marketsandmarkets在今年四月份的分析报告中预测,低代码的市场将从2020年的130亿美元(估算值,可以看出来与Forrester当年的预测是接近的)增长到2025年的450亿美元(年复合增长率:28.1%)。

  38. PS Inteligence在2018年的分析报告中预测,全球的低代码开发平台市场中,亚太地区将在今后五年(2019-2024年)中保持最高的增长速度。

  39. 低代码应用金字塔,越简单的应用,越适合低代码

  40. 国内外低代码的融资情况

  41. 提效虽然被说烂了,但软件工程发展中,几乎大部分工作都能归结到在提效。比如 Vscode、Typescript 提升编码效率;React、Vue 框架提升程序研发效率;工作台、可持续集成提升协同开发效率,等等,连微软都称自己的使命是赋能全球每一人、每个组织成就不凡,很大程度上就是在说提升整个社会的生产效能

 类似资料: