41 | 原生布局转到前端布局,开发思路有哪些转变?
戴铭
该思维导图由 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
《iOS 开发高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(12)
- 最新
- 精选
- Happy_HomeswiftUI如果能普及的话估计也得是三年后的事情了,iOS版本要求太高了点2019-06-1565
- 壹看到留言区的状态很揪心,很多人都在关注版本号……记得autolayout推出的时候很多人也是因为系统版本的原因不去学习了解,一句兼容性问题就打发了,然后死抱着frame。以至于到今天仍然是frame,sb,xib,autolayout都不见踪影。然后还总说原生开发慢,没有前端快……2020-04-282
- bilibiliswiftu对应的是swift语言 然而对着oc的还是mansory用的多 而且健壮性不强 还是用原声frame在搞2019-06-182
- 哈兼容是个大问题…版本太高了…据说swiftUI和flutter很像2019-06-171
- 2thousand19戴铭老师分析的很到位,佩服,感谢2019-06-151
- 无名swiftUI最低要求iOS13,这样兼容性问题...2019-06-151
- 程序员讲道理SwiftUI 只支持 iOS 13 以上,我不知道苹果怎么想的。而且 iOS 14 之后,SwiftUI 做了大幅度改进。这就意味着你要支持 iOS 13,还得做一些兼容。。2022-04-10
- 幻想vs梦想现在还有人觉得swiftUI要3年后吗😁2020-07-152
- Geek_9dbcb4@State ,标记一个属性,当他改变时,监听这个属性的对象会收到信号,触发自己的逻辑。可以理解为kvo。2020-04-27
- Geek_9dbcb4@State,相当于oc里的kvo吧2020-04-18
收起评论