移动应用和web应用的关系_本机,移动Web与混合应用程序

移动应用和web应用的关系

我们已经决定开发移动应用程序,但是什么类型的应用程序呢?

开发本机应用程序,移动网络应用程序或混合应用程序的合法利弊一直在进行着争论。

这些类型的应用之间有什么区别?

本机应用是使用相应平台支持的开发工具和语言(iOS应用的XCode和Objective C,Android的Eclipse,Android Studio和Java,Windows的Visual Studio和C#)构建的,因此只能在其目标平台上运行。

HTML5应用程序是跨平台的移动应用程序,可在多种设备上运行,因为它们大多在浏览器上运行。 开发人员可以使用标准的Web技术HTML5,Javascript和CSS编写复杂的应用程序。

混合应用程序是使用HTML5,javascript和CSS开发的应用程序,但可在设备上的Webview容器中运行,因此这些应用程序是本地打包的,因此也可以访问操作系统的本机API。

像在所有语言战争中一样,所有问题都没有一个答案。

这取决于您的应用程序所提供的功能,用户的期望以及您的核心开发优势是什么。

本机应用

优点:
  • 本机应用程序具有最佳性能,并使用最后可用的硬件资源来提高性能。
  • 应用程序将在离线模式下工作。
  • 通过平台App Store分发应用程序,从而为潜在用户提供更好的可见性。
  • 您的应用程序可以访问该平台上发布的最新API。
  • 这些应用程序以平台支持的语言构建,因此可以访问IDE,这些IDE提供了最佳的工具来快速开发和调试项目。 可以在XCode的目标C中构建iOS应用,该工具具有调试,设计界面以及使用Instruments等检查性能的所有工具。
  • Linkedin是从HTML5转换为Native的一个示例。
  • 还有Facebook,它掉头了。
缺点
  • 您需要庞大的预算来支持所有具有可观市场的平台。 您将需要维护多个团队,每个要支持的平台一个团队。 因此,基本上每个团队都将在其平台上复制相同的功能。
  • 用户需要下载应用程序更新,因此,如果设计不正确,最终将在Web服务器上维护多个版本的应用程序。
  • 开发人员是否有能力增加是另一个问题。 当iPhone发布后目标C突然恢复时,没有足够的优秀开发人员准备就绪。 也许可以对开发人员进行培训,但是对于中小型公司而言,甚至在可行的大型公司中,这都是不可行的,受过培训的开发人员的技术水平不会达到与技术人员相同的水平。他们正在努力。

HTML 5移动网络应用

专业版
  • HTML5移动应用程序与普通的Web应用程序类似,不同之处在于它们被设计为在较小的屏幕上运行。
  • 这些应用程序的分发非常容易。 您只需将Web应用程序部署在Web服务器上,用户就可以从其浏览器访问它。
  • 有一些非常好的移动UI框架,例如JQuery Mobile,Sencha Touch,当然还有我最喜欢的mgwt,它提供了一些用于移动的小部件。
  • 这些应用程序可能运行在浏览器上,并且所有现代智能手机都具有浏览器,因此可能会覆盖所有平台。
  • 这些应用程序的开发和测试更加容易,因为它们类似于具有工具支持的普通Web应用程序。
缺点
  • 这些应用无法访问本机功能。
  • 性能与本机应用不匹配。
  • 这些应用无法离线使用。 实际上可以在脱机模式下工作,但是与本机应用程序提供的功能不匹配。

混合应用

优点:
  • 混合应用程序的开发速度更快,因为大多数开发工作都是通过跨平台的Web技术完成的,并且仅在需要访问本机层时才进行少量本机编码。 因此,只需要为其他平台重新实现一小部分代码即可,从而节省了开发时间和成本,您可以专注于开发新功能,而不必在每个平台上复制相同的功能。
  • 您将接近“一次编写,随处运行”的策略,该策略使Java成为了主导力量。
  • 与本地应用程序相比,用于构建混合应用程序的工具还不够成熟。 这种情况正在Swift变化,很快就会有一些好的工具支持跨平台混合应用程序的开发。
  • 这些应用程序可以部署在特定于平台的应用程序商店中。
  • 混合应用程序同时提供本机应用程序和HTML5 Web应用程序的优缺点。
  • 他们可以访问本机层。
  • 这些应用可以在离线模式下工作。
  • Netflix是一个很酷的示例,它针对所有设备运行相同的代码库。
  • Gartner预测,到2016年,部署的应用程序中有50%以上将是混合应用程序。

http://www.gartner.com/newsroom/id/2324917

缺点:
  • 即使是本地打包的混合应用程序也不是本地应用程序。 它们在平台Web引擎(在Android和iOS上为Webkit)上执行,这是用户和应用程序之间的另一层,因此性能无法与本机应用程序匹配。
  • 由于混合应用程序通常是使用标准的网络技术构建的,因此会有大量的开发人员可以进行扩展。 本机应用程序不是这种情况。

如果要构建生产力应用程序,实用程序应用程序或企业应用程序,则混合应用程序适合您。

如果您要构建游戏或照片,视频相关的应用程序,那么本机应用程序是您的最佳选择。

如果您要构建需要实时运行的应用程序,不需要访问本机层并且不影响性能,那么html5移动Web应用程序是您的不二之选。

因此,需要根据要构建的应用程序类型,可以提供的开发成本和时间来做出决定。

参考:来自我们的JCG合作伙伴 Venkata Kiran的Native vs Mobile Web vs Hybrid应用程序 ,位于Coding方形博客上。

翻译自: https://www.javacodegeeks.com/2013/12/native-vs-mobile-web-vs-hybrid-applications.html

移动应用和web应用的关系

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值