2018年的第一篇博客,最近都去挤图书馆了,希望新年新气象。。。

简介

PWA 是一门Google推出的web前端新技术,全称是Progressive Web App,是Google在2015年提出,2016年6月推广的项目,是结合了一系列现代Web技术的组合,在网页应用中实现和原生应用相近的用户体验。

PWA并不是描述一个技术,而是一些技术的合集。PWA 是专门应对手机 Web 开发而提出的,通过新技术的成熟,实现最好的 Web + 手机 APP。就是说,让你在使用 Web 的时候感觉像是在使用 APP。

PWA特性

  • 渐进式: 确保每个用户都能打开网页;
  • 响应式: PC、手机、平板、不管哪种格式,网页都能完美适配
  • 离线响应: 支持用户在没有网的情况下都能打开网页,这里需要service worker;
  • APP化:能够像APP一样和用户进行交互
  • 常更新: 一旦web网页有什么改动,都能立即在用户端体现出来
  • 安全: 安全是第一位,给自己的网站加上一把绿锁-HTTPS;
  • 可搜索: 能够被引擎搜索到
  • 推送: 做到在不打开网页的情况下,推送新的消息
  • 可安装: 能够将web像App一样添加到桌面,不需要通过应用商店
  • 可跳转: 只要通过一个连接就可以跳转到你的web页面。(通过 URL 可以轻松分享应用,不用复杂的安装即可运行)

PWA 需要的技术

  • push(推送消息)
  • cache
  • manifest(应用清单:定义了一个基于JSON的清单,为开发人员提供一个放置与Web应用程序关联的元数据的集中地点)
  • responsive dev
  • material design
  • service worker(一部分是 cache,还有一部分则是 Worke)

PWA与其他APP

  • Native APP
    指原生App,是一个完整的App,可拓展性强,需要用户下载安装使用

  • Web APP
    指采用Html5语言写出的App,生活在浏览器里的应用,不需要下载安装

  • Hybird app
    半原生半Web的混合类App,需要下载安装

PWA在中国

总结

感觉 PWA 涉及到的 API 比较多。要想研究透彻 PWA 还需要研究它所涉及到的 API ,慢慢研究吧。

PWA web应用模型的更多相关文章

  1. web并发模型

    并发:cpu划分时间片,轮流执行每个请求任务,时间片到期后,换到下一个. 并行:在多核服务器上,每个cpu内核执行一个任务,是真正的并行 IO密集型的应用,由于请求过程中很多时间都是外部IO操作,CP ...

  2. 用 Python 理解 Web 并发模型

    用 Python 理解 Web 并发模型 http://www.jianshu.com/users/1b1fde012122/latest_articles   来源:MountainKing 链接: ...

  3. .net使用mvc模式开发web应用 模型与视图间的数据处理

    http://www.cnblogs.com/JeffreyZhao/archive/2009/02/27/mvc-use-strong-type-everywhere.html#3427764 本文 ...

  4. ASP.NET Web API模型验证以及异常处理方式

    ASP.NET Web API的模型验证与ASP.NET MVC一样,都使用System.ComponentModel.DataAnnotations. 具体来说,比如有:[Required(Erro ...

  5. Web Api 模型验证

    1.模型建立,在模型上类上添加System.ComponentModel.DataAnnotations验证属性 public class Product { public int Id { get; ...

  6. asp.net core系列 45 Web应用 模型绑定和验证

    一. 模型绑定 ASP.NET Core MVC 中的模型绑定,是将 HTTP 请求中的数据映射到action方法参数. 这些参数可能是简单类型的参数,如字符串.整数或浮点数,也可能是复杂类型的参数. ...

  7. Web Api 模型绑定 二

    [https://docs.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-2.2] 1.ApiController属性使模型验证错误 ...

  8. Web Api 模型绑定 一

    [https://docs.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-2.2]1.模型绑定 简单模型绑定针对简单类型(如stri ...

  9. Web开发模型

    1.服务器 web服务器:pc机器安装一个具有web服务的软件,称之位web服务器 数据库服务器:pc机器安装一个具有数据管理件服务的软件,称之为web服务器 邮件服务器:pc机器安装一个具有发送邮件 ...

随机推荐

  1. Jmeter(八)Jmeter监控tomcat

    1.配置tomcat的配置文件conf/tomcat-users.xml 2. 在“线程组”上右键“添加”--“配置元件”--“HTTP授权管理器”,这里主要是让JMeter能够通过Tomcat的基本 ...

  2. robotFramework_ride_python2_Wxpython测试环境搭建

    (提示:我的安装版本是robotFramework3.0+ride1.5+python2.7+wxpython2.8,至于wxpython3.0下ride安装打不开的问题我还没找到原因,建议刚开始先不 ...

  3. git命令(待补充)

    git log查看历史 git log -p -2 -p选项表示显示每次提交的内容差异,-2表示最近两次的更新

  4. u-boot.cfg转eclipse_xml小脚本

    手动复制粘贴版本 cat u-boot.cfg | awk '{if(length($3)){$3 = substr($0, length($1)+length($2)+3); gsub(" ...

  5. sgu 101 Domino 解题报告及测试数据

    101. Domino time limit per test: 0.25 sec. memory limit per test: 4096 KB 题解: 求多米诺骨牌按照一定方式放置能否使相邻的位置 ...

  6. Python日期字符串比较

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 需要用python的脚本来快速检测一个文件内的二个时间日期字符串的大小,其实实现很简单,首先一些 ...

  7. Java序列化的机制和原理 转

    转 http://developer.51cto.com/art/200908/147650.htm Java序列化的机制和原理 本文讲解了Java序列化的机制和原理.从文中你可以了解如何序列化一个对 ...

  8. input 虚拟键盘

    if (!Element.prototype.scrollIntoViewIfNeeded) { Element.prototype.scrollIntoViewIfNeeded = function ...

  9. Ubuntu16.04桌面版 连接到ftp服务器

    Ftp服务器在不同的网段,需要临时添加网段 不同网段临时添加方法: root@xzrs:/home/rxf# ip addr add 10.1.2.127/24 dev enp0s25 电脑左侧“连接 ...

  10. WeX5基础

    最近在研究微信app开发,使用的是WeX5,在这里把一些基础知识点记录下来,忘记了可以翻阅查看. 一:开发后端服务 1.建立数据源:窗口--首选项--studio配置--数据源--增加--数据源类型选 ...