iOS 开发高手课
戴铭
前滴滴出行技术专家
42934 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
用户故事 (1讲)
iOS 开发高手课
15
15
1.0x
00:00/00:00
登录|注册

41 | 原生布局转到前端布局,开发思路有哪些转变?

生成原生Texture代码
解析HTML生成DOM树
STMAssembleView项目
自定义Swift DSL项目
HTN项目
DSL的重要性
SwiftUI的发展
苹果公司的技术演进节奏
原生和前端的融合
运行时解释执行DSL
解析转换DSL
支持DSL
简洁的写法
简化一组堆栈视图关系
类似Flexbox布局思路
引入VFL简化Auto Layout写法
繁琐的Auto Layout写法
引入Auto Layout优化布局
横纵坐标和宽高确定布局
技术演进
DSL
SwiftUI
UIStackView
第三方库简化Auto Layout写法
iOS原生布局
原生布局转到前端布局

该思维导图由 AI 生成,仅供参考

你好,我是戴铭。今天,我来跟你聊聊原生布局转到前端布局的过程中,开发思路会有哪些转变。
最开始的时候,iOS 原生布局只支持通过横纵坐标和宽高确定布局的方式,后来引入了 Auto Layout 来优化布局。但,Auto Layout 的写法繁琐,开发者需要编写大量的代码,无法将精力集中在界面布局本身。再后来,苹果公司意识到 Auto Layout 的这个问题,于是推出了 VFL(Visual Format Language,可视化格式语言)来简化 Auto Layout 的写法。
其实,包装 Auto Layout 的第三方库,通过支持链式写法,也能达到简化编写 Auto Layout 的目的。
比如,适用于 Objective-C 的 Masonry 和适用于 Swift 的 SnapKit,都是非常优秀的第三方库。这两个库的实际使用数量,明显高于苹果自身推出的 VFL。关于这两个库的实现原理和源码分析,你可以查看我以前写的“读 SnapKit 和 Masonry 自动布局框架源码”这篇文章。

UIStackView

虽然 Masonry 和 SnapKit 能够简化布局写法,但和前端的布局思路相比,Auto Layout 的布局思路还处在处理两个视图之间关系的初级阶段,而前端的 Flexbox 已经进化到处理一组堆栈视图关系的地步了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了原生布局转向前端布局的发展历程和技术特点。从iOS原生布局的发展历程出发,介绍了Auto Layout、VFL、Masonry和SnapKit等第三方库对布局的简化,以及前端的Flexbox布局思路。同时,还介绍了苹果公司推出的UIStackView和SwiftUI框架对布局思路的影响。作者分享了自己实践的两种DSL实现方式,并提到了项目HTML To Native的实现。总结来看,本文对于想了解iOS布局发展趋势和技术实践的读者具有一定的参考价值。文章还探讨了苹果公司对技术演进的独特判断思考方式,以及对开发者的推动作用。最后,提出了课后作业,鼓励读者深入理解SwiftUI及其利用Swift语言特性简化代码的方式。整体而言,本文对于技术发展趋势和开发实践有着深入的探讨,值得开发者深入阅读和思考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《iOS 开发高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(12)

  • 最新
  • 精选
  • Happy_Home
    swiftUI如果能普及的话估计也得是三年后的事情了,iOS版本要求太高了点
    2019-06-15
    6
    5
  • 看到留言区的状态很揪心,很多人都在关注版本号……记得autolayout推出的时候很多人也是因为系统版本的原因不去学习了解,一句兼容性问题就打发了,然后死抱着frame。以至于到今天仍然是frame,sb,xib,autolayout都不见踪影。然后还总说原生开发慢,没有前端快……
    2020-04-28
    2
  • bilibili
    swiftu对应的是swift语言 然而对着oc的还是mansory用的多 而且健壮性不强 还是用原声frame在搞
    2019-06-18
    2
  • 兼容是个大问题…版本太高了…据说swiftUI和flutter很像
    2019-06-17
    1
  • 2thousand19
    戴铭老师分析的很到位,佩服,感谢
    2019-06-15
    1
  • 无名
    swiftUI最低要求iOS13,这样兼容性问题...
    2019-06-15
    1
  • 程序员讲道理
    SwiftUI 只支持 iOS 13 以上,我不知道苹果怎么想的。而且 iOS 14 之后,SwiftUI 做了大幅度改进。这就意味着你要支持 iOS 13,还得做一些兼容。。
    2022-04-10
  • 幻想vs梦想
    现在还有人觉得swiftUI要3年后吗😁
    2020-07-15
    2
  • Geek_9dbcb4
    @State ,标记一个属性,当他改变时,监听这个属性的对象会收到信号,触发自己的逻辑。可以理解为kvo。
    2020-04-27
  • Geek_9dbcb4
    @State,相当于oc里的kvo吧
    2020-04-18
收起评论
显示
设置
留言
12
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部