BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Facebook开源Parse后端SDK

| 作者 张天雷 关注 4 他的粉丝 发布于 2015年8月18日. 估计阅读时间: 5 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

作为一个App开发支撑平台,Parse在2013年被Facebook收购之后,8月13日正式宣布开源其所有的软件开发包(SDK)。这是包括React, PrestoHHVMOSQuery,和 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 AndroidParse SDK for iOS/OS X现在就可以在GitHub上被获取,像Windows Phone,JavaScript,Xamarin和React等其他SDK服务也很快能被访问。


感谢徐川对本文的审校。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT