10

我正在尝试创建一个结合上述项目的移动应用程序,但我不确定我应该如何去做。

以下是我发现的 2 个选项:

  1. 使用https://github.com/MobileChromeApps/mobile-chrome-apps - 我的问题是它似乎还没有准备好生产。(有人告诉我它是,但我找不到任何支持)。
  2. 创建一个新的 ionic 项目,然后将 Cordova 添加到其中,然后清空platforms/android/CordovaLib/ 文件夹并从 Crosswalk 移入其中的文件(如https://www.thepolyglotdeveloper.com/2014/10/use-crosswalk中所述-ionic-framework-android-apps/ ) - 这个解决方案非常简单,但对我来说似乎有点 hackish...

我应该使用哪个选项?还有其他选择吗?

干杯,

- - 更新 - -

Ionic 已经在他们自己的 CLI 中结合了 Crosswalk 的功能,请访问http://ionicframework.com/blog/crosswalk-comes-to-ionic/

4

3 回答 3

13

关于人行横道

人行横道支持是我们希望在今年年底之前默认提供给香草科尔多瓦的东西。您今天可以按照 cordova-android 4.0 开发分支上的工作开始尝试这个。应该可以将此平台(和所需的插件)直接添加到新的 ionic 项目中。

Chrome 移动应用程序与cordova-cli 兼容,并且默认情况下确实已经捆绑了 Crosswalk。与 vanilla cordova 的主要区别在于应用程序必须遵循 Chrome 打包应用程序结构(具有清单和后台脚本),但可以获得在桌面 Chrome 上运行的好处。在此处查看更长的答案。(我不会过多地阅读开发者预览标签。我们只是喜欢将所有内容称为测试版;)

当前crosswalk-project.org提供的cordova 工作流程不使用 cordova 多平台应用程序结构。它直接使用cordova-android 本机应用程序模板。这意味着您将无法使用cli,也无法使用类似or 的cordova下游。您显然也无法添加其他平台,升级时间会更加困难,并且管理插件有点复杂(您必须直接使用该工具)。ccaionicplugman

目前没有使用cordova+crosswalk进行开发的选项,这并非没有一些权衡。

关于 Cordova、Ionic、Chrome Apps for Mobile(等)项目之间的兼容性

大多数科尔多瓦下游项目“大部分” cli 兼容。例如,ccacli(由 Chrome Apps for Mobile 使用)支持 create,plugin addplatform add-- 这样的命令,因此它可以安装 ionic 插件。反之亦然,用于移动设备的 Chrome Api 是作为 cordova 插件开发的,可以使用它们各自的 cli 添加到 Ionic 或 cordova 项目中。

大多数下游也使用相同的项目目录结构(plugins/, platforms/, www/, hooks/, 等),因此您通常可以在一定程度上在一个项目中混合使用各种 cli。

也就是说,cca需要自定义 cli 的原因是因为我们对您的 cordova 项目进行了一些非标准的修改,这些修改还没有被 vanilla cordova 直接支持。离子做同样的事情。

我在各种cordova 聚会上建议,像Ionic、PhoneGap 和CCA 这样的下游项目应该一起玩得更好——所以你的问题是正确的。我们大多是兼容的,但找出差异目前留给开发人员作为练习。

于 2014-11-11T22:14:36.487 回答
5

使用XDK HTML5跨平台开发 IDE 可能是集成 Crosswalk、Cordova 和 Ionic 的最佳方式。它内置了对 Crosswalk 的支持。我最近使用过它,它非常棒。这将使我们的工作轻松许多。

从人行横道网站:

如果您更喜欢使用图形集成开发环境 (IDE),免费的英特尔 XDK 提供了另一种方法来为 Crosswalk Android 打包应用程序。有关详细信息,请参阅英特尔 XDK 网站

于 2014-11-08T12:35:40.970 回答
4

youtube 上的这个人制作了一个很好的、直接的教程,对我有用:https ://www.youtube.com/watch?v=0I1OjJLVLMo

结果非常棒,值得努力让它发挥作用。

这家伙说,CrossWalk 在运行低于 Android 4.4(添加 Chromium 时)的任何东西上都有很大的不同。

祝你好运。

于 2014-12-12T15:18:28.840 回答