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

Man*_*ano 31 mobile hybrid-mobile-app progressive-web-apps

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

gri*_*igs 22

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

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

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

渐进式Web应用程序只需在浏览器中运行,因此可以使用基本的HTML,CSS和JavaScript构建它们.


小智 19

渐进式Web应用程序

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

优点

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

缺点

  • 这项技术只是一个浏览器包装器 - 而不是一个功能齐全的应用程序,所以从技术上讲它仍然是一个网站
  • 用户将无法获得本机应用程序体验(即交互,动画,性能),因为UI只是一个全屏浏览器窗口,没有可以脱机工作的URL栏.
  • 兼容性差(仍然不适用于iPhone和iPad)

混合移动应用

这里有两个选择:

框架为Apache Cordova,Ionic和PhoneGap

优点

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

缺点

  • 用户体验不如原生应用程序那么好(300毫秒点击延迟,滚动时幻像点击等)
  • 应用程序越复杂,由于使用了各种包装器和库,它的工作速度就越慢
  • 不能脱机工作
  • 动画很难在UI中实现

或反应原生.

优点

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

缺点

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

最近我们写了一篇关于这个主题的文章:从网站到移动应用程序 - 你的四个最佳选择

我相信你会感兴趣的.

  • 我谨与众不同的是,混合应用程序的缺点之一是“无法离线工作”。您可以对混合应用程序具有离线支持。我参与了具有离线支持的基于物流的混合应用程序的开发。 (3认同)
  • 不想在这里吹毛求疵,但鉴于其他人会看到这一点,值得指出的是,您对 Hybrid 的所有缺点都是不正确和固执己见的。出色的用户体验、离线支持和动画都可以在混合应用程序中实现,就像它们在浏览器中一样。300 毫秒的延迟多年来一直不是问题。 (2认同)