之前开源了MUKit,核心功能主要是signal、tableview、navigation的处理,其它一些都是开发中常用到的一些功能。Polaris相对MUKit来说是一个升级版,在这里面加入了layout新框架,并对之前的核心功能做了代码上的优化处理,使其性能更强。iOS的布局框目前也有很多,比较常用的可能是Masonry或者对Autolayout的封装,但是大家可能看到了autolayout一些性能上的劣势,加上Felxbox的便利性和简洁性,都推出了一些基于Flexbox的布局框架。这里我印象最深刻的是yoga,这可以说是基于全平台(网页、iOS、Android)的一个框架,使用C语言写的一个高性能框架,很多大公司都会用它来布局,比如支付宝(我的-设置-关于-版权信息可以看到相关介绍)。很遗憾这次都得layout框架虽然借鉴了yoga的接口风格但却不是翻版(这几千行代码太难理清楚了v_v),所以基于个人对flexbox的原理,自己写了一套OC语言的布局系统,并没有完全实现flexbox的所有功能。看到这里可能会想为什么不直接用yoga,而要自己写一套费时费力。这里的主要原因是我的单个页面上很多模块的页面高度都是不确定,而yoga一次只能对一个模块高度进行动态计算,使用起来非常不方便。无奈之下就做了Polaris,目前已有运用在上线项目上,如果大家觉得符合要求,也可以试用一下,欢迎大家提出不同的意见和改进。
Polaris
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本期导读:本期周报主要包括 Sierra 系统的新功能介绍,React Native 开发工具的选型与配置、调试方...