声明式 UIKit 在有赞美业的实践
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 一、背景 随着 Flutter 的出现,UI 开发形式也越来越趋向相同,Flutter,SwiftUI,RN,Weex 等新兴 UI 框架无一意外都使用了声明式的 UI 开发模式,和支持了 FlexBox 的布局系统。 FlexBox 自从被 W3C 提出之后,就被前端发扬光大,所有浏览器都已经得到了支持。其方便的布局方式,通过布局来接管视图的大小和位置,使得各个视图节点得到了很好的解耦,大大地提高了 UI 代码的可移植性。 在 iOS 的布局方式里,除了极少数或者对性能要求极高的地方会用 frame 进行直接计算赋值外,大多数情况下是使用到 UIKit 提供的 Autolayout 进行布局。它相对于 frame 计算来说,通过对 view 之间的关系进行描述,来达到布局的效果。由于提供的是约束,强调视图“之间”的相互关系,意味着关系一旦定下来,修改约束(包括添加和移除视图),必定会影响到另一个视图的引用,从而导致代码移植性不高。同时布局是通过每一行代码的描述来约定与其他视图之间的布局...
