Apple iTunes Store 和 Google Play 上都有超过一百万个应用程序。 Windows Phone Store 虽然远远落后于 Android 和 Apple,但拥有超过 300,000 个应用程序。构建供内部使用的应用程序的企业、试图通过面向消费者的应用程序大赚一笔的精明企业,以及对创新应用程序有创意的企业家,都在推动 移动应用程序开发 的需求。
虽然一些应用程序只为一个平台构建,但大多数企业至少需要为三大操作系统构建应用程序: iOS 、 Android 或 Windows 。
这种需求总是引发关于是构建本机应用程序、混合应用程序还是 HTML5(网络)应用程序的争论。在深入探讨不同平台的优缺点之前,让我们快速了解一下这些术语的含义:
-
本机应用程序: 使用 Objective-C(适用于 iOS)、Java(适用于 Android)或 .NET(适用于 Windows)针对特定平台构建的移动应用程序。该代码是为特定平台编写的,不适用于其他平台。
-
混合应用程序: 使用 HTML5、CSS3 和 JavaScript 构建的应用程序,放入本机包装器中,使其能够访问设备的硬件。使用 Xamarin、PhoneGap 和 Appcelerator Titanium 等工具构建。
-
HTML5/Web 应用程序: 也使用 HTML5、CSS3 和 JavaScript 构建。类似于移动网站,在移动浏览器中打开。用户需要互联网才能访问应用程序,并且此类应用程序不能在应用程序商店中出售。此外,应用程序无法访问手机中的板载硬件和软件。
这些方法如何比较?看一看:
如何选择正确的移动开发方法
归根结底,每个企业都希望在不影响质量的情况下降低成本。要选择正确的方法,我们需要了解每种方法的权衡:
- 本机应用程序 可以提供最佳性能,但您需要为不同的平台构建单独的应用程序,而且它们的构建成本也很高。
- 混合应用程序的 构建成本较低,单一代码库可跨平台运行,但对本机 API 的访问可能会受到限制。
- Web 移动应用程序 更容易构建,但它们无法在应用程序商店中分发,也无法访问本机 API 和设备功能。
关键是要清楚地概述您对正在构建的应用程序的组织期望。应用程序的用途、预算、目标受众和技术人才的可用性将影响您的决定。
当您……时选择原生移动应用程序开发
- 只针对一个平台
- 或者有足够的预算在三个不同的平台上构建和维护应用程序
- 接触到合适的技术人才
- 感觉Fast GUI必不可少
- 需要应用程序商店存在——网络应用程序将无法工作
- 需要访问所有本机 API 和设备功能
当您……时选择混合移动应用程序
- 需要一个跨平台的解决方案
- 不能在开发上花太多钱
- 想要达到最大用户数
- 不关心应用商店分发
- 想要利用您的网络开发人员的专业知识
- 可以在没有本机 API 和设备功能的情况下生存
- 想要简化应用程序维护和支持
当您……时选择移动网络应用程序
- 想要以可承受的成本获得高性能的跨平台解决方案
- 想要一个单一的代码库来简化应用程序维护和支持
- 不需要通过应用商店分发应用
- 想要利用您的特定技术专长并以您选择的语言构建应用程序
- 不需要访问原生 API,也不需要离线功能
两全其美:具有原生质量的混合应用程序
Gartner 预测 ,到 2016 年,超过 50% 的开发应用程序将是混合应用程序。有了合适的开发团队,混合应用程序可以为您带来两全其美的优势:单一代码库和低开发成本,以及行为与本机应用程序一样的高性能应用程序。
Xamarin、RhoMobile、Appcelerator Titanium、PhoneGap、Telerik AppBuilder、Appmethod、AppGyver、RAD Studio……不胜枚举。除了这些,还有许多其他鲜为人知的工具承诺跨平台应用程序开发。
在 Cygnet,两年前我们的大部分项目都是针对原生应用程序开发的。但在过去的一年里,我们看到通过混合开发方法要求跨平台应用程序的客户数量稳步上升。
借助 Xamarin 、 Appcelerator Titanium 、 PhoneGap 等 高质量平台,经验丰富的开发人员可以构建提供本机性能和 UI 的混合应用程序,并可以完全访问本机 API 和设备功能。