渐进式网络应用程序和混合移动应用程序之间的区别

时间:2016-11-26 16:41:58

标签: mobile hybrid-mobile-app progressive-web-apps

有人可以告诉我混合移动应用程序和渐进式网络应用程序之间的区别及其优势吗?

7 个答案:

答案 0 :(得分:21)

混合移动应用程序通常是指使用通过本机应用商店分发的Web和本机技术的组合构建的应用程序。这些应用程序通过Apple,Google,Microsoft等应用程序商店审核流程。

渐进式Web应用程序是使用在浏览器中运行的Web技术构建的应用程序,可以添加到主屏幕。它们不需要通过本机应用商店分发,但可以包含在其中。截至2018年,Microsoft在其Microsoft Store中包含了PWA,Trusted Web Activities可以更轻松地将PWA提交到Google Play商店。

某些混合移动应用平台包括PhoneGap(又名Cordova),Appcelerator TitaniumIonic。您不需要一个平台来创建混合应用程序,但它们很有用,因为它们已经开始在本机API和JavaScript API之间建立桥梁。

渐进式网络应用程序只需在浏览器中运行即可使用基本的HTML,CSS和JavaScript构建。

答案 1 :(得分:18)

渐进式网络应用

Google开发的这项相对较新的技术使移动设备能够将网站或网络应用程序添加到智能手机的主屏幕,并能够离线与其进行交互。

<强> 赞成

  • 允许推送通知
  • 应用可以在离线模式下工作
  • 基础网站通常会在搜索引擎上获得更好的排名

<强> 缺点

  • 这项技术只是一个浏览器包装器 - 不是一个功能齐全的应用程序,所以从技术上来说它仍然是一个网站
  • 用户无法获得原生应用体验(即互动,动画,效果),因为用户界面只是一个全屏浏览器窗口,没有可以脱机工作的网址栏。
  • 兼容性差(仍然无法用于iPhone和iPad)

混合移动应用

这可以是两个选项:

作为Apache Cordova,Ionic和PhoneGap的框架

<强> 赞成

  • 高开发速度
  • 编写Web开发技术(HTML,CSS,Javascript),产生交叉兼容的iOS,Android和Web软件(只需一个Web开发人员)
  • 框架可用于模拟本机应用程序UI元素(即按钮,菜单等)
  • UX非常接近使用模仿原生应用行为的UI元素的本机体验
  • 访问智能手机的硬件API,促进设备功能(例如相机,推送通知,地理位置等)

<强> 缺点

  • 用户体验不如原生应用程序(300毫秒点击延迟,滚动时虚拟点击等)。
  • 应用程序越复杂,由于使用了各种包装器和库,它的工作速度就越慢
  • 没有离线工作
  • 动画很难在UI中实现

或React Native。

<强> 赞成

  • 基于React的应用程序的高开发速度
  • 使用React.js构建的Web应用程序可以轻松转换为React Native移动应用程序,并且可以重用某些源代码
  • 原生用户体验
  • 应用程序的外观和感觉与特定平台的原生移动应用程序完全相同
  • 降低开发成本
  • React Native的专家通常可以构建Android和iOS应用程序

<强> 缺点

  • 相对较新的技术(有限的开源解决方案)
  • 视觉设计方面的限制
  • 不适合手机游戏或需要高负荷(重要计算)的应用等复杂项目

最近我们写了一篇关于这个主题的文章:From Website to Mobile App – Your Four Best Options

我确定你会感兴趣。

答案 2 :(得分:4)

渐进式网络应用 直到最近,移动网络应用程序缺乏本机移动应用程序的许多功能,例如能够发送推送通知,离线工作以及在主屏幕上加载,但是对提供这些功能的浏览器和网络应用程序进行了一些改进。利用这些功能的应用程序称为渐进式网络应用程序。

渐进式网络应用程序是否可行?这取决于你的目标。它们仅适用于Google Chrome,这是相当有限的。如果您的目标是覆盖Android和iOS上的受众群体,那么渐进式网络应用可能不适合您。从这个意义上讲,它们不是移动应用程序的替代品,但它们可以成为一种快速将类似移动应用程序的Web应用程序放入人们手中的方法。如果您正在考虑将Web应用程序转换为渐进式Web应用程序,请考虑使用Canvas等解决方案将您的Web应用程序转换为移动应用程序。这真的很容易!

网络应用 “网络应用程序”是一个通过网络浏览器通过网络(如互联网)访问的应用程序。“那么这与网站有何不同?

差异是主观的,但大多数人都同意网站通常只是信息性的,而网络应用程序则提供功能。例如,维基百科是一个网站;它提供信息。 Facebook是一个网络应用程序。

不要让“app”这个词混淆你。 Web应用程序不需要像移动应用程序那样下载。网络应用程序会在Chrome,Safari或Firefox等浏览器中加载,并且不会占用用户设备上的任何内存或存储空间。

他们是如何建造的?绝大多数都是用JavaScript,CSS和HTML5构建的。与移动iOS或Android应用程序不同,没有开发人员可以使用的软件开发工具包(SDK)。有一些模板和框架,如Angular,React和Vue.js,您可以使用它们来快速入门。与移动应用程序相反,开发Web应用程序可以简单快捷,但是,它们的简单性也是它们的缺点。在投资移动应用程序之前,这通常是测试想法的好方法。

混合应用 如果本机应用程序和Web应用程序结婚并有一个孩子,它将是一个混合应用程序。你像原生应用程序一样安装它,但它实际上是一个内部的Web应用程序。混合应用程序(如Web应用程序)使用Javascript,HTML和CSS构建,并在Webview中运行,Webview是应用程序中的简化浏览器。

为什么要考虑混合动力?假设你有一个应用程序的想法,你不知道人们是否会喜欢它。您的目标是尽快将可用的东西放入他们的手中。在创业领域,这被称为MVP,或最小可行产品。您缺乏资源,因此您需要创建仍然提供价值的产品的简单版本。构建Web应用程序可能是真正的最小选择,但实际上不允许您测试人们是否会在其设备上下载和使用应用程序。

参考: https://www.mobiloud.com/blog/native-web-or-hybrid-apps/

答案 3 :(得分:3)

网络应用 Web App存储在远程服务器上,通过浏览器通过Internet传送。网络应用不是真正的应用;它们实际上是在许多方面看起来和感觉像本机应用程序的网站。它们由浏览器运行,通常用HTML5编写。用户首先访问它们,因为他们可以访问任何网页:他们导航到一个特殊的URL,然后通过创建该页面的书签,在主屏幕上选择“安装”它们。

混合应用 混合应用程序就像本机应用程序,在设备上运行,并使用Web技术(HTML5,CSS和JavaScript)编写。混合应用程序在本机容器内运行,并利用设备的浏览器引擎(但不是浏览器)来呈现HTML并在本地处理JavaScript。通过Web到本机抽象层,可以访问移动Web应用程序中无法访问的设备功能,例如加速度计,摄像头和本地存储。 通常,公司将混合应用程序构建为现有网页的包装器;通过这种方式,他们希望能够在应用程序商店中占据一席之地,而无需花费大量精力来开发不同的应用程序。混合应用程序也很受欢迎,因为它们允许跨平台开发:也就是说,相同的HTML代码组件可以在不同的移动操作系统上重用,从而显着降低了开发成本。 Cordova / PhoneGap和Sencha Touch等工具允许人们使用HTML的强大功能跨平台进行设计和编码

答案 4 :(得分:3)

混合应用程序 - 它是一个本机应用程序,它还使用Web技术(html / js / css)来重用代码并简化开发。该应用程序需要从App商店下载。 开发人员无法立即推动更改,因为有一个“周期”。由appstore等进行应用程序审核

Progressive Web App - 使用HTML5中的最新技术并提供丰富的用户体验和功能的Web应用程序。 支持离线模式(如常规应用)。代码推送很容易。最重要的是,您不需要针对iOS,Android和桌面的单独开发和部署过程。

答案 5 :(得分:2)

混合移动应用程序。混合开发结合了原生和HTML5世界的最佳(或最差)。我们将hybrid定义为一个Web应用程序,主要使用HTML5和JavaScript构建,然后封装在一个瘦本机容器中,提供对本机平台功能的访问。

渐进式网络应用程序是将最佳网络和最佳应用程序相结合的体验。从浏览器选项卡中的第一次访问开始,它们对用户非常有用,无需安装。随着用户逐渐与应用程序建立关系,它变得越来越强大。即使在片状网络上,它也能快速加载,发送相关的推送通知,主屏幕上有一个图标,并作为顶级全屏体验加载。

一些混合移动应用平台是WaveMaker,Mendix和quickbase。

我个人喜欢WaveMaker来构建混合应用和网络应用。

答案 6 :(得分:0)

渐进式网络应用程序或多或少是一个只能添加到我们手机主屏幕的网站,并且可以像应用程序一样运行(具有全屏视图),并具有原生外观和感觉。因此,用户可以在不占用大量内存的情况下获得类似移动应用的体验。

混合移动应用只是另一种移动应用,但具有不同的开发技术。它是使用单个代码开发的(例如在使用JavaScript或打字稿的本机代码中),然后将其部署到不同的环境中。例如应用商店和游戏商店。与在需要部署的每个平台上单独开发的本机应用程序不同,混合应用程序只开发一次,可以部署在多个环境中。

相关问题