Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.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
Ios Objective-C与PhoneGap_Ios_Cordova - Fatal编程技术网

Ios Objective-C与PhoneGap

Ios Objective-C与PhoneGap,ios,cordova,Ios,Cordova,开发iOS应用程序有多种方法。我喜欢用Objective-C编程来制作iOS应用程序 但是您可以使用jQTouch、jQMobile、PhoneGap等来完成大部分工作 问题: 何时使用本机平台合适 我试过phonegap,第一件让我恼火的事是你不能像在obj-c中那样控制键盘。键盘与浏览网站时的键盘完全相同,它在键盘顶部有一个额外的窗格,带有“下一个/上一个”按钮。 因此,我现在尝试使用Tianium Appcelerator,您可以使用javascript创建本机GUI。根据我的经验,所有j

开发iOS应用程序有多种方法。我喜欢用Objective-C编程来制作iOS应用程序

但是您可以使用
jQTouch
jQMobile
PhoneGap
等来完成大部分工作

问题:


何时使用本机平台合适

我试过phonegap,第一件让我恼火的事是你不能像在obj-c中那样控制键盘。键盘与浏览网站时的键盘完全相同,它在键盘顶部有一个额外的窗格,带有“下一个/上一个”按钮。
因此,我现在尝试使用Tianium Appcelerator,您可以使用javascript创建本机GUI。

根据我的经验,所有javascript应用程序都比在本机平台上编写的应用程序慢。不是因为电话或JavaScript,而是因为DOM元素的呈现。

我认为,如果学习或使用Objective-C是您的能力范围内的话,那么几乎总是最好这样做。使用本机SDK,您可以以最兼容的方式访问设备上的所有内容。使用抽象层只会损害功能性、可定制性和调试

也就是说,似乎有一些功能强大且编写良好的框架可以将HTML、CSS和JS编译成本机应用程序。如果您的日程安排不是很紧,或者您需要快速推出原型,并且您是JavaScript忍者,但还是Objective-C编码新手,那么这可能是合适的

  • PhoneGap本质上是一个包装器,因此它将始终落后于最新的功能,并且在某些边缘情况下可能存在bug
  • 并非所有的平台功能都将在PhoneGap中可用,所以在决定使用它之前,您需要知道哪些不受支持
  • 大多数硬件加速功能永远不会完全可用,因此,如果你想制作一款具有高端图形的高级游戏,它将无法正常工作
  • 进行定制模块所需的维护(这些模块不是现成的)实际上可能比开发本机模块花费更多的时间
  • 您真的需要在2个以上的移动操作系统上运行吗?为iOS和Android编写软件将为您提供相当大的市场覆盖率,因此您最好选择原生软件

  • PhoneGap专为更简单的网络应用、数据驱动应用和需要连接才能工作的社交应用而设计。如果你的应用程序变得流行,并且你需要支持更多功能,那么你可能最终会用它的母语重写应用程序,但是如果你能在多台设备上快速发布一个想法,那么你在市场上就有了竞争优势。

    如果你需要快速、以最小的努力开发一个适用于多个移动平台的应用程序(即,实现一次),使用PhoneGap或类似工具。这些框架提供了“最低公分母”类型的环境,因此您常常无法访问本机平台的功能

    另一方面,如果您只为iOS开发应用程序,那么请务必在Objective-C中将其作为本机应用程序进行开发。这样您就可以使用该平台的完整SDK和功能了!当然,这是苹果推荐的开发iOS应用程序的最佳实践

    根据我自己的经验,在我加入公司之前,我与我的首席技术官进行了一次对话,讨论了我们是应该为我们的平台开发本机应用程序还是使用PhoneGap。我们一致认为开发本机应用程序是一条路,因为我们可以利用每个平台的特定功能。除此之外,本机应用程序将提供更好的用户体验在平台上体验,因为它的行为更像用户可能熟悉的其他本机应用程序。想想最后一个想法。想想你喜欢的所有应用程序。作为开发人员,你可能会通过使用它们来快速判断哪些是本机应用程序,哪些不是本机应用程序。你认为哪种应用程序可以提供更好的用户体验要考虑的事情。:-)


    最后,这取决于你。你说你喜欢Objective-C编程。所以,去吧,去本土!另一方面,如果你有多平台的愿望,并且你熟悉PhoneGap(或其他),或者想了解它们,那么就去做吧!:-)

    phonegap的一个问题是,为了实现跨手机兼容性,需要大量数据存储。如果您需要应用程序存储至少10 mb的数据(媒体文件、文档等),您将受到2-5mb或本地存储或缓存清单的限制。请看我的相关问题:


    这似乎是一个更适合的讨论(我的投票结果只是支持移民),但这是错误的。我的iOS Phonegap应用程序使用了数百兆字节。这真的很酷。你能在博客上写下它或者解释一下你是如何做到的吗?如果你能帮我解决一个问题的话,你可能会把你可以在你的应用程序中发布的数据存储与混合/web应用程序可以存储的数据混淆了。对于应用程序下载或创建的数据,该限制实际上是最大2.5Mb。