iphone - Android 和 iOS (iPhone/iPad) 上的 native 应用程序与跨平台解决方案之间的权衡

标签 iphone android ios ipad cross-platform

我即将致力于开发平板电脑 (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/

相关文章:

Android DrawerLayout - 没有发现重力的抽屉 View

java - Realm 对象不是此 Realm 架构的一部分

ios - 是否可以将 IPA 从 Enterprise 转换为 Ad Hoc?

android - 以编程方式更改 R.String 的值

ios - ARKit - 在相机上居中 SCNode

iOS 9 - 在另一台计算机上的网络浏览器中打开资源,由平板电脑触发

iphone - 应用程序加载器卡在 "testing tcp udp connectivity"

iphone - 在 iOS 下,有没有办法确定崩溃报告中正在执行的架构?

ios - 将约束迁移到另一个尺寸类 - Xcode

iPhone 在 App Store 上进行临时分发