-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
精读《低代码逻辑编排》 #319
Comments
只要命名合理,拆分粒度合理,可以看作可视化类图,我觉得至少流程一眼看下来比较清晰,不像代码要跳来跳去的看。 |
这也是我一直对
我个人是认为他们真实的诉求不是可视化编排,而是『快速发布能力』,这个其实基于 Serverless 搞轻量化的代码研发,pro code 也是可以的满足的,只要做到足够的『轻研发 + 免运维』。 |
代码逻辑是可以考虑代码分析和约定的方式,来可视化出来,侧重于 『读』,而不一定是 『写』 |
认同免运维目的性的观点,但代码可视化分析太难了,参考可视化搭建 UI 和 HTML 代码哪个更好维护。 UI 搭建的区块天然有约束,导致整个平台统一性强(注入统一功能),易于编排(符合平台规则)。如果从 HTML 代码反生成搭建配置,必然造成逻辑丢失,或者还原问题,这都是代码模式太灵活导致的后果,而如果恰恰业务不需要这样的灵活度,仅因为随机性,就采取了非常规写法,也无法避免。 UI 编排的结论也许能部分推到到逻辑编排领域,本质上可视化编排是为了限制某些灵活度,缩小理解成本,和自己造一个 DSL 用 JSON 方式描述配置无本质差别。 所以如果业务场景适合用可视化已有的组件编排,应该更容易维护,在大家都理解逻辑编排组件上下文的前提下。更复杂的需求可以切换到 Pro Code 模式,不必追求所有场景都用逻辑编排完成。 |
我是觉得通过可视化来看代码的诉求不是很强,太简单的场景,写代码和拖拽没啥区别,太复杂的场景,如上面可视化出来的图的阅读性也不见得多少。 |
尝试过用 一般复杂业务的可视化表达都是网状的,如果某一个需求的逻辑可以抽象成一个有向线性的表达的话,其实 pro code 开发效率并不低。就目前阶段来看,Low Code 提效主要体现在轻量级的重复需求,一般是表单类应用。 基于我个人视角对使用 Low Code 的最大顾虑是:能否能让投入在 Low Code 上的工作能够最大程度在转 Pro Code 后保留,避免浪费。Low Code 的终极形态一定不会是现在这样,应该还有更多的想象空间。 个人粗浅看法,欢迎斧正 |
这个需要你把需求屡的非常清楚,并且对平台的交互机制有很深的理解,当然如果平台对交互这块没过多考虑的话,那做起来确实麻烦 |
其实需求复杂后,逻辑编排导出可读的代码继续维护也是一条路。至于代码风格和语言可以自由选择,比如支持导出 js、ts 的,react、vue、angular 框架的,function or class 风格的,css modules or css in js 的。服务端支持导出 node or java 语言的。 |
像 GitHub Actions 类似的场景,感觉如果提供可视化编排能力还是不错的:
这种场景,对我的价值是流程编排, 具体逻辑还是在线 pro code 方式写(而不是编排) |
是这样没错,但是有时候一开始的需求和短期需求是可以 hold 住的(简单业务场景下足够敏捷),当需求复杂度随着时间推移越来越高以后就不行了。(当然我举得这个例子还有一些非技术层面的原因导致的选型问题) 所以我也提到了,其实最关心的是当需求复杂了以后,基于 Low Code 的持续演进带来的成本上升和可维护性下降,让我们不得不转换成 Pro Code 模式,那么这时候转换成本就是一个很关键的点了。(有多少能够重复利用的内容)
有些 Low Code 的思路就是非语言绑定的 DSL,然后再 transform 到需要继续开发的平台中去,不过缺点就是这个过程不可逆,一旦转换成 Pro Code 模式继续迭代就失去了逻辑可视化的能力。对于 “风格” 这点来说,目前最适合流程编排的代码风格之一就是 event driven,这会导致很多原本 Pro Code 中可以同步编写的代码人为转换成了异步的。
这个场景目前看来是最“实在”的,Low Code 只做逻辑编排和组合,不做逻辑实现。 |
如果复杂到一定程度后,得导出为 pro code 了,那这时候其实不需要可逆了,所以不算缺点。 |
与其用流程编排工具输出代码,我倒希望有工具将旧代码导出流程图出来. 😯 |
很难定义这个复杂的边界,就像我们打咨询电话,只有自己(研发人员)清楚是否应该转人工服务;但对于业务方来说,一旦认定可配就有无尽的“更复杂的开发和配置”
|
理想的协作模式是:某个活动会经常改些配置或流程小修改,这时候非专业研发同学,基于团队互相补位的考虑,直接被赋能来参与这块的编排(但需要明确的是,这是补位,主要责任人还是研发同学,所以他需要 Review)。然后复杂到一定程度后,自然就应该回归给研发同学来维护,此时编排平台提供的可能是一种从 low code 变为 pro code 的方式,方便后续演进维护。 |
低代码工具有点像是游戏开发里的游戏引擎。 |
把一些常用底层功能:存储,链接跳转,http请求,url 分析等抽成一个一个节点,极端的讲,将他们穷举出来,并且支持逻辑编排的模版保存,并且和 nocode UI 打通,实现数据共享配置,是不是就可以实现功能的沉淀。并且支持 节点的插件化,可灵活新增功能节点来实现一些比较复杂且独立的功能。 |
本周精读对文章是 How To Create Your First Flow in Node-RED
Node-RED 是比较有代表性的低代码流程编排工具,这次我们介绍一下其功能,并结合我自己理解谈谈对流程编排的看法。
精读《低代码逻辑编排》
The text was updated successfully, but these errors were encountered: