【发布时间】:2011-08-11 13:33:44
【问题描述】:
有多种开发 iOS 应用程序的方法。我喜欢用 Objective-C 编程来制作我的 iOS 应用程序。
但是您可以使用jQTouch、jQMobile、PhoneGap 等来完成大部分操作。
问题:
什么时候适合使用原生平台?
【问题讨论】:
-
这似乎是更适合programmers.stackexchange.com 的讨论(我的近距离投票只是为了迁移)
有多种开发 iOS 应用程序的方法。我喜欢用 Objective-C 编程来制作我的 iOS 应用程序。
但是您可以使用jQTouch、jQMobile、PhoneGap 等来完成大部分操作。
问题:
什么时候适合使用原生平台?
【问题讨论】:
PhoneGap 专为更简单的网络应用、数据驱动的应用和需要连接才能工作的社交应用而设计。如果您的应用程序变得流行并且您需要支持更多功能,您最终可能会用本地语言重写应用程序,但如果您可以在多种设备上快速启动一个想法,那么您在市场上就具有竞争优势。
【讨论】:
如果您需要以最少的工作量(即实施一次)快速地为多个移动平台开发应用程序,请使用 PhoneGap 或类似工具。这些框架提供了“最小公分母”类型的环境,因此您经常无法访问本机平台的功能。
另一方面,如果您只为 iOS 开发应用程序,那么请务必在 Objective-C 中将其开发为原生应用程序。然后,您可以随意使用该平台的完整 SDK 和功能!当然,这是 Apple 推荐的开发 iOS 应用的最佳实践!
根据我自己的经验,在我加入公司之前,我曾与我的 CTO 进行过一次谈话,讨论我们是否应该为我们的平台开发原生应用程序或使用 PhoneGap。我们同意开发原生应用程序是可行的方法,因为我们可以利用每个平台的特定功能。除此之外,原生应用程序将在平台上提供更好的用户体验,因为它的行为更像用户可能熟悉的其他原生应用程序。想想最后一个想法。想想您喜欢的所有应用程序。作为开发人员,您可能只需使用它们就可以快速分辨出哪些是本机的,哪些不是。您认为哪个提供更好的用户体验?需要考虑的事情。 :-)
最后,这取决于你。你说你喜欢 Objective-C 编程。所以,去吧,去本土!另一方面,如果您有跨平台的愿望,并且您熟悉PhoneGap(或其他)或想了解它们,那就去吧! :-)
【讨论】:
根据我的经验,所有 JavaScript 应用程序都比在本机平台上编写的应用程序慢。不是因为手机或 JavaScript,而是因为 DOM 元素的渲染。
【讨论】:
用于跨移动兼容性的大数据存储将成为 phonegap 的问题。如果您需要应用程序存储至少 10 mb 的数据(媒体文件、文档等),您将受到 2-5mb 或 localStorage 或缓存清单的限制。在此处查看我的相关问题:
【讨论】:
我试过phonegap,第一件让我恼火的事情是你不能像在obj-c中那样控制键盘。键盘与浏览网站时的键盘完全相同,它在键盘顶部有一个额外的窗格,带有“下一个/上一个”按钮。 因此,我现在正在尝试 Titanium Appcelerator,您可以在其中使用 javascript 创建本机 GUI。
【讨论】:
我认为,如果在您学习或使用 Objective-C 的能力范围内,那么这样做几乎总是最好的。使用本机 SDK,您可以以最兼容的方式访问设备上的所有内容。使用抽象层只会损害功能、可定制性和调试。
也就是说,似乎有一些功能强大且编写良好的框架可以将 HTML、CSS 和 JS 编译为原生应用程序。如果您的日程安排不是很紧,或者您需要快速制作原型,并且您是 JavaScript 忍者,但还是一名 Objective-C 编码新手,这可能是合适的。
【讨论】: