有关:
您也可以在这里找到本文的较大版本,要透明起见,这是我的个人博客。
混合与本地应用
混合应用:
优点:
- 加快开发速度,特别是如果您是一位长期的Web开发人员。
- 每个可用平台上都可以使用一种语言。当然,这需要一个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应用商店的许可。如果Google Play商店发现了第3方Phonegap PayPal插件,甚至会禁止您的应用。
本机应用程序:
优点:
- 本机移动应用程序可以快速流畅地产生最佳的用户体验,可以让您最好地访问设备功能,并且可以在应用程序商店中找到。
- 毫无疑问,本机应用程序具有对底层移动平台的完全访问权限。本机应用程序通常非常快且完善,因此非常适合高性能应用程序或游戏。这就足够了。
缺点:
- 预算更大,如果您需要Windows移动应用程序,则至少需要一个具有Java和Objective C知识的人员,甚至C#。是的,您可以自己学习它,但不要生活在幻想中,您会在短时间内这样做。如果您从未进行过任何开发,请选择Objective C(iOS仍然是一个更好的平台)。在其他情况下,请选择Java。Java具有与其他可用语言类似的语法,因此很容易从C#跳转到Java,反之亦然。目标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移动框架-名称说明一切