2013-08-06 233 views
0

我有一个基于HTML5 + CreateJS开发的(游戏)webapp,但由于Android缺乏标准,我遇到了无法解决的问题,我的webapp。这就是为什么im重复到PhoneGap。关于PhoneGap/Cordova的困惑

然而我的困惑在于,我需要将此游戏制作成Android/iOS上运行的phonegap应用程序,并针对每个平台使用原生特定的东西。因此,我应该为每个平台构建2个应用程序(每个平台一个),还是使用我已有的应用程序,并尝试使用phonegap将它部署到不同的设备中?

事实是我不知道如何解决这个问题......任何人都可以帮忙吗?

最好的问候。

回答

0

是的,即使是最简单的游戏,比如泡泡克星,也很难与不同版本的android webview制作跨平台,你需要跨平台吗?我会建议看看像Unity3D。

+2

事实上,这是一个基于网络的游戏需求,所以像unity这样的插件不在我们的范围之内。 还记得你提出了一个评论,而不是一个答案:P – FeleMed

3

是的,你可以使用Cordova(PhoneGap)来创建一个跨平台的移动应用程序。基本上,Cordova(PhoneGap是Adobe的Cordova版本)是一个开源项目,提供用于访问本机设备功能的JavaScript API(如Accelerometer或Camera)。Cordova还允许您将应用程序打包在本机应用程序外壳中,因此您可以将自己的应用程序应用商店中的应用。请在这里看到我的关于科尔多瓦和混合应用程序的其他答案:Beginning with Apache Cordova

如果游戏完全运行在HTML5中,我认为最简单的方法就是使用该代码库并将其与Cordova集成,然后部署到各种平台 - 为什么重写应用程序两次,如果你不需要?

但是,如果您使用的是本机设备功能,则可能需要开发自己的Cordova/Phonegap插件以供使用。这样,您可以调用通过JavaScript从Web应用程序代码编写的常规Android/iOS代码(Java或Objective-C代码)。这可能是更多的工作,尤其是如果你从来没有用这些语言写的。

就个人而言,由于您已经有了一个可用的HTML5应用程序,我只是试着让它与Cordova一起工作,并看看它是如何执行的。如果你真的需要一些本地特定的东西,那么我会尝试创建这个“东西”作为一个插件。重建应用两次,一次为Android,一次为iOS似乎对我来说是一个相当大的浪费。

+1

phonegap不是Adobe的cordova版本。 phonegap在Adobe参与Phonegap之前就已存在...... – xandercoded

+1

感谢您的回答,这与我的想法基本相同,但我不知道如何在技术上接近它。 顺便说一句网页游戏吸手机:P – FeleMed

+0

@Xander是的,“Phonegap”是项目的名称,它刚开始时由Nitobe拥有。然后,当Adobe购买它们时,Adobe将该来源捐赠给Apache,并且该项目被命名为“Cordova”或“Apache Cordova”。然后,PhoneGap转向成为Cordova的Adobe品牌版本。 Adobe为Cordova增加了额外的功能(主要是现在只是PhoneGapBuild和博客文章)。区别很重要,我们应该谈论“Cordova”,除非它是一个特定的PhoenGap问题。请参阅Brian的博客文章了解更多信息:http://phonegap.com/2012/03/19/phonegap-cordova-and-what%E2%80%99s-in-a-name/ – MBillau

1

这里的答案是yes或no。

  1. 是的,如果你想使用本地代码的某些特定功能。例如,iOS的默认对象本身很漂亮,您可以轻松拖放它来构建应用程序。但是,为另一个平台重建需要花费很多时间。特别是,如果您打算为多个平台创建应用/游戏,那将是一场噩梦。

  2. 对于您来说,访问多个平台的HTML5速度要快得多。但是,无法在所有平台和所有设备上获得最佳结果。我的意思是,在所有设备上实现应用的最大性能是非常困难的。对于这个解决方案,我建议HTML5带有一些库,例如LimeJS,Crafty,Impact等,或者一些工具,如Construct 2等。我曾经使用HTML5与所有这些库,但发现Construct 2更好。

  3. 除了使用phonegap,我建议cocoonjs。特别是如果你的目标是iOS和Android平台。

希望有所帮助。