说透低代码
陈旭
中兴通讯软件研发资深专家
18786 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 26 讲/共 39 讲
说透低代码
15
15
1.0x
00:00/00:00
登录|注册

20|如何仅通过元素间的相对位置来生成有弹性可维护的UI代码?

你好,我是陈旭。
这一讲我来给出一种生成页面布局代码的方法,继续完成第 19 讲《如何使用平民技术实现 UX 设计稿转代码?》中未能完成的内容讲解。在这讲中,我们通过组件属性识别、层次结构推断和弹性推断等算法,从 UX 设计稿中识别出了足够多的信息,足以用于生成页面的静态布局代码了。现在各种素材俱备,只欠一股东风将这些素材转为代码。
第 07 讲中,我介绍了结构化代码生成法,这是一种用于生成 TypeScript 代码的方法,其中也涉及到了 HTML 布局代码的生成方法,那么当时给出的方法与今天这讲的方法有啥异同呢?又有啥关系呢?你可以快速回顾一下,再来思考这个问题。
第 07 讲给出的生成代码的方法,是专注于处理单个组件本身的代码的生成,无法用于处理界面上多个组件之间的关系。界面上多个组件之间的关系,其实就是界面的布局。相对地,今天这讲我们专注于处理组件之间的关系(界面布局),不会涉及到单个组件的代码生成的细节。所以从这个角度来看,这讲的内容是对第 07 讲内容的扩充,两讲之间是相辅相成的关系。

基础概念

下图这个大屏应用,界面的元素很多,看起来稍微有点复杂,有图形、表格、文本、图标。
图片来自https://zhuanlan.zhihu.com/p/32554417
我们需要对实际界面做一点抽象,保留住重要的信息,隐藏掉不相干的干扰细节。组件化,是一种非常常见的界面抽象方法,这个方法贯穿了我们的整个专栏。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

文章介绍了一种名为切蛋糕法的布局生成算法,通过组件间的相对位置来生成有弹性可维护的UI代码。作者首先介绍了组件化的概念,强调了组件是界面的最小单元,不可拆分。然后,作者提出了边和组的概念,通过这些概念,引入了切蛋糕法来生成页面布局代码。切蛋糕法是一种逻辑严谨的指令式方法,通过确定切的方向,切分界面为多个组,然后递归处理每个组,直至无法切分为止,生成页面布局代码。文章还介绍了实现弹性界面的原则和技术,以及如何利用flex布局来实现这些原则。切蛋糕法不仅可以用在D2C自动生成代码,还可以用在低代码布局编辑器的代码生成上。文章内容深入浅出,通过切蛋糕的类比生动形象地解释了生成页面布局代码的方法,为读者提供了一种新的思路和工具。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《说透低代码》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • ifelse
    学习打卡
    2023-04-08归属地:浙江
    1
  • Lei Yang
    老师您好,如何评价百度amis 前端低代码框架,通过 JSON 配置就能生成各种页面?
    2023-07-07归属地:新加坡
  • sheeeeep
    老师你好,在第12讲中提到的“在不配置服务端 CORS 策略的前提下,巧妙地“骗”过浏览器,绕过跨域限制,做到在浏览器中可以跨域请求任何服务器数据的效果”会放在动态更新部分讲解,这个内容什么时候会有呢
    2023-05-24归属地:浙江
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部