Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova 在PhoneGap中为多平台移动应用程序编写一次代码_Cordova_Cross Platform_Dry - Fatal编程技术网

Cordova 在PhoneGap中为多平台移动应用程序编写一次代码

Cordova 在PhoneGap中为多平台移动应用程序编写一次代码,cordova,cross-platform,dry,Cordova,Cross Platform,Dry,我一直在寻找phonegap和许多其他移动应用程序制作解决方案。由于phonegap声称支持种类最多的技术,它看起来非常有吸引力。但是,在查找入门指南时,有单独的指南用于开发iPhone、Android等 所以我想知道开发跨平台应用程序的方法是什么?是否可以一次性编写代码并在phonegap支持的所有平台上使用?你是用纯html/css/js编写的吗?关于PhoneGap与“native”(与Tianium和其他)的对比已经有很多文章了[请参见右侧的“相关”栏]。单独指南的原因是,您需要这些特定

我一直在寻找phonegap和许多其他移动应用程序制作解决方案。由于phonegap声称支持种类最多的技术,它看起来非常有吸引力。但是,在查找入门指南时,有单独的指南用于开发iPhone、Android等


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

关于PhoneGap与“native”(与Tianium和其他)的对比已经有很多文章了[请参见右侧的“相关”栏]。单独指南的原因是,您需要这些特定的环境来最终构建应用程序(将html/css/js与PhoneGaps平台特定的代码合并)。PhoneGap Build试图解决这个问题:它为您构建应用程序(作为web服务)

开发本身是在html/css/js中进行的。您的js代码将通过一组PhoneGap代码提供的接口访问js在手机上通常不可用的功能(如摄像头),这些代码对于每个平台都是不同的。如果PhoneGap不提供某些功能,您可以自己添加(或找到第三方插件),但这需要您编写依赖于平台的代码。在我使用它的时候,我无法通过PhoneGap Build(为您构建的web工具)使用自定义库

就我个人而言,我已经完全放弃了PhoneGap的想法。您没有本机的“UI”,而是可以在HTML/css/js中进行操作。在我看来,这不仅在很多方面受到限制(关于外观和速度),它也不太“直接”和“稳定”。这导致了许多奇怪且难以解决的“bug”(该应用程序可以工作,但只要用户不按“预期”的方式移动和轻触手指,就会出现小故障,我个人不喜欢这样)。解决这些问题需要很多时间,我觉得这样做并不有趣。我说的是单电话,单平台。你可以想象,如果你在另一个身上试一试,会发生什么

此外,使用PhoneGap会使您依赖另一个第三方(即PhoneGap)。此外,在我看来,在移动平台上,您生成的代码和学习的技能不太“标准”,因此不太可重用,我怀疑这种情况是否会很快改变。支持和文档也较少,工具也是如此。最后,开发本机代码使您更接近实际的平台,我认为这一点很重要,因为它们各有优缺点和特点

安卓和iOS现在占智能手机销量的85%。所以目前,我的策略是瞄准这两个目标。学习曲线肯定更大,尤其是如果你来自网络,并且已经具备html/css/js技能的话。但一旦“达到标准”,我认为开发一个两次原生的应用程序可以在时间上与PhoneGap所需的所有调试竞争(考虑到你希望PhoneGap应用程序至少有一定程度的体面)。就质量而言,您的本地应用程序会更好。当然

但是,这只是一种观点,而且可能会随着时间的推移而改变。我的策略(专注于本土发展)主要基于我在PhoneGap的经验。还有其他方法,比如钛,有不同的优点和缺点,你至少可以看看这些方法

编辑:很抱歉,我的长篇大论。不用说,它的相关性以及是否适用于你,完全取决于你来自何方(技能等)以及你将去何方(坚持一个或两个平台甚至是一种选择)