本机应用程序是使用设备编写本机语言的应用程序,例如iOS的Objective C.
移动Web应用程序是使用像Sencha Touch这样的框架使用Web技术(HTML,CSS,JavaScript)创建的应用程序.
混合应用程序位于这两者的中间.例如,使用PhoneGap的Sencha Touch应用程序将被视为混合应用程序.我们正在使用Web技术,但PhoneGap使我们能够访问我们无法访问的本机API - 因此它是本机和Web的混合体.
原生应用
Pro:a)原生应用程序具有最佳性能,并使用最后可用的硬件资源来提高性能.
b)应用程序将在离线模式下工作.
c)应用程序通过平台App Store分发,为潜在用户提供更好的可视性.
d)您的应用程序可以访问该平台上的最新API版本.
e)应用程序使用平台支持的语言构建,因此可以访问IDE,这些IDE提供了快速开发,调试项目的最佳工具.iOS应用程序可以在XCode上的目标C中构建,它具有调试,设计界面和使用Instruments等检查性能的所有工具
.f)Linkedin是从HTML5转移到Native的一个示例.
g)还有Facebook,它掉头了.
缺点:a)您需要巨额预算来支持所有具有相当大市场的平台.您需要维护多个团队,每个平台需要支持一个团队.所以基本上每个团队都会在他们的平台上复制相同的功能.
b)用户需要下载应用程序更新,因此如果设计不当,您最终会在Web服务器上维护多个版本的应用程序.
c)开发人员提升的可能性是另一个问题.当客户C在iPhone发布后突然复活时,没有足够好的开发人员准备就绪.可能是开发人员可以接受培训,但对于中小型公司来说是不可行的,即使是在培训可行的大公司中,受过培训的开发人员也不会达到他们在技术方面的专业水平.他们正在努力.
HTML 5移动网络应用: -
Pro:a)HTML5移动应用程序类似于普通的Web应用程序,除了它们被设计为在较小的屏幕上工作.
b)这些应用程序的分发非常简单.您只需在Web服务器上部署Web应用程序,用户就可以从浏览器访问它.
c)有一些非常好的移动UI框架,如JQuery Mobile,Sencha Touch,当然还有我最喜欢的mgwt,它为移动设备提供了几个小部件.
d)这些应用程序可能可以覆盖所有平台,因为它们在浏览器上运行,所有现代智能手机都有浏览器.
e)这些应用程序的开发和测试更容易,因为它们与您拥有工具支持的普通Web应用程序类似.
缺点:f)这些应用程序无权访问本机功能.
g)性能与本机应用程序不匹配.
h)这些应用程序无法在离线状态下运行.实际上在离线模式下工作,但这与本机应用程序提供的不匹配.
混合应用程序: -
专业版:a)混合应用程序的开发速度更快,因为大部分开发工作都是跨平台的Web技术,只有在需要访问本机层时才会执行非常少量的本机编码.因此,只需要为其他平台重新实现一小部分代码.这样可以节省开发时间和成本,您可以集中精力开发新功能,而不是在每个平台上复制相同的功能.
b)你接近'一次编写,随处运行',这种策略使Java成为一种主导力量.
c)与本机应用程序相比,构建混合应用程序的工具还不够成熟.情况正在迅速变化,很快就会有一些很好的工具可以支持跨平台混合应用程序的开发.
d)这些应用程序可以部署在特定于平台的应用商店中.
e)混合应用程序提供本机应用程序和HTML5 Web应用程序的优缺点.
f)他们可以访问本机层.
g)这些应用程序可以在离线模式下工作.
h)Netflix是一个很酷的例子,它针对所有设备运行相同的代码库.
i)Gartner预测到2016年,超过50%的应用程序将是混合应用程序.
缺点:a)混合应用程序,即使本机打包也不是本机应用程序.它们在平台Web引擎上执行,在Android和iOS的情况下是Webkit,这是用户和应用程序之间的另一层,因此性能无法与本机应用程序匹配.
b)由于混合应用程序通常使用标准Web技术构建,因此将有大量开发人员可用于提升.本机应用程序不是这种情况.
如果您正在构建生产力应用程序,实用程序应用程序或企业应用程序,那么混合应用程
如果您正在构建游戏或照片,视频相关的应用程序,然后原生应用程序是要走的路.
如果您正在构建需要实时工作的应用程序,这些应用程序不需要访问本机层并且不会降低性能,那么html5移动Web应用程序就是您的选择.
因此,需要根据您正在构建的应用程序类型,可以提供的开发成本和时间来完成决策.
| 归档时间: |
|
| 查看次数: |
1608 次 |
| 最近记录: |