有关的:
这篇文章的更大版本也可以在这里找到,为了透明,这是我的个人博客。
混合与原生应用
混合应用:
临:
- 更快的开发,特别是如果您是一名长期的 Web 开发人员。
- 每个可用平台都可以使用 1 种语言。当然,这需要一个 Phonegap 包装器。您无需学习 Objective C、Java 或 C# 即可进行任何开发。您只需要了解 Phonegap 实现的基础知识。您将需要稍微使用上述语言,但您不需要理解它们。
- Phonegap 可以提供一些原生功能,如 iOS 原生标签栏或 Android 原生标签栏等等。
- 更低的预算成本和庞大的支持者和开发者社区。
- 混合应用程序提供了这两种方法的许多优点,可以访问最常见的设备 API,并且覆盖广泛的设备,同时不需要完全原生应用程序更典型的专业技能、更大的预算和更长的上市时间。
缺点:
- 一段时间后,您会在字面上和隐喻上流血。
- 手机(即使是今天的平板电脑)还不够快,无法流畅地运行混合应用程序,移动 JavaScript 功能充其量只是床。Android 平台是一场噩梦,页面转换不流畅,更不用说缺乏 CSS/CSS3 实现了。如果您认为原生 Android 2.X 和 4.X 有差异,请查看 Android 2.X 糟糕的 JavaScript/CSS 实现。iOS 表现更好,但仍然缺少 CSS3 实现,但页面转换要好得多。为了让这个简短的原生应用程序总是有更好的用户体验和总体感觉。
- 您将花费更多时间修复应用程序然后构建它。为每个平台创建一个应用程序是一件令人头疼的事情。不同平台上的浏览器并不统一支持所有最新的 HTML 功能和 API,这会给开发和测试带来挑战。
- 如果你没有优秀的设计师,甚至不要尝试构建应用程序;长相就是一切。
- 如果您不知道自己在做什么,那么您的应用很可能不会获得 Apple 应用商店的许可。如果他们发现第 3 方 Phonegap PayPal 插件,即使 Google Play 商店也会禁止您的应用。
原生应用:
临:
- 原生移动应用程序可以产生最佳的用户体验——快速流畅,可以让您最好地访问设备功能,并且可以在应用程序商店中找到。
- 毫无疑问,原生应用程序可以完全访问底层移动平台。原生应用程序通常非常快速和完善,非常适合高性能应用程序或游戏。这已经足够了。
缺点:
- 更大的预算,如果你想要一个 Windows 移动应用程序,你至少需要一个具有 Java 和 Objective C 知识的人,甚至 C#。是的,您可以自己学习,但不要幻想自己会在短时间内完成。如果您从未做过任何开发,请选择 Objective C(iOS 仍然是一个更好的平台)。在其他情况下,请选择 Java。Java 的语法与其他可用语言相似,因此很容易从 C# 跳转到 Java,反之亦然。Objective C 是它自己的世界。它有一个相当不常见的语法。
- 开发所有这些可能需要更长的时间,而且时间就是金钱。这取决于应用程序的复杂性。
就您而言,如果您具有良好的 Web 开发/设计技能和/或有优秀的设计师,您应该选择混合应用程序。只有当这个应用程序将是一个复杂的应用程序时才使用本机。您想要的一切都可以通过混合应用程序完成。你会发现一个很棒的支持社区。
混合应用
我之前没有提到的你需要在这里特别小心。即使您是经验丰富的开发人员,您也会发现很多您无法解决的问题。混合开发不应被误认为是基本的 Web 开发。
每个移动平台都有自己的一系列问题,更不用说手机的行为因设备而异。如果可能,请始终创建一个可以在较慢的设备上运行的应用程序,因为本机应用程序几乎可以在任何设备上成功运行。
最后一件事,在创建混合应用程序时,应用程序开发将花费您大约 30%-50% 的时间,其余时间用于特定平台的调试和学习。相信我,即使经过几年的移动开发,有时我也会面临无法单独或足够快地解决的问题。
所以在选择移动框架时要小心,选择 2-3 并花几天时间阅读它们。
链接
这里有几个链接可以帮助您做出决定:
PhoneGap + jQuery Mobile 1.4 教程- 这是 PhoneGap 和 jQuery Mobile 最新版本的分步教程
PhoneGap + jQuery Mobile 1.4 教程 - MacOS 版本- 这是在 MacOS 上部署 PhoneGap 的分步教程。jQuery Mobile 部分已在前一篇文章中介绍过,不再赘述。
jQuery Mobile vs Sencha Touch - jQuery Mobile Sencha Touch 比较
jQuery Mobile vs Kendo UI - jQuery Mobile Kendo UI 比较
7 个最著名的 HTML5 移动框架- 名称说明一切
7 个鲜为人知的 HTML5 移动框架- 名称说明一切