learn-tech/专栏/说透低代码/总结与展望|低代码之路,我们才刚刚开始.md
2024-10-16 10:26:46 +08:00

85 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

因收到Google相关通知网站将会择期关闭。相关通知内容
总结与展望|低代码之路,我们才刚刚开始
好快,这个专栏的常规更新部分到这里就正式结束了。恭喜你打败了学习的惰性,一路坚持到这里。现在,我们是时候停下来稍微总结一番,以便更好地开启后续的学习。
创建好了这篇文章的空白文档后,我的脑袋和新建的文档一样空白,思绪一下子飞跃到了四年前,我决定先和你分享下我是如何与低代码结缘的。听听我的故事,希望它能给你树立一些信心。
如果非要给我的低代码之旅设定一个明确的起点,那应该是 4 年前的 3 月,在我收到那封低代码相关的封闭研讨邮件的时候。但在这之前,我就建设低代码工具这个问题,与其他兄弟单位有过接触。受限于资源,双方决定采用分工合作的方式,我们负责 Web 组件,对方负责低代码引擎。
那时我们在成都组织了多次探讨,我现在许多关于低代码的设计理念,都是在这些探讨过程逐渐形成的。但可惜双方理念相差较大,最终没能走到一起。对方无法接受我先通用再具体的方案,执意要“务实”地对具体场景提供支持,因为这样“风险小、见效快”。
后来再收到这封闭关研讨的邮件时,我就明白老板这是下决心要自己搞了。
随着研讨越发地深入,我越觉得这个事情难度巨大,甚至,我还一度因畏难情绪和其他因素萌生了退意,但看着这个我当时花了近两年给老板画出来的饼,已经在我嘴边了,只要一张嘴就可以咬上一口,最终我还是选择了坚持。我至今仍在庆幸当时的选择。
从最开始设计 Awade 的编译器时,担心纯可视化搞不定,选择让编译器能够生成出人类可读、可改的代码;到后来慢慢走上正轨,解决了开发过程中大大小小无数的难题;再到现在,脚下的低代码之路已经逐渐变得平坦且宽阔。从最开始受到的各种质疑,到现在,进度紧急时,经理们会特地点名必须使用 Awade 以确保其交付进度是可控的。
一时间,感慨万千。
最后的事实证明,先通用、再具体才是正路。通用性创造的是未来的可能性,虽然早期道路坎坷艰辛,但我们还是坚持下来了,路是越来越平坦的。反之,如果你过于着眼于眼下,看似务实,实际上更容易因架构设计的韧性不足,导致路越走越窄,举步维艰。我一直非常注重竞品调研,我搜遍公司内外各种竞品,做了很多调研,后来成都那个团队的产品也没有再出现在我的竞品清单中。
在这个专栏的交流群中,我看到很多同学都是一线低代码平台的设计者和实现者。可能很多和那时候的我一样,或是正绞尽脑汁给领导画饼,或是正迷茫在架构策略的抉择中,又或者是正受困于某个技术难题,不知如何向前。
我非常希望这个专栏能帮助你解决眼下的困境,也非常希望你能坚持一下,再坚持一下,走到最后。如果你在此过程中有啥困惑或难题,欢迎来找我。
课程设计的背面
时间拉回今年春节前,极客时间团队的小伙伴开始和我接触,邀请我来写低代码这专栏。我当时的第一想法是非常兴奋,不谦虚地说,我是国内最早开始“吃”低代码这只“螃蟹”的一批人,坚持到现在,已经超过 4 年了。在此过程中我积累了大量的实战经验,极客时间是整理和展示我这些经验的一个很好的平台。
兴奋之余,我又感觉非常为难:具体的内容应该如何编排呢?毕竟,低代码技术是一个综合性非常高的话题,低代码涉及的方面非常多,可以讲的内容也非常多。我们可以从实际应用的角度来讲,也可以从系统架构实现的方向来讲。同时不同的方向上还可以有不同的侧重,不同的方向和侧重,面对的人群还不一样,适用的内容也不一样。
所以,我花了非常多的时间纠结到底怎么挑选内容。最终,我选定了低代码平台的架构和实现这个大的讲解方向,同时偏重于系统架构的设计,忽略掉过细的实现细节。
那么,在低代码的架构和实现这个大方向下,要选择哪些功能和模块进行讲解呢?
经过一番精挑细选后,我决定围绕着低代码编辑器这个功能来打造这门课。低代码编辑器是低代码平台最关键的功能。它的能力和实现的质量,直接决定了低代码平台的能力和质量。虽然低代码平台综合性很高,可以做的功能点众多,在各家企业里落地时,大家都各有侧重,有的先解决服务端侧,有的先解决前端侧的问题。但无论你侧重建设哪个端的功能,低代码编辑器都是绕不过去的一个功能点。
这个专栏的常规更新部分的主体内容,就是按照这样的考虑来设计和编写的。
但是,我们当然不可能一上来就单刀直入,直接剖析低代码编辑器,还是要遵循学习知识的一般认知流程。所以我将内容分成了三大部分,先从认知基础与架构策略切入,着重介绍了低代码的演进策略和低代码编译器与编辑器之间的关系。
我希望你在开工之前先想好路怎么走,这比啥都重要。你要先想清楚你负责的子系统与上下游子系统的关系,若保持强耦合,对方值得托付吗?还是留个活扣,给自己以后多一个选择?特别是,你不要急着编码,一旦开始写代码,就容易陷入细节,不能自拔了。写代码永远是最容易的一件事,前提是你真的想清楚了。
接下来的第二、第三部分是我们常规更新的重点内容:低代码编辑器的架构和实现,以及低代码平台的拓展。这些内容都比较硬核,因为我们很难用短短几千字讲清楚一个架构知识点,而且抛开业务谈架构都是在耍流氓,你可以看到,每一讲中我都非常注重业务场景的讲解,也针对不同的业务场景给出了一些建议。你可以结合自己的实际情况辩证地看。
我注意到,前两天交流群里有同学提到,每一讲的文字量都很大。其实,我之前写文字稿时就注意到了这个问题,我往往需要用目标篇幅的 1.5 倍左右才能完成一讲的内容,常常才写完第一个小标题时就发现已经用掉了大半的目标篇幅了,不得不回头再精简内容,但总是觉得,少了这块不行,少了那块也不行。
即使我“精打细算”地使用好每一讲的篇幅,但你应该也可以发现,有些内容依然是蜻蜓点水般一带而过了,没能讲透,特别是第三部分的两讲更是如此。这些没涉及、没展开、没讲透的内容,就要留着在这个专栏的动态更新部分才能展开了。
动态更新是极客时间的一种创新,特别适合学习低代码这样综合性高、内容繁复多样的知识。和常规更新阶段事先敲定内容的学习形式不同,动态更新阶段中,你可以一边学习,一边和我互动,我会针对你的学习状况和需求,动态设计和组织剩下的内容,达到定制化的学习效果。
动态更新内容,将由你来定制
那么动态更新部分,将会有哪些内容呢?
首先,这一阶段最主要的是把在常规更新部分里的那些“等有机会…”“下次再说…”的部分补齐。你可以将这个课程看成是一棵树。常规更新部分是大树的树干和部分枝丫,而动态更新部分是沿着树干生长出的各个重要枝丫;
其次,这一阶段我们要尝试跳出以低代码编辑器为中心的思路,尝试围绕其他角度,来完成低代码平台的架构和实现。因为低代码编辑器并不是低代码平台的全部,它只是一个核心部件,低代码平台还有其他许多有价值的功能需要建设;
最后,我们还会对业界进行持续跟踪和观察,包括但不限于开源社区、调查机构、甚至还有一些竞争对手的资料,但这个角度的内容篇幅不会很大。
动态更新内容的大方向,将和常规更新的内容保持基本一致,我将继续保持在低代码平台的架构和实现这个方向上进行讲解,不会做方向性的大幅度调整。
不过,此时此刻,动态更新的内容还没完全定型,你我可以一起来设计剩余的内容。欢迎你把想要学习的内容写在评论区、交流群,或者这个【调查问卷】中,我们一起来设计剩余的内容。
正如在开篇词中向你承诺的那样,动态更新部分将有 20 讲左右的内容,大致以每个季度至少一讲的频率,每年更新 5 讲,持续 4 年。衷心邀请你和我一起完成这场“长跑”,在接下来的学习中,不仅紧追低代码的前沿“脉动”,更重要的是在逐渐深入的学习和实践中,完善低代码的知识体系,提升自己的架构能力。
这里先预告一下,接下来动态更新阶段的第一篇文章将在今年 7 月更新,一定要记得回来学习呀,我也会在交流群里通知你的!
写在最后
最后我还想跟你说个题外话。有可能你曾经去词典里搜索过“awade”这个单词想必是一无所获。因为这是一个我自创的单词它来自“Anyone can be A Web Application Developer Exper”这句话的首字母翻译过来就是人人都是 Web 应用开发专家。
这就是 Awade 的使命,也是当时在研讨和设计 Awade 过程中,大家共同的愿望。作为一个低代码平台的设计和实现者,我们希望在它的帮助和赋能下,人人都可以成为一个 Web 应用的开发专家,而不是仅仅只有那些掌握了 Web 研发技术的职业开发人员才能成为专家。
现在,我把 Awade 的架构和实现方法整理出来了,希望你通过对这个专栏的学习,也能设计出一个低门槛、高效率的低代码开发平台 ,赋能它的使用者,让大家都成为 Web 应用的开发专家,为业务实现真正的降本增效。
探索低代码之路,我们才刚刚开始,就让我们一起继续研究,探索出更好的低代码实现之路吧!