将Cordova应用移植到移动Chrome应用的原因是什么?

16

我们已经成功运行了 Cordova 应用,并使用 Grunt 编写了构建脚本,使得构建应用变得轻松。我们不需要 Chrome 提供的任何 API,除了一些性能问题会在老旧的 Android 设备上出现,这强制我们在那些设备上屏蔽了一些次要功能,除此之外,我们对应用程序的当前状态非常满意。

到目前为止,我们没有找到将 Cordova 应用转换成移动版 Chrome 应用的理由。或者说我们漏掉了什么?在 JS 速度、CSS 支持等方面是否有任何差异?

1个回答

23
主要动机是将桌面Chrome应用程序带到Android和iOS,因此Chrome Apps on Mobile利用Apache Cordova
然而,如果您已经喜欢使用cordova,则有一些原因可以考虑/不考虑使用cca工具包:

Chrome应用程序API

如果您希望利用我们已移植到移动设备的一些有用的Chrome应用程序API,您甚至可以在不使用我们的cca工具包的情况下,在您的vanilla cordova应用程序中使用它们! (我们竭尽全力尝试使这种情况尽可能发生,回馈帮助我们的社区)。
然而,对于一些APIs,您真的需要使用我们的cca工具包,因为我们可能依赖Chrome应用程序生命周期或其他特定功能。(似乎我们的文档尚未清楚地表明这一区别,因此我已经提出了一个问题来解决这个问题)。 结论: 如果某个Chrome应用程序API不适用于香草cordova,请考虑使用cca

桌面平台

Chrome打包应用程序可以在Chrome支持的任何桌面平台上运行——这是当今流行使用的每个主流操作系统。这些应用程序的功能和本地集成正在迅速改进,并真正消除了使用Web技术进行各种应用程序类型的障碍。
因此,虽然Chrome应用程序在移动设备上的动机是使一些桌面应用程序移植到移动设备上,但您应该考虑反过来是否对您有用!
这意味着调整您现有的应用程序以使用Chrome应用生命周期和清单,遵守诸如CSP和禁用Web功能等限制,并且不能依赖于Cordova扩展 - 但实际上,对于已经是离线启用的Web应用程序包的Cordova应用程序来说,这通常并不会构成障碍(那才是困难的部分)!
结论:如果您还想针对桌面平台或想将应用程序提交到Chrome Web商店,则考虑使用cca。
Cordova插件
如果您现有的移动应用程序已经利用了一些Cordova插件,您仍然可以使用cca工具,因为我们创建了一个完全兼容的cordova项目。这带有一个警告,即这些插件仅在移动设备上可用-但您可以使用特性检测进行桌面-移动应用程序兼容性。
结论:cca工具不禁止使用Cordova插件。
不是Android或iOS的移动平台
我们目前不支持一些纯净的Cordova所支持的平台,例如BlackBerry,Windows Phone,或即将推出的平台如FirefoxOS,Tizen和Ubuntu(尽管其中许多平台目前尚未与Android / iOS达到功能相等)。

结论: 如果这些移动平台对你很重要,不要使用cca

最后的话

如果你已经对现有的内容感到满意,那么他们说过:如果它没有坏,也许就不要修复它!


2
太好了,感谢您提供这么详细的答案,您回答了我想知道的一切!我很喜欢你们在Google所做的工作。 - zerodot
在Android CCA中,是否有可能检查用户是否已经购买了Chrome网上应用商店中对应的应用程序? - 31415926
@Qvatra 基于 cca 的 Android/iOS 应用程序是 100% 真正的 Android/iOS 本地应用程序,并发布到相应的商店。像所有应用程序一样,它们的购买完全是独立的。但是,我们支持一个通用的 支付 API 用于应用内支付。这些购买默认情况下也会按平台隔离,但您可以手动交叉引用 Android 和桌面端购买(由于政策指南,无法在 iOS 上实现)。这意味着您可以实现“解锁”功能并在至少 Android 和桌面端之间共享。 - mmocny
@Qvatra 如果这能解决你的问题,我会建议你在这里看一下,但我猜你是在问关于应用商店内购买的问题。答案很简单:不,你不能分享购买。 - mmocny
谢谢您详细的回答。您能否告诉我们目标计算机是否必须安装Chrome或Chromium,或者Chrome应用程序是否也可以独立运行? - Sebastian Mach

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接