研发提效:通过设计稿自动生成前端代码

简介: 做过前端的同学可能知道,很多页面的业务逻辑简单且具有一致性。写起来并不会增加技术能力,就是比较费时间。而设计稿生成代码的目的就是为提高前端同学的研发效率,少写代码甚至不写代码。

之前在全球架构师峰会上听过京东大佬分享设计稿自动生成前端代码的实践方案,当时就觉得这个方向值得探索。最近我们公司自己也做了这方面探索,也已经初步实现了。今天先分享京东大佬的演讲。

做过前端的同学可能知道,很多页面的业务逻辑简单且具有一致性,写起来并不会增加技术能力,就是比较费时间。而设计稿生成代码的目的就是为提高前端同学的研发效率,少写代码甚至不写代码。

所以京东就开始探索,如何利用设计稿直接自动生成代码的解决方案(匹配多端)。这里主要分为两个阶段。

第一阶段,UI设计稿直接生成静态页面。

第二阶段,UI设计稿直接生成带有逻辑的页面。

目前第一阶段的技术已经很成熟了,第二阶段还并不是非常熟,在生成代码之后,有时候还需要工程师去核查(小概率事件),不过对于一些常用组件,是可以做到自动化生成了。先说效果,这个项目已经运用在了京东app上了,并且把前端任务的工作量提升了将近一半,原来4天工作量的任务,现在只要2天多点就能完成。

我原来以为这个项目花了很长时间,但主讲者李伟涛老师说,参与开发项目的人只有7个人。花了多长时间我没记住,好像是一年?

在探索的过程中主要有三个难点:设计效果的还原度、代码逻辑的合理性、代码的可读性。

具体怎么做的呢?

首先,先要将设计稿数据处理成程序可使用的格式。

这里面有很多细节问题需要克服,具体我没做过所以不好具体说,不过我估计会对设计人员的设计稿制定一系列的标准,以便更好的生成代码。

其次,使用布局算法将设计稿数据还原为结构良好的代码。

这里简单说就是,你需要通过布局还原算法,智能的识别设计稿里的对象,如何正确的成行成列以及样式的合理计算。最终形成跟设计稿相同的程序代码。

再次,让代码具有语义化。

制定基础语义规则:样式、上下文、组件等。再加上AI协助处理文字分类、图片分类、翻译服务等。最后给到各个节点类名进行语义化处理。

最后,生成代码。

这里的代码要支持各类DSL及扩展。否则意义就不大了。

这时候的代码,还是静态代码。接下来要给代码加上逻辑,就需要扩展工作台,增加人工可视化逻辑处理。在生成的ui界面上自动设置一些业务逻辑,这块成熟后是完全可以给到其他业务人员用。整体结构如下图:

image.png

我们可以展望下,如果未来有一个专门的公司给中小企业提供自动生成前端代码的能力,那么你的工作方式会有哪些改变?前端工程师岗位还会存在?欢迎你留言与我交流。

目录
相关文章
|
10天前
|
Web App开发 前端开发 安全
前端研发链路之测试
本文由前端徐徐撰写,介绍了前端测试的重要性及其主要类型,包括单元测试、E2E测试、覆盖率测试、安全扫描和自动化测试。文章详细讲解了每种测试的工具和应用场景,并提供了选择合适测试策略的建议,帮助开发者提高代码质量和用户体验。
15 3
前端研发链路之测试
|
11天前
|
资源调度 前端开发 JavaScript
前端研发链路之脚手架
本文首发于微信公众号“前端徐徐”。文章介绍了前端开发中脚手架工具的重要性及其工作原理。脚手架工具能够大幅提升开发效率,确保代码质量和项目一致性。文章详细探讨了脚手架的历史、工作原理、常见工具及其优势与潜在问题,并展望了其未来发展方向,帮助开发者更好地理解和应用脚手架工具。
18 4
前端研发链路之脚手架
|
10天前
|
负载均衡 前端开发 JavaScript
前端研发链路之开发
本文首发于微信公众号“前端徐徐”,作者徐徐。文章介绍了前端研发链路中的开发部分,重点探讨了开发服务器(dev-server)、热更新(hot-reload)、数据模拟(mock)和代理(proxy)等关键技术,帮助开发者理解其基本原理和应用场景,提升开发效率和代码质量。
24 2
前端研发链路之开发
|
10天前
|
敏捷开发 前端开发 Devops
前端研发链路之 CI/CD
本文首发于微信公众号“前端徐徐”,作者徐徐介绍了前端研发链路中的CI/CD。文章从CI/CD的背景、意义、运作方式及常用工具等方面进行了详细探讨,帮助读者理解如何在前端开发中有效应用CI/CD,提升开发效率和产品质量。
18 1
前端研发链路之 CI/CD
|
10天前
|
前端开发 JavaScript 编译器
前端研发链路之构建
本文首发于微信公众号“前端徐徐”,作者徐徐探讨了前端研发链路中的构建过程。文章介绍了构建器、JavaScript编译器和CSS编译器的作用及常见工具,详细解析了它们如何协同工作,提高开发效率和项目可维护性。适合前端开发者阅读,帮助理解现代前端构建体系。
12 1
前端研发链路之构建
|
10天前
|
前端开发 JavaScript 测试技术
前端研发链路之代码规范
大家好,我是徐徐。本文将探讨前端研发链路中的代码规范,包括业界流行规范、CSS命名规范和相关工具。通过保持代码整洁和一致性,不仅能提高团队协作效率,还能减少错误,提升开发质量。文中详细对比了几种常见的代码规范和工具,如 Airbnb Style Guide、BEM、Eslint 和 Prettier,并展望了未来代码规范的发展趋势。希望对大家有所帮助。
40 1
前端研发链路之代码规范
|
11天前
|
缓存 资源调度 前端开发
前端研发链路之包管理器
本文首发于微信公众号“前端徐徐”。作者徐徐将探讨前端研发链路中的包管理器,分析 Npm、Yarn 和 Pnpm 的特点与应用场景,帮助开发者选择最适合项目的包管理工具,提升开发效率和项目稳定性。文章涵盖包管理器的基本概念、解决的问题、组成部分及各工具的优缺点对比。
15 2
|
15天前
|
前端开发 JavaScript 开发者
利用代码分割优化前端性能:高级技巧与实践
【10月更文挑战第2天】在现代Web开发中,代码分割是优化前端性能的关键技术,可显著减少页面加载时间。本文详细探讨了代码分割的基本原理及其实现方法,包括自动与手动分割、预加载与预取、动态导入及按需加载CSS等高级技巧,旨在帮助开发者提升Web应用性能,改善用户体验。
|
24天前
|
前端开发 小程序 JavaScript
信前端里的循环显示如何编写代码?
信前端里的循环显示如何编写代码?
60 5
|
2月前
|
缓存 前端开发 数据格式
构建前端防腐策略问题之保证组件层的代码不受到接口版本变化的问题如何解决
构建前端防腐策略问题之保证组件层的代码不受到接口版本变化的问题如何解决