我即将致力于开发平板电脑 (Android/iPad) 上的应用程序。 我们的客户要求我们使其跨平台,除非有任何理由坚持使用一个平台。 我在这里查看了一些与跨平台 iOS/Android 开发相关的帖子,但我仍然不确定是否应该在特定平台上开发 native 应用程序,还是应该尝试使其跨平台。 我是在移动设备上开发应用程序的新手。 如果您可以提供任何建议/经验,那就太好了!
据我所知,出于技术原因,权衡如下:
- 原生应用程序速度更快,但在其他平台上重用代码并不容易。
- 使用基于网络的应用程序(例如 PhoneGap)的跨平台解决方案性能较慢,对操作系统和硬件 API 的访问有限,用户界面类似于网络。
- 像Appcelerator Titanium这样的跨平台解决方案将代码编译为原生代码,但我不确定它的局限性(如果我在开发三个月后必须将其更改回原生应用程序,我会哭!)需要花钱。
此外,对于在平板电脑上开发 native 应用程序或跨平台应用程序所需的时间/精力来说,一般来说,开发/维护 native 应用程序比跨平台解决方案更容易、更可靠吗?
有什么建议吗?
提前致谢! :)
最佳答案
就我个人而言,我会坚持使用 native 应用程序。我在一家公司工作,该公司也希望为多个平台创建应用程序,他们一直在寻找 native 开发的替代方案,例如 Titanium 和 PhoneGap。我们选择以下方法:
- 我受聘开发 iPhone 应用。
- 大学的一些学生可能会使用 Android 版本,其中数据框架/层的外观和工作方式与我的 Objective-C 代码有些相同,例如:
-getFlightInfoWithId:forUserId:
将变成类似于 Java 中的 (void)getFlightInfo(flightId, userId)
。
View 层和 Controller 层可能会有很大差异,主要是因为 Android 和 iOS 设备具有不同的 GUI 指南和功能(例如,Android 屏幕尺寸可能相差很大,而 iOS 上只有 2 个实际选项)。
对于其他较小的平台,我们将提供 HTML5 应用程序。对我来说, native 应用程序总是比使用跨平台工具集创建的应用程序更可取,因为 native 应用程序通常应该表现更好,应该有更好的“感觉”,并且可能具有更多功能,例如或许能够使用平台 native 的一些硬件功能,但在跨平台工具集中不可用。
关于iphone - Android 和 iOS (iPhone/iPad) 上的 native 应用程序与跨平台解决方案之间的权衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6076345/