前端智能化 or 低代码,也许不是个选择题

AI 助力编码提效
上周被 GitHub Copilot 刷屏了,AI+ 的浪潮下,GitHub 在 OpenAI 的 Codex 助力下,帮助开发者智能生成代码,又一提效神器出现了。

抛开用户隐私保护和代码版权保护等争议不谈,GitHub Copilot 所描述的功能确实令人兴奋。前有 Tabnine AI Code Completion,后有 Kite 在后。GitHub Copilot 此次只是开放预览版,而且需要排队,刚才试了一下,还在排队中。到底香不香还得实测才行。

提效、提效、提效
在开发的细分领域,前端开发也是 AI 瞄准的目标之一,AI + 前端也变成了政治正确的事情。前端智能化领域也有同行进行了很多探索和实践,之前听过阿里的 imgcook 做了很多 Design to Code 的工作。
Design to Code,顾名思义,就是设计稿转成代码,目前主要是通过 AI 训练模型的方式来实现该功能。我其实一直不看好 Design to Code 这个领域,因为在我的业务场景而言,Design to Code 是一个伪命题。我们缺乏的更多是产品到设计这个环节,绝大多数中后台产品,因为使用统一的 UI 语言,往往都是需求直接到开发,完全没有设计师参与。
而一些有设计师参与的项目,发现耗费时间更多的是产品到设计的环节,因为设计师往往是艺术背景,对技术和业务理解相对困难,需要更高的沟通和理解成本。相比之下,设计稿到开发并不是瓶颈。
但是这个想法在今年渐渐有了变化,今年我开始负责科技的前端技术文化建设和人才培养工作,我首要服务的就是部门的全体前端开发人员。启动这个工作时,做了一个粗略统计,发现部门前端的人数远超我的想象,实在是太少了。包括今年的招人也是,深刻体会到了人才的难得。昨天玉伯在 GMTC 的演讲中也提到了这点,正个行业都是急缺前端人才的。

缺人怎么办?持续不断招人是一方面,更多的是想如何充分利用现有人才,提效和人才培养是我们目前的两种手段。人才培养自不必多言,提效其实可做的事情非常多。因为在传统金融行业的特殊性,我们的开发是在受控的虚拟终端进行,提升虚拟终端配置都可以助力开发提效。小到内网即时通讯工具、和外网及时同步的软件和插件,大到组织的开发模式,非开发相关流程的审批制度等,都一直在持续优化。工具和平台也是提效非常重要的一环。

玉伯提到在蚂蚁内部每条业务线几乎都有自己的低代码平台,这也是非常容易理解的,低代码面向不同垂直业务领域场景,确实会有不同的侧重。我们也在开发自己的低代码平台。前几个月一篇“低代码毒瘤”的文章引起了社区的巨大讨论和争议,且不论文中观点是否正确,文中提到的一部分事实确实是存在的。低代码并不是一个新的命题,我入行第一个项目,技术栈是上古的 EJB + JSP,也有低代码/无代码的功能,只需页面上配置,就能生成列表、表单、流程等一系列功能,是不是很美好?但是真正使用就会发现,现实很残酷,享受了低代码的便利,但也承受了其难于扩展之害,当时对于很多业务场景,是有很多特殊的业务逻辑是这套低代码功能搞不定的,而这些需求正常编码其实不会花很长时间,但是在我们的体系下,就会非常难改。积累的技术债越来越多,最终只能花大力气做渐进式重构,这也是早年间的低代码之殇。
随着技术的进步,尤其是前端的飞速发展,其实当年很多低代码存在的问题,现在都有了很好的解决方案,而面向垂直业务领域的低代码方案,确实是能够帮助我们在 CURD 的重复劳动中解放出一部分生产力。
上周五又一 Design to Code 的工具 CodeFun 公测了,其中能够智能生成生产级的代码还是很吸引人的。

CodeFun 的创始人杨帆老师也在 GMTC 大会的前端智能化专场进行了分享,现场特别火爆。

试用了一下,安装了 sketch 插件之后,操作非常简单,只需要选择项目和画板,就可以直接上传到 CodeFun 的对应项目中。

来到项目面板可以直接查看代码,可以设置数据绑定和交互行为,目前可以导出的代码平台有小程序和 Vue。

很遗憾周末的 GMTC 没能现场参与,昨天公司的技术分享品牌“民生 Mini Tech Show”邀请到了 CodeFun 创始人杨帆老师,弥补了没有到现场听到杨帆老师分享的遗憾。

会上杨帆老师给我们带来了题为 “Design to Code,如何⽣成程序员真正为之“买单”的代码”,分享非常精彩,演示了 CodeFun 如何帮助开发自动生成代码,包括实现这套功能面临的挑战,相关的 AI 算法等等,收获非常大。
低代码 or 前端智能化
小孩子才做选择,大人全都要。低代码平台和前端智能化可以不是一道选择题,目前对我们而言,后管类系统更适合用低代码平台搭建,而对于需要设计师参与、对 UI 要求较高的项目,前端智能化可以通过 D2C 的方式助力开发提效。而且目前来看设计师招聘比开发相对容易,所以给了 D2C 更大的想象空间。
每每提到低代码或者智能化相关技术,都会有同学产生工作机会会减少的担心。其实大可不必,效率工具永远是开发者的朋友,这些工具和技术可以把我们从重复工作的泥潭中解脱出来,分配更多的精力到创造性的工作中来。
前端智能化领域还有很大想象空间,比如 I2C,Ideas to Code,或者 I2D2C,Ideas → Design → Code,其实这是真正的痛点。
还有的设想就是另一种 I2C,Image to Code,图片直出代码;最终理想的形态可能是 A2C,Anything to Code,比如 Web 页面,输入 URL 直出代码,App 直出代码等等。再开个脑洞,脑机接口直出代码,这应该是终极理想了。

结语
前端开发人才紧缺已经是业内的共识,提高研发效能离不开工具和平台。AI + 前端给未来带来了很大想象空间,无论是局部还是全局的提效,都是非常有益的尝试。期待更多优质工具的涌现,帮助开发团队提效缓解用人难的问题。
版权声明: 本文为 InfoQ 作者【清秋】的原创文章。
原文链接:【http://xie.infoq.cn/article/2f3a0f6f24793e2658722360f】。文章转载请联系作者。
评论