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

简介: Facebook 2月发布的新闻类应用Paper,因为其灵动的用户界面和交互,成为近来最令人眼前一亮的移动产品之一。 而这个产品的背后是2011年Facebook收购的Push Pop Press,创始人是分别在Apple任设计师和工程师的Mike Matas与Kimon Tsinteris。他们的合作者还有传奇人物Bret Victor。他们为美国前副总统Al Gore开发的电子书Our Choice当时就曾技惊四座。

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种静态动画:

image.png

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

image.png

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

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

image.png

用Pop后可以写成这样:

image.png

而这几行代码说明了如何给一个层的边增加Spring效果:

image.png

Hacker News上的讨论

更多关于Paper的信息

相关文章
|
9月前
|
机器学习/深度学习 算法 决策智能
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
100 0
|
缓存 数据可视化 测试技术
开源多年后,Facebook这个调试工具,再登Github热门榜
让许多工程师合作开发大型应用大多会面临一个挑战,通常没有一个人知道每个模块是如何工作的,这种技能会让开发新功能、调查Bug或优化性能变得困难,为了解决这个问题,Facebook创建并开源了Flipper,一个可扩展的跨平台的调试工具,用来调试 iOS 和 Android 应用。近日又双叒登上了Github热榜。
|
前端开发 JavaScript 测试技术
Facebook 开源可扩展文本编辑器 Lexical
Meta(原 Facebook)近日开源可扩展文本编辑器 Lexical,源代码托管在 GitHub 上采用 MIT 许可证。
401 0
Facebook 开源可扩展文本编辑器 Lexical
|
XML jenkins Java
Facebook开源静态代码分析工具Infer介绍
Infer是Facebook公司的一个开源的静态分析工具。Infer 可以分析 Objective-C, Java 或者 C 代码,用于发现潜在的问题。其作用类似于sonar和fortify。Infer更倾向于发现代码中的空指针异常、资源泄露以及内存泄漏的问题。
Facebook开源静态代码分析工具Infer介绍
|
机器学习/深度学习 人工智能 文字识别
图神经网络版本的PyTorch来了,Facebook开源GTN框架,还可对图自动微分
近日,Facebook的AI研究院发表了一篇论文「DIFFERENTIABLE WEIGHTED FINITE-STATE TRANSDUCERS」,开源了用于图网络建模的GTN框架,操作类似于PyTorch这种传统的框架,也可以进行自动微分等操作,大大提高了对图模型建模的效率。
279 0
图神经网络版本的PyTorch来了,Facebook开源GTN框架,还可对图自动微分
|
PHP C语言 开发者
Facebook 发布开源编程语言 Hack
Facebook周四发布一款名为“Hack”的全新编程语言,并声称该语言将能使代码的编写和测试更加高效快速。Facebook已在公司内部使用该语言超过一年时间,现在将以开源的形式将其正式发布。
358 0
Facebook 发布开源编程语言 Hack
|
存储 安全 算法
Conceal —— Facebook推出的android数据加密的开源APIandroid数据加密的开源API
现如今很多的智能手机,都支持把应用安装到SD卡中,这会帮用户节省很多空间,但是许多黑客也会利用这一点窃取用户的隐私。一般情况下,应用都有SD卡的读写权限,当然他也可以读取到其他应用,存储在SD卡上的数据。这意味着如果你安装了恶意的应用,他就可以轻易的获取SD卡上的所有数据。
341 0
Conceal —— Facebook推出的android数据加密的开源APIandroid数据加密的开源API
|
安全 前端开发 API
KVOController:facebook 开源的 KVO(Key-value Observing)工具
KVOController 是一个简单安全的 KVO(Key-value Observing,键-值 观察)工具,用于 iOS 和 OS X 应用开发中,开源自 facebook。
240 0
|
SQL 存储 前端开发
Facebook 在 2013 年的开源贡献
自从 Facebook 的第一行PHP代码,第一句 MySQL 的 INSERT 语句以来,开源就已经是我们工程哲学中的一个重要的部分。
174 0
Facebook 在 2013 年的开源贡献
|
SQL 存储 分布式计算
Facebook 正式开源其大数据查询引擎 Presto
Facebook 正式宣布开源 Presto —— 数据查询引擎,可对250PB以上的数据进行快速地交互式分析。该项目始于 2012 年秋季开始开发,目前该项目已经在超过 1000 名 Facebook 雇员中使用,运行超过 30000 个查询,每日数据在 1PB 级别。Facebook 称 Presto 的性能比诸如 Hive 和 Map*Reduce 要好上 10 倍有多。
302 0
Facebook 正式开源其大数据查询引擎 Presto