2012-08-14 58 views
1

我一直在寻找phonegap和许多其他移动应用程序制作解决方案。由于phonegap声称支持最大的各种技术,它似乎非常有吸引力。但是,查找入门指南时,有针对iPhone,Android等开发的单独指南。一次为PhoneGap中的多平台移动应用程序编码

所以我想知道开发跨平台应用程序的方法是什么?是否可以编写一次代码并在电话支持的所有平台上使用?你用纯html/css/js编写吗?

回答

2

很多已经写在PhoneGap vs'native'(vs Titanium及其他)[见右侧的'Related'栏]。单独指南的原因是您需要这些特定的环境来最终构建您的应用程序(将您的html/css/js与PhoneGaps平台特定的代码合并)。 PhoneGap Build试图解决这个问题:它为您构建了应用程序(作为Web服务)。

开发本身发生在html/css/js中。您的js代码将通过一系列PhoneGap代码提供的界面访问手机上的js(例如相机)通常无法使用的功能,这些代码对于每个平台都不相同。如果PhoneGap没有提供某些功能,您可以自己添加(或者找到第三方插件来完成此操作),但这需要您编写与平台相关的代码。在我使用这个时候,我无法通过PhoneGap Build(为您构建的网络工具)使用自定义库。

就我个人而言,我完全留下了PhoneGap的想法。您没有原生的'UI',但是留下了您可以在HTML/css/js中执行的操作。在我看来,这不仅限于许多方面(关于外观和速度),它也不太“直接”和“稳定”。这导致很多奇怪的,很难解决'错误'(应用程序的工作原理,但只要用户不按照'预期'方式移动并敲击他/她的手指,就会出现毛刺,我不喜欢那样, 亲自)。解决这些问题需要很长时间,我觉得这样做并不好玩。我在这里说单个电话,单个平台。你可以想象如果你在另一个地方试试这个会发生什么。

此外,使用PhoneGap让你依赖另一个第三方(即PhoneGap)。此外,您还可以编写代码并学习技能,在移动平台上,并且我认为这些技术不太“标准”,因此不易重用,我怀疑这种情况是否会很快改变。支持和文档也少,同样适用于工具。最后,开发本地代码会让您更接近实际的平台,我认为这很重要,因为它们各有优点,缺点和特点。

Android和iOS现在占所售智能手机的85%。所以目前,我的策略是针对这两个。学习曲线肯定会更大,特别是如果你来自网络并已具备html/css/js技能。但是,一旦“达到标准”,我认为开发一个应用程序两次本机可以与PhoneGap所需的所有调试(按照您的PhoneGap应用程序的至少一定级别)进行竞争。质量明智,你的本地应用会更好。当然。

但是,那只是一个意见,也可能随时间而改变。我基于我的策略(专注于本地开发),主要基于我对PhoneGap的体验。还有其他一些方法,比如Titanium,有不同的优点和缺点,你至少可以看看这些。

编辑:对于长时间的咆哮抱歉。毋庸置疑,它的相关性以及它的相关性是否适合你,完全取决于你来自哪里(技能等)以及你将要去哪里(无论是坚持一个还是两个平台甚至是一种选择) 。