Facebook开源异步用户界面渲染库AsyncDisplayKit
虽然Facebook的iOS应用Paper未能大热,但许多开发者却视其为现代移动应用的榜样。
为了开发Paper,Facebook开发了大量私有库,而且Facebook开始慢慢将其中一些私有库开放给外部开发者。比如,Facebook在今年早些时候开源了Pop动画引擎,该引擎驱动了Paper的大部分用户界面;另外,Facebook还开源了给应用增加发光效果的Shimmer和其他两个为Paper开发的私有库。今天,Facebook又开源了AsyncDisplayKit库。
这个名字有点绕,但正是它让拥有许多复杂动画的Paper能以60帧每秒运行。AsyncDisplayKit库基本上可以直接用来取代一些苹果的技术。苹果用来显示文本和图像的UIKit视图通常需要几十到几百毫秒来渲染。这让渲染一些平滑动画变得很困难(有时候甚至不可能)。
随着时间推移,开发者们找到了一些绕过了这一瓶颈的变通方案,但正如Facebook所说的,这些“变通方案表现各异,很难进一步改善和预测应用表现”。
这就是开发AsyncDisplayKit库的原因。AsyncDisplayKit库基于苹果的技术搭建,但苹果的标准技术运行在应用的主线程中,用户输入需要等到主线程执行完毕才能进行,Facebook的解决方案不会阻塞主线程。
AsyncDisplayKit库与Pop动画引擎配合良好,但没有必要一定使用Pop。相反,Facebook表示:“它与UIKit Dynamics和传统的应用设计一样强大”。
AsyncDisplayKit库托管在GitHub上。(译:1thinc0)
Facebook Open Sources More Of The Tech Behind Its Paper App