前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >下一代的web应用-pwa,它将成为你未来的核心竞争力!

下一代的web应用-pwa,它将成为你未来的核心竞争力!

作者头像
前端老鸟
发布2019-07-30 17:20:54
7560
发布2019-07-30 17:20:54
举报
文章被收录于专栏:front-end technologyfront-end technology

近年来web技术爆发式发展

  • webpack、rollup等打包工具
  • Babel、PostCSS的转译工具
  • TypeScript等壳转译为javascript的编程语言
  • react、Angular、vue等现代web前端框架
  • 同构JavaScript

Web应用体验依然不佳

  • 网页资源下载带来的网络延迟
  • Web应用依赖于浏览器作为入口
  • 没有好的离线使用方案
  • 没有好的消息通知方案

PWA的出现

  • 显著提高应用加载速度
  • Web应用可以在离线环境下使用
  • Web应用能够像原生应用一样被添加到主屏
  • web应用能在未被激活时发起推送通知
  • web应用与操作系统集成能力进一步提高

PWA的优势

  • 根据提示或手动添加到主屏幕
  • 全屏幕打开,不受困于浏览器的UI
  • 无法访问网络时,可以像原生应用一样照常执行
  • 像原生一样发起推送通知

PWA模型将继约20年前横空出世的Ajax与约10年前风靡移动互联网的响应式设计一样,掀起web应用模型的第三次革命技术,将web技术带进一个全新的时代

PWA关键技术

  • Web App Manifest 1.承载着web应用与操作系统集成能力的重任
  • Service Worker 1.让web应用离线使用的第一次尝试 2.通过向LocalServer模块提交一个缓存文件清单来实现离线支持
  • Application Cache 1.让web应用离线使用的第二次尝试 2.在LocalServer的基础上进一步发展 3.缺点:不可编程、无法清理缓存、几乎没有路由机制

Service Worker迎来曙光

1.让web应用离线使用的第三次尝试

2.可编程的web worker

3.像一个位于浏览器与网络之间的客户代理,可以拦截、处理、响应流经的HTTP请求

4.配合Cache Storage api,可以自由管理HTTP请求文件粒度的缓存

Service Worker的生命周期

Service Worker的安装

代码语言:javascript
复制
self.oninstall = e => {

  e.waitUntil(
    caches.open('installation')
      .then(cache => cache.addAll(
        [
          './',
          './styles.css',
          './script.js'
        ]
      ))
  )

}

Service Worker使用离线缓存

代码语言:javascript
复制
self.onfetch = e => {
  const fetched = fetch(e.request)
  const cached = caches.match(e.request)

  e.respondWith(
    fetched.catch(_=>cached)  
  )
}

Service Worker的缓存策略

Service Worker总结

Service Worker是支撑PWA的最核心的技术,将带来离线优先的架构革命

Push Notification

  1. Push Api的出现让推送服务具备了web应用推送消息的能力
  2. Push Api不依赖web应用与浏览器UI存活,所以即使在web应用与浏览器未被用户打开时,也可以通过后台进程推送消息并调用Notification API向用户发出通知

总结

PWA的技术未来可期,作为前端,我们很有必要掌握这门技术,在未来的几年里,必然成为你的核心竞争力,老铁们,赶紧学起来

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 近年来web技术爆发式发展
  • Web应用体验依然不佳
  • PWA的出现
  • PWA的优势
  • PWA关键技术
  • Service Worker迎来曙光
  • Service Worker的生命周期
  • Service Worker的安装
  • Service Worker使用离线缓存
  • Service Worker的缓存策略
  • Service Worker总结
  • Push Notification
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档