写点什么

Facebook 开源 Parse 后端 SDK

  • 2015-08-17
  • 本文字数:1668 字

    阅读完需:约 5 分钟

作为一个 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 读者交流群)。

2015-08-17 03:405776
用户头像

发布了 268 篇内容, 共 125.5 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

先楫半导体HPM6700系列正式合入OpenHarmony社区主干

Geek_2d6073

关于DAO社区代币挖矿治理dapp系统开发

开发微hkkf5566

大专参加大数据培训学习要具备哪几方面的知识

小谷哥

手把手在桌面应用中运行小程序

Onegun

小程序 windows Mac 软件

params传参与body传参区别

源字节1号

软件开发 前端开发 后端开发 小程序开发

技术内幕 | StarRocks 支持 Apache Hudi 原理解析

StarRocks

#数据库

【Go电商实战03】如何使用ORM链式操作?如何优雅的实现软删除?

王中阳Go

Go golang 高效工作 学习方法 11月月更

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

低代码技术在研发团队的应用模式探讨

阿里巴巴终端技术

前端 终端 低代码 客户端

新双机热备软件排名看这里!

行云管家

高可用 双机热备

前端安全问题及防护思路

FinFish

网络安全 安全 安全架构 移动安全 前端安全

【电商实战02】如何借助工具快速生成代码?初学者容易踩的坑有哪些?

王中阳Go

golang 高效工作 学习方法 程序员 11月月更

设备接入物联网平台必知必会——设备接入类

阿里云AIoT

阿里云 数据 物联网 设备接入 协议解析

JavaScript刷LeetCode-字符串类解题技巧

Geek_07a724

JavaScript LeetCode

堡垒机小知识科普-行云管家

行云管家

网络安全 信息安全 堡垒机 等保2.0

如何把 ThinkPHP 5 的项目迁移到阿里云函数计算来应对流量洪峰?

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

使用 C++ 部署深度学习模型快速上手方案

MegEngineBot

c++ 深度学习 开源 MegEngine 模型部署

前端培训学习需要哪些知识?

小谷哥

软件测试面试真题 | UI自动化测试如何通过子元素定位父元素?

测试人

软件测试 面试题 自动化测试

HarmonyOS线上Codelabs系列挑战赛第二期:调用三方库,制作酷炫的视觉效果

HarmonyOS开发者

HarmonyOS

用javascript分类刷leetcode3.动态规划(图文视频讲解)

Geek_07a724

JavaScript LeetCode

Java Web(九)会话跟踪技术

浅辄

javaWeb session Cookie 11月月更

软件测试面试真题 | 测试一个你完全不熟悉的系统,你会怎么办?

测试人

软件测试 面试题 自动化测试 测试开发

桌面端运行小程序的简易实操

FinFish

跨端开发 跨端运行 桌面应用 桌面应用开发

零基础转行Web前端培训机构怎么选

小谷哥

JavaScript刷LeetCode心得

js2030code

JavaScript LeetCode

沉浸式视听体验:全景声技术是如何实现的?

阿里云CloudImagine

阿里云 音视频 音频

Java培训机构应该怎么去学习开发技术

小谷哥

合阔智云核心生产系统切换到服务网格 ASM 的落地实践

阿里巴巴云原生

阿里云 云原生 服务网格

DAO社区治理代币投票挖矿系统开发合约定制

开发微hkkf5566

TDSQL携手金蝶云·苍穹,发布“国产数据库联合解决方案”

腾讯云数据库

数据库 腾讯云 tdsql 金蝶 腾讯云数据库

Facebook开源Parse后端SDK_Meta_张天雷_InfoQ精选文章