Cloudkit还是Parse?现在两者都是跨平台的(“CloudKit JS”),这使得这个问题更加困难。
你们中的一些人能列出各自的优缺点吗?或者如果你不知道其中一个,请就单一的经验给些建议。
我使用过Parse,而且很喜欢它。事实上,我发现它大部分都很直观。
在我看来,他们的支持水平一般;然而,这个产品表现稳定可靠。
如果你对JavaScript感到舒适,我会说试试吧。当然,潜在的负面因素包括Facebook可能会终止业务...
我不明白CloudKit如何跨平台,除非让Android用户付费,这可能会起作用。
至少云中的数据需要在Web REST API上普遍可见(CloudKit不支持REST API),以免过度隔离在Apple生态系统内。
因此,只要开发人员需要向非iOS平台交付解决方案,即跨平台解决方案,Parse可能会有未来。
我们可以使用以下功能将CloudKit与Parse进行比较:
1)仪表板
您可以在CloudKit仪表板中创建和编辑数据。实际上,CloudKit仪表板看起来并不像是Parse的常规表视图。模型的结构表示在记录类型部分中,数据本身存储在默认区域中(公共数据库有一个默认区域,私有数据库也有一个)。 CloudKit仪表板还允许您查看团队中包含的内容及其权限,并设置数据存储以在开发和生产模式下工作。
2)服务器端逻辑
作为曾经使用Parse的开发人员,我可以说,称为CloudCode的功能是一种非常有用的工具,它可以让您直接在服务器上执行某些任务,甚至连接一些库。因此,例如,如果您想计算统计数据,您完全可以使用CloudCode。
CloudKit缺乏这种可能性。苹果肯定应该建立一个类似于CloudCode的模拟器,以便我们可以编写在后端上运行的代码。
3)后台任务
CloudKit没有后台任务,无论何时都可以实现。因此,我们失去了服务器上的数据处理灵活性。
4)导入/导出数据 Parse允许您在JSON中备份数据。这样,您可以确保它将安全地存储在本地服务器上。不幸的是,CloudKit不允许您这样做。
5)分析 Parse支持基于数据的分析。您可以监视流量、请求频率、推送通知活动、跟踪崩溃(包括堆栈跟踪和元数据)。此外,Parse允许您在图形仪表板上查看数据。CloudKit框架不提供相同的功能。
6)本地存储支持 如果您使用Parse,则可以将数据直接存储在设备上(iOS或Android) 在CloudKit中,没有机制可以让您选择如何存储数据。但是,您可以使用CoreData或第三方服务(例如Realm数据库)来实现此目的。
7)跨平台 CloudKit仅适用于iOS和OSX设备。Parse支持大量设备和操作系统,例如iOS、OSX、Android、Windows、Windows Phone。
8)Web托管 Parse允许您在其平台上创建自己的网站并使用域名。您将获得一个项目目录,其中包含网站内容、设置和支持请求。在CloudKit中没有这样的功能。
9) REST API Parse允许您使用REST API。有许多第三方库可用于接收和传输数据,这些库与Parse一起工作。CloudKit不支持REST API。
10) 社交网络支持 如果您的用户通过Facebook、Twitter或其他社交网络登录,则他们的数据将存储在Parse的用户表中。CloudKit也有一个用户表,但我没有找到通过Facebook/Twitter帐户登录的内置机制。但是,您可以使用通过iCloud登录的用户的信息。
我看到Parse存在的问题是:技术支持似乎非常安静。我知道他们的商业模式是收费支持,但很多问题在用户论坛上无法得到回答,我认为这不是一个好的做法,特别是对于那些非常简单的事情来说,在文档空缺的地方填写,社区无法解决它们。
当然,我看到CloudKit的一些优点:
1) 存储大小是CloudKit的明显优势。分配给您的应用程序的存储和数据传输量将随着每个用户的增加而扩展和增长-直到1 PB的资产存储和10 TB的数据库存储-全部免费提供。相反,使用Parse,用户可以更快地耗尽您的资源。
2) CloudKit允许您使用容器。CKContainer是一个封装与应用程序相关内容的对象。换句话说,CKContainer负责将您的应用程序与服务器通信。它还允许增加灵活性,因为少数应用程序可能有一个单一的容器,而单个应用程序可能可以访问几个容器。每个应用程序默认至少有一个容器。相反,Parse为每个应用程序提供单个数据库。此外,CKContainer可帮助您保护和隔离数据,并防止未经授权拦截数据。CloudKit总体上是一个高度受保护的系统,因为它基于iCloud,您知道苹果对安全问题有多么热情。
Parse宣布将在一年内关闭服务,因此您不应选择Parse。您可以查看亚马逊的AWS和App42 api。两者都是很好的BAAS解决方案。