揭秘Facebook为何采用iOS原生应用
Facebook的iOS应用在速度和表现上的提升令人印象深刻,而在软件开发领域,因扎克伯格“Facebook 的应用完全依赖 HTML5 是最大的错误”的讲话,Facebook抛弃HTML5、转向原生应用的华丽转身也引起了极大的关注。对于这一举动所引发的外界关注,Facebook工程师们表示情绪稳定,他们只是像做一个更好的应用。Facebook西雅图Office的工程师、该项目的负责人之一Todd Krabach称:
“我们用newsfeed来进行了一系列测试,看看我们现在的做法与其他方式会有什么不同。我们头几个月基本上啥都没干,就是做这些测试。在这一点上讲,我们并没有对应用进行伤筋动骨的重建,这更多的是一个实验,就像一个Hackathon(黑客马拉松)项目一样。”
最终的结果是:尽管原生代码还存在着各种缺点,但还是最终胜出。
由于将应用中的关键部件转移到原生代码上,这实际相当于舍弃了一些采用HTML5可以获得的好处,例如说部署的速度、跨平台兼容性和用户升级的便利性。但Krabach称,在对HTML5的评估中,团队还是想办法让应用的响应速度达到了一定要求,界面设计上也相当的简洁。
在Geekwire本周的采访中,Krabach以此为例透露了Facebook这一社交网络巨头幕后的决策和研发过程。
“在评估阶段,我们包含了各个层面上的人员。Facebook一直很关注移动化,我们想为用户提供最好的用户体验。”Krabach如是说。
此前业内普遍认为,基于HTML5的Web版Facebook用户体验比较差,是因为Facebook没有充分利用好HTML5的优势。相信许多从业者可能会有这样的问题:在HTML5和原生代码的拔河比赛中,Facebook是如何作出选择的?Geekwire也问了Krabach这个问题,他的回答是:
“如果iOS软件和开发工具包一直停滞不前,那么就我看来,那么HTML5将会迎头赶上,而且将成为一个不错的平台,但事实是原生SDK越做越好,HTML5在这点上真不好和原生应用相比。”
不过Krabac仍然认为,Facebook的iOS应用应该是一种原生+HTML5的混合形式。“我们总是会开发混合应用,这一点不会改变。”
该项目也成为Facebook的分布式开发环境的一个成功例子:在西雅图Office的工程师与在加利福尼亚的Facebook总指挥部密切协作,完成项目。Kkrabac称,Facebook的协作主要靠互联网中继聊天(IRC)以及视屏回忆来完成,在IRC上总能找到人,在哪里做开发都一样。“这对于我们的工作和我们做事的方式提供了很多灵活性。”
就在上周,iPhone 5和iOS 6发布后,Facebook随即发布了支持iPhone 5和iOS6的5.0.1版本。