我只是下载适用于iOS的Facebook Paper应用程序.这个应用程序中有很多很棒的东西,特别是动画明智的.对我来说,它也像黄油一样顺利运行 - 显然在幕后发生了一些非常棒的事情.
我想知道的是什么库用于应用程序的哪些功能(使用的第三方库列在下面.它们有一卡车).基本上,他们是如何让它看起来和工作一样好 - 我可以使用哪些库来做同样的事情?
由于这是一个非常广泛的问题,特别是我想知道动画 - 折叠,向下滑动,点击设置部分,点击图标.是否使用了第三方图书馆 - Facebook如何实现动画的流畅性和复杂性?
下面列出了来自Facebook论文的所有第三方库.
ACE Appirater Reachability AQGridView bitvect Boost Breadcrumb breakpad Chromium CocoaHTTPServer CocoaLumberjack DCRoundSwitch DTCoreText EGODatabase expat FFT by Mark Oleson FFT by Takuya Ooura gh-kit gh-unit Google Toolbox for Mac google-web-toolkit gtest gyp IEEE 754r Half Precision floating... HPGrowingTextView InAppSettingsKit ios5-cookbook ios-8601-parser-unparser jqueryjs JSONKit leveldb LibComponentLogging-Core LibComponentLogging-NSLog libjingle libjpeg-turbo libjpeg libPhoneNumber-iOS libphonenumber libsrtp libvpx libyuv llvmreturn MAZeroingWeakRef minizip mizpanel-iphone mosquitto MessagePack Objective C Imple... MessagePack msinttypes OpenCV Tutorials nimbus NJKWebViewProgress unmodified objc4 ObjQREncoder OCHamcrest OCMock OCPDFGen OmniGroup OmniUI OpenSSL OpenUDID opus peertalk PhotoScroller PHP PLCrashReporter pmtk3 Pocket-ObjC-SDK portaudio protobuf PSTCollectionView SUtilities RestKit Ring Buffer Utility SDURLCache SDWebImage SOCKit SPDY-for-iPhone spdylay spreadsort ssziparchive TDOauth tiqr UAModalPanel webkit webp webrtc WebViewJavascriptBridge XMLReader yaml-cpp yasm zlib zxing
g_fred.. 10
从纸上工程师的报价:
这里的工程复杂性是找到一种在UIKit框架之上充分利用新iPhone的多核架构的方法,该框架不支持多线程.在创建用于在多个线程上进行渲染工作的框架方面做了大量工作,我们花了很长时间在性能和复杂性之间找到平衡点.
全文文章:http://www.quora.com/Facebook-Launches-Paper-January-2014/What-was-it-like-to-help-develop-Paper/answer/Jason-Barrett-Prado?srid = IADC&份额= 1
从纸上工程师的报价:
这里的工程复杂性是找到一种在UIKit框架之上充分利用新iPhone的多核架构的方法,该框架不支持多线程.在创建用于在多个线程上进行渲染工作的框架方面做了大量工作,我们花了很长时间在性能和复杂性之间找到平衡点.
全文文章:http://www.quora.com/Facebook-Launches-Paper-January-2014/What-was-it-like-to-help-develop-Paper/answer/Jason-Barrett-Prado?srid = IADC&份额= 1
Facebook于4月1日在旧金山举办了一场名为"内幕浏览Facebook论文"的活动.请参阅"Spring&Delight:超越静态动画 - Kimon Tsinteris"部分.
总之,对于动画,他们使用了一个名为Pop的内部库,该库现在已经开源了.它比CoreAnimation更有优势1)它不依赖于CALayer ...任何对象都可以动画2)动画可以在流动中停止,而新动画开始时动画对象的结束状态匹配到原来的位置停止.您会注意到Paper中的动画都可以被中断.
在F8 Facebook 宣布他们将开放渲染渲染库DisplayNode,允许大量渲染发生在主线程之外.它于2014年10月作为AsyncDisplayKit发布.