【发布时间】:2017-04-10 18:37:07
【问题描述】:
谁能告诉我混合移动应用和渐进式 Web 应用之间的区别以及它们的优势?
【问题讨论】:
标签: mobile hybrid-mobile-app progressive-web-apps
谁能告诉我混合移动应用和渐进式 Web 应用之间的区别以及它们的优势?
【问题讨论】:
标签: mobile hybrid-mobile-app progressive-web-apps
混合移动应用程序通常是指使用 Web 和原生技术组合构建的应用程序,该应用程序通过原生应用商店分发。这些应用通过 Apple、Google、Microsoft 等的应用商店审核流程。
Progressive Web App 是使用 Web 技术构建的应用程序,可在浏览器中运行并可添加到主屏幕。它们不需要通过本地应用商店分发,但可以包含在其中。截至 2018 年,Microsoft 在其 Microsoft Store 中包含 PWA,Trusted Web Activities 使将 PWA 提交到 Google Play 商店变得更加容易。
一些混合移动应用平台包括PhoneGap(又名Cordova)、Appcelerator Titanium 和Ionic。您不需要平台来创建混合应用程序,但它们很有帮助,因为它们已经负责在原生 API 和 JavaScript API 之间建立桥梁。
Progressive Web Apps 只需在浏览器中运行,因此可以使用基本的 HTML、CSS 和 JavaScript 构建它们。
【讨论】:
渐进式网络应用
这项由 Google 开发的相对较新的技术使移动设备能够将网站或网络应用程序添加到智能手机的主屏幕并能够与其离线交互。
优点
缺点
混合移动应用
这里可以有两种选择:
Apache Cordova、Ionic 和 PhoneGap 框架
优点
缺点
或 React Native。
优点
缺点
最近我们写了一篇关于这个话题的文章:From Website to Mobile App – Your Four Best Options
我相信你会感兴趣的。
【讨论】:
渐进式网络应用: 直到最近,移动 Web 应用程序还缺乏本地移动应用程序的许多功能,例如发送推送通知、离线工作和在主屏幕上加载的能力,但是提供这些功能的浏览器和 Web 应用程序已经有了一些改进。利用这些功能的应用称为渐进式网络应用。
渐进式网络应用程序是要走的路吗?这取决于你的目标是什么。它们只适用于相当有限的谷歌浏览器。如果您的目标是覆盖 Android 和 iOS 上的受众,那么渐进式 Web 应用程序可能不适合您。从这个意义上说,它们不是移动应用程序的替代品,但它们可以成为一种快速将类似移动应用程序的网络应用程序交到人们手中的方式。如果您正在考虑将您的 Web 应用程序转换为渐进式 Web 应用程序,请考虑使用 Canvas 等解决方案将您的 Web 应用程序转变为移动应用程序。真的很简单!
网络应用: 网络应用程序“是通过网络浏览器通过网络(例如 Internet)访问的应用程序”。那么这与网站有什么不同呢?
差异是主观的,但大多数人都同意网站通常只是提供信息,而网络应用程序提供功能。例如,维基百科是一个网站;它提供信息。 Facebook 是一个网络应用程序。
不过,不要让“应用程序”这个词让您感到困惑。 Web 应用程序不需要像移动应用程序那样下载。 Web 应用程序在 Chrome、Safari 或 Firefox 等浏览器中加载,并且不会占用用户设备上的任何内存或存储空间。
它们是如何建造的?绝大多数是用 JavaScript、CSS 和 HTML5 构建的。与移动 iOS 或 Android 应用程序不同,没有可供开发人员使用的软件开发工具包 (SDK)。您可以使用 Angular、React 和 Vue.js 等模板和框架快速入门。与移动应用程序相反,开发 Web 应用程序可以简单快捷,但是,它们的简单性也是它们的缺点。这通常是在投资移动应用之前测试想法的好方法。
混合应用: 如果原生应用程序和网络应用程序结婚并生了孩子,那将是一个混合应用程序。您可以像安装本机应用程序一样安装它,但它实际上是内部的 Web 应用程序。混合应用(如 Web 应用)是使用 Javascript、HTML 和 CSS 构建的,并在称为 Webview 的东西中运行,这是您应用中的简化浏览器。
为什么要考虑混合?假设您有一个应用程序的想法,但您不知道人们是否会喜欢它。您的目标是尽快将可用的东西送到他们手中。在创业世界中,这被称为 MVP,或最小可行产品。您缺乏资源,因此您需要创建一个仍能提供价值的简单产品版本。构建 Web 应用程序可能是真正最小的选择,但不会真正让您测试人们是否会在他们的设备上下载和使用应用程序。
参考: https://www.mobiloud.com/blog/native-web-or-hybrid-apps/
【讨论】:
网络应用 Web 应用程序存储在远程服务器上,并通过浏览器通过 Internet 交付。 Web 应用程序不是真正的应用程序;它们确实是在许多方面看起来和感觉都像原生应用程序的网站。它们由浏览器运行,通常用 HTML5 编写。用户首先访问它们,就像他们访问任何网页一样:他们导航到一个特殊的 URL,然后可以选择通过为该页面创建一个书签将它们“安装”到他们的主屏幕上。
混合应用 混合应用程序类似于原生应用程序,在设备上运行,并使用 Web 技术(HTML5、CSS 和 JavaScript)编写。混合应用程序在本机容器内运行,并利用设备的浏览器引擎(但不是浏览器)来呈现 HTML 并在本地处理 JavaScript。 Web-to-native 抽象层允许访问在移动 Web 应用程序中无法访问的设备功能,例如加速度计、相机和本地存储。 通常,公司构建混合应用程序作为现有网页的包装器;通过这种方式,他们希望在应用商店中占有一席之地,而无需花费大量精力来开发不同的应用。混合应用程序也很受欢迎,因为它们允许跨平台开发:也就是说,相同的 HTML 代码组件可以在不同的移动操作系统上重用,从而显着降低了开发成本。 Cordova/PhoneGap 和 Sencha Touch 等工具允许人们使用 HTML 的强大功能跨平台进行设计和编码
【讨论】:
混合应用程序 - 它是一个原生应用程序,它还使用网络技术 (html/js/css) 来实现代码重用和易于开发。该应用程序需要从应用商店下载。 开发者无法立即推送更改,因为应用商店等应用审核存在“周期”。
Progressive Web App - 使用最新的 HTML5 技术并提供丰富的用户体验和功能的 Web 应用程序。 支持离线模式(如常规应用程序)。代码推送很容易。最好的部分是,您不需要针对 iOS、Android 和桌面的单独开发和部署过程。
【讨论】:
混合移动应用程序。混合开发结合了原生和 HTML5 世界中最好的(或最差的)。我们将混合定义为一个 Web 应用程序,主要使用 HTML5 和 JavaScript 构建,然后将其包装在一个瘦原生容器中,该容器提供对原生平台功能的访问。
Progressive Web Apps 是结合了最好的网络和最好的应用的体验。从第一次访问浏览器选项卡开始,它们对用户很有用,无需安装。随着用户逐渐与应用程序建立关系,它变得越来越强大。即使在不稳定的网络上,它也能快速加载,发送相关推送通知,在主屏幕上有一个图标,并作为顶级全屏体验加载。
一些混合移动应用平台是WaveMaker、Mendix 和 quickbase。
我个人喜欢 WaveMaker 构建混合应用程序和网络应用程序。
【讨论】:
渐进式网络应用或多或少只是一个网站,它可以添加到我们手机的主屏幕上,可以像应用一样运行(全屏视图)并提供原生外观和感觉。因此,用户可以在不占用太多内存的情况下获得类似移动应用的体验。
另一方面,混合移动应用程序只是另一个移动应用程序,但具有不同的开发技术。它是使用单个代码开发的(例如使用 javascript 或 typescript 在本机反应中),然后部署到不同的环境中。比如应用商店和游戏商店。与在我们需要部署的每个平台上单独开发的原生应用程序不同,混合应用程序只需开发一次,就可以部署在多个环境中。
【讨论】: