Facebook将神奇动画引擎Pop开源了!

Facebook 2月发布的新闻类应用Paper,因为其灵动的用户界面和交互,成为近来最令人 眼前 一亮的移动产品之一。 而这个产品的背后是2011年Facebook收购的 Push Pop Press ,创始人是分别在Ap


Facebook 2月发布的新闻类应用Paper,因为其灵动的用户界面和交互,成为近来最令人 眼前 一亮的移动产品之一。 而这个产品的背后是2011年Facebook收购的 Push Pop Press ,创始人是分别在Ap

Facebook 2月发布的新闻类应用Paper,因为其灵动的用户界面和交互,成为近来最令人眼前一亮的移动产品之一。

而这个产品的背后是2011年Facebook收购的Push Pop Press,创始人是分别在Apple任设计师和工程师的Mike MatasKimon Tsinteris。他们的合作者还有传奇人物Bret Victor。他们为美国前副总统Al Gore开发的电子书Our Choice当时就曾技惊四座。

产品幕后支撑的则是一系列创新工具和技术(无法直接访问)的使用,包括异步的用户界面,复杂的交互,GPU优化,已经开源的小组件KVOControllerShimmerTweaks,原型设计工具Origami等等。而其中非常引人注目的技术,是动画引擎Pop。

4月21日,Tapity的Jeremy Olson透露Facebook计划开源Pop之后,移动开发社区都进入了等候状态。在微博上也可以搜到不只一个开发者在翘首等待Pop的开源。

就在1个小时前,Facebook将Pop开源了:https://github.com/facebook/pop。而就在短短的几十分钟里,项目的关注数迅速达到700多。

Paper的主要开发者之一Kimon Tsinteris在Facebook的工程博客里撰文(请自备梯子)简单介绍了Pop的工作原理。

iOS原生的Core Animation框架只提供了linear, ease-in, ease-out和ease-in-ease-out等4种静态动画: /uploads/allimg/140429/1010064643-0.png

这些限制了iOS设备上触摸和手势应该有的表现力。因此Kimon Tsinteris决定在Core Animation基础上增加Spring、Decay和Custom 3种动态动画效果: /uploads/allimg/140429/10100AQ2-1.png

Spring和Decay是Paper如此灵动的原因所在。而Custom则使Pop成为可扩展的动画框架,可以为任何Objective-C对象的任何属性增加动画效果。

另外,Pop还提供了一个对开发者非常友好的编程模型,使用方式与Core Animation基本一致。原来Core Animation用来启停动画的这段代码: /uploads/allimg/140429/10100BU8-2.png

用Pop后可以写成这样: /uploads/allimg/140429/1010064251-3.png

而这几行代码说明了如何给一个层的边增加Spring效果: /uploads/allimg/140429/10100BU2-4.png