Objective-C与PhoneGap

时间:2011-08-11 13:33:45

标签: ios cordova

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

但您可以使用jQTouchjQMobilePhoneGap等来完成大部分工作。

问题:

什么时候适合或适合使用原生平台?

6 个答案:

答案 0 :(得分:20)

  1. PhoneGap本质上是一个包装器,因此它总是会落后于最新的功能,除了在某些边缘情况下可能存在错误。
  2. 并非所有平台功能都可以在PhoneGap中使用,因此在决定使用之前,您需要知道不支持的功能。
  3. 大多数硬件加速功能永远不会完全可用,所以如果你想制作一个高端图形的高级游戏,它就不会运行良好。
  4. 进行开箱即用的自定义模块所需的维护实际上可能比开发原生模块花费更多时间。
  5. 你真的需要运行2个以上的移动操作系统吗?为iOS和Android编写将为您提供相当大的市场覆盖率,因此您可能最好不要原生。
  6. PhoneGap专为更简单的网络应用,数据驱动应用和需要连接工作的社交应用而设计。如果您的应用程序变得流行并且您需要支持更多功能,您可能最终会以原生语言重写应用程序,但如果您可以在多个设备上快速启动创意,那么您在市场上具有竞争优势。

答案 1 :(得分:4)

如果您需要为多个移动平台开发应用程序,请尽快(即实施一次)快速使用PhoneGap或类似设备。这些框架提供了“最低公分母”类型的环境,因此您通常无法访问本机平台的功能。

另一方面,如果您正在为iOS开发应用程序,那么无论如何,请在Objective-C中将其作为本机应用程序进行开发。然后,您可以使用该平台的完整SDK和功能!当然,这是Apple推荐开发iOS应用程序的最佳做法!

根据我自己的经验,在我加入公司之前,我与我的CTO进行了对话,讨论我们是否应该为我们的平台开发本机应用程序或使用PhoneGap。我们同意开发本机应用程序是可行的方法,因为我们可以利用每个平台的特定功能。除此之外,本机应用程序将在平台上提供更好的用户体验,因为它的行为更像用户可能熟悉的其他本机应用程序。想想最后的想法。想想您喜欢的所有应用。作为开发人员,您可以通过使用它们来快速地告诉 - 并且很快 - 哪些是本机的,哪些不是。您认为哪种方式可以提供更好的用户体验?需要考虑的事情。 : - )

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

答案 2 :(得分:3)

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

答案 3 :(得分:1)

用于跨移动兼容性的大数据存储将成为phonegap的问题。如果您需要应用程序存储至少10 MB的数据(媒体文件,文档等...),您将受到2-5mb或localStorage或缓存清单的限制。请在此处查看我的相关问题:

html5 to store greater than 50 mb worth of data?

答案 4 :(得分:0)

我尝试过phonegap,第一件令我烦恼的事情就是你无法控制键盘,就像你习惯于在obj-c中一样。键盘与浏览网站时完全相同,键盘顶部有一个额外的窗格,带有“下一个/上一个”按钮。 因此,我现在正在尝试使用Titanium Appcelerator,您可以使用javascript创建本机GUI。

答案 5 :(得分:0)

我认为如果你能够学习或使用Objective-C,那么这几乎总是最好的。使用native-SDK可以以最兼容的方式访问设备上的所有内容。使用抽象层只会伤害功能,可定制性和调试。

也就是说,似乎有一些强大且编写良好的框架可以将HTML,CSS和JS编译成本机应用程序。如果您没有非常紧张的时间表,或者如果您需要快速获取原型,那么这可能是合适的,并且您是一个JavaScript忍者,但是一个新手Objective-C编码器。