Facebook将神奇动画引擎Pop开源了!
博客专区 > mingxun 的博客 > 博客详情
Facebook将神奇动画引擎Pop开源了!
mingxun 发表于4年前
Facebook将神奇动画引擎Pop开源了!
  • 发表于 4年前
  • 阅读 56
  • 收藏 0
  • 点赞 0
  • 评论 0

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

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

产品幕后支撑的则是一系列创新工具和技术(无法直接访问)的使用,包括异步的用户界面,复杂的交互,GPU优化,已经开源的小组件KVOControllerShimmerTweaks,原型设计工具Origami等等。(对Paper所用技术的全面介绍,可以参考唐巧在《程序员》杂志上发表的文章“从Facebook看移动开发的发展”)而其中非常引人注目的技术,是动画引擎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种静态动画: http://img.my.csdn.net/uploads/201404/29/1398716870_8337.png

这些限制了iOS设备上触摸和手势应该有的表现力。因此Kimon Tsinteris决定在Core Animation基础上增加Spring、Decay和Custom 3种动态动画效果: http://img.my.csdn.net/uploads/201404/29/1398716967_9847.png

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

另外,Pop还提供了一个对开发者非常友好的编程模型,使用方式与Core Animation基本一致。原来Core Animation用来启停动画的这段代码: http://img.my.csdn.net/uploads/201404/29/1398717025_9616.png

用Pop后可以写成这样: http://img.my.csdn.net/uploads/201404/29/1398717108_4475.png

而这几行代码说明了如何给一个层的边增加Spring效果: http://img.my.csdn.net/uploads/201404/29/1398717254_3294.png

Hacker News上的讨论 更多关于Paper的信息


共有 人打赏支持
粉丝 4
博文 106
码字总数 9074
×
mingxun
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: