Related:
这篇文章的较大版本也可以找到100,为了透明,这是我的个人博客.
Hybrid vs Native apps
混合应用程序:
Pro:个个
- 开发速度更快,特别是如果您是一名资深的Web开发人员.
- 每种可用的平台都可以使用1种语言.当然,这需要一个Phonegap包装器.您不需要学习Objective C、Java或C#来进行任何开发.您只需要了解Phonegap实现的基础知识.您需要稍微使用一下上述语言,但不需要理解它们.
- PhoneGap可以提供一些原生功能,比如iOS原生选项卡栏或Android原生选项卡栏等等.
- 更低的预算成本和庞大的支持者和开发人员社区.
- 混合应用程序提供了这两种方法的许多优点,可以访问最常见的设备API和广泛的设备覆盖范围,同时不需要专业技能、更大的预算和更长的上市时间,这些都是完全本机应用程序的典型特征.
Cons:
- 你会在一段时间后尿血,无论是字面上还是比喻意义上的.
- 手机(即使是今天的平板电脑)速度不足以流畅地运行混合应用程序,移动JavaScript功能充其量也就是床上的功能.Android平台是一场噩梦,页面转换并不顺利,更不用说缺少CSS/CSS3实现了.如果你认为原生的android2.x和4.x有区别,看看android2.x糟糕的JavaScript/CSS实现.iOS运行得更好,但仍然缺少CSS3实现,因此页面转换效果要好得多.长话短说,本地应用程序总是会有更好的用户体验和一般感觉.
- 你将花费更多的时间来修复应用程序,然后再构建它.为每一个平台创建一个应用程序是一件令人头疼的事.不同平台上的浏览器并不统一支持所有最新的HTML功能和API,这可能会使开发和测试成为一项挑战.
- 如果你没有一个好的设计师,甚至不要try 构建一个应用程序;外表就是一切.
- 如果你不知道自己在做什么,你的应用很可能无法获得Apple app store的许可.如果谷歌Playstore 发现第三方Phonegap PayPal插件,他们也会禁止你的apply.
本机应用程序:
Pro:个个
- 原生移动应用可以产生最佳的用户体验-快速流畅,可以为您提供对设备功能的最佳访问,并且可以在应用store 中找到.
- 毫无疑问,本地应用程序可以完全访问底层移动平台.原生应用程序通常非常快速和精致,这使得它们非常适合高性能的应用程序或游戏.这已经足够了.
Cons:
- 更大的预算,你至少需要一个具备Java和Objective C知识的人,即使是C#,如果你想要一个Windows移动应用程序的话.是的,你可以自己学,但是不要幻想你在短时间内就能学会.If you have never done any development, choose Objective C (iOS is still a better platform).在其他情况下 Select Java.Java的语法与其他可用语言相似,因此很容易从C#跳到Java,反之亦然.目标C是它自己的世界.它有一个相当不寻常的语法.
- 你可能需要更长的时间才能把它们全部开发出来,而时间就是金钱.这取决于应用程序的复杂性.
在你的情况下,如果你有很好的网页开发/设计技能和/或很好的设计师,你应该 Select 混合apply.只有当这个应用程序很复杂时,才使用本机.你想要的一切都可以通过混合应用程序完成.你会发现一个伟大的支持社区.
Hybrid apps
我之前没有提到的,你在这里需要特别小心.即使你是经验丰富的开发者,你也会发现很多你无法解决的问题.混合开发不应该被误认为是基本的web开发.
每个移动平台都有自己的一系列问题,更不用说手机在不同设备上的表现也不同.如果可能,请始终创建一个在较慢的设备上运行的应用程序,因为本机应用程序几乎可以在任何设备上成功运行.
还有最后一件事,在创建混合应用时,应用开发将花费你大约30%-50%的时间,睡觉会go 特定的平台进行调试和学习.相信我,即使经过几年的移动开发,有时我也会面临一些问题,我不能单独解决,也不能足够快地解决.
所以,在 Select 移动框架时要小心, Select 2-3,花几天时间阅读它们.
Links
这里有几个链接可以帮助您做出决定:
100-这是针对PhoneGap和jQuery Mobile的最新版本的分步教程
100-这是MacOS上PhoneGap部署的分步教程.前一篇文章介绍了jQuery移动部件,没有必要重复这些内容.
100-jQuery Mobile Sencha Touch比较
100-jQuery Mobile Kendo UI比较
100-名字说明一切
7 less known HTML5 mobile frameworks个名字说明了一切