转载

Facebook开源Parse后端SDK

作为一个App开发支撑平台, Parse 在2013年被Facebook收购之后,8月13日正式宣布开源其所有的软件开发包(SDK)。这是包括 React , Presto , HHVM , OSQuery ,和 RocksDB 在内的众多开源项目取得广泛成功之后,Facebook开源行动的又一重大举措。

Parse是专为移动应用提供后台服务的云计算平台,Parse为开发者承接了繁琐的后台服务,让开发者只需专注于具体的前端开发工作。它提供任意数据存储、通知发送/推送、地理位置数据使用、Facebook/Twitter 登陆帐号添加等服务。Facebook不断开源其内部项目,将内部成果反馈给开源社区。同时,通过不断开源自己的产品项目,Facebook也吸引了大量优秀开发者为其工作,这加速了整个移动开发社区的研究创新。

Parse的SDK被广泛用于移动开发社区。事实上,Parse SDK每个月已经运行在超过 800万个活跃的应用程序中,Parse SDK是Parse平台的重要组成部分。但是对于许多开发者来说,SDK 就像是一个黑盒,用户利用SDK可以获得功能服务,却不知道它内部是如何运行的。正如Parse公司的联合创始人James Yu 所说,开发人员有时候希望获取更多的透明性,希望了解SDK是如何与后端服务器进行交互的。

Yu 表示,公司的出发点并不是将所有SDK作为黑盒,在Parse团队决定开放SDK源码之后,不久公众将能够访问所有的代码。同时,Yu 还指出,开源之后,Parse公司希望开发人员不仅仅是访问代码,而是希望更多开发者参与到 SDK 的开发中来,帮助修复 bug,甚至在SDK中加入新的功能。正如Parse的软件工程师Nikita Lutsenko在其 Blog 中说到的,“我们非常兴奋地可以首次向开发者展示hook下的真实内容”。而在hook背后的是,Parse在构建一个支持多平台的应用开发支撑平台的过程中,为解决所面临的挑战的所做的努力。Lutsenko在其Blog中向大家介绍了公司是如何解决这些挑战的。

Lutsenko谈到,面向公众的API必须易于理解和使用,同时需要在不破坏任何现有功能的基础上持续快速地增加新的功能。为了解决这个问题,Parse的工程师在外部对公共API进行结构化,内部的代码和功能却可以持续改进。此外,为了在架构上实现统一,Parse的工程师开发了一种全新的方式来异步操作promises和Bolts框架任务。为了提升速度和稳定性,Parse建立了一个松散耦合的架构模型,它可以让程序运行得更快,同时让已有的SDK功能保持足够的可靠性。

伴随着对SDK开源,Parse也开放了开发者支持流程。新的SDK支持流程利用GitHub平台,在这里你可以直接与Parse工程师以及其他Parse开发者进行交互。由于源代码是所有用户都能够获取,用户可以为其发现的任意bug提交Pull Request。欲了解更多关于SDK的bug报告指南,可以参考 Android指南 , iOS/OS X指南 。

接下来,Parse将会发布一系列的Blog,详细介绍这些 SDK 是如何工作的。已经发布的 第一篇Blog ,介绍了 Parse 的异步 API 是如何工作的。

Parse目前在 GitHub repository 有超过40个项目(其中有些是文档和Demo App),在8月5日的时候,他们还 开源了命令行工具 ,其能够让开发者与云代码实现交互。

但是关于Parse,不同的用户有不同的看法,用户在Hacker News上展开了大量的 讨论 。一些用户认为Parse对于快速地构建和运行一个App是不错的,但在面对比接口读写更复杂的任务的时候,其可用性会受到限制。另外,有用户认为使用Parse事实存在一些窍门,其可用性更取决于是否使用了正确的方式。同时也有用户针对Parse在使用过程中出现的各种问题,提供了可借鉴的解决方法。不过总的来说,用户对于Facebook开源Parse后端SDK都表现出很高的关注。

Parse SDK for Android 和 Parse SDK for iOS/OS X 现在就可以在GitHub上被获取,像Windows Phone,JavaScript,Xamarin和React等其他SDK服务也很快能被访问。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 Facebook开源Parse后端SDK )。

正文到此结束
Loading...