程序员的自我修养
Home » 分类目录 » Web Push

第三方Web Push

0条评论146次浏览

最近在思考团队和个人下一步的方向,业务上一度确定准备做第三方web push,但一番调研下来,发现国内做的意义不大。这里把一些过程和结论记录下来吧。

什么是Web Push

"The Push API enables sending of a push message to a webapp via a push service. An application server can send a push message at any time, even when a webapp or user agent is inactive. The push service ensures reliable and efficient delivery to the user agent. Push messages are delivered to a Service Worker that runs in the origin of the webapp, which can use the information in the message to update local state or display a notification to the user."

简单来说,web push可以在关闭页面、甚至关闭浏览器的情况下,依然可以将消息下发到终端(这真是一个听着就神烦的玩意)。

为何出现web push?

主要还是和google大力推行PWA(Progressive Web Apps)有关。PWA是一种让网页长得和app一样的技术。然而想让网页和app具有同样的表达能力,一个比较大的问题就是:app有推送功能,网页如何实现?虽然h5定义了Web Notifications,可以询问是否允许推送、如果允许了可以推送消息,但那毕竟是需要页面打开的情况下才行。

于是google又推出了一个叫Service Workers的技术。如果把浏览器看成操作系统,把pwa站点看成运行在操作系统上的app,那么Service Workers就是pwa app在这个操作系统上的后台进程(其实就是一段隔离执行的js,当页面关闭的情况下依然能够执行一段时间,这段js可以定义接收到推送消息后的动作)。浏览器接收到服务端的推送消息后,根据Service Workers里面定义的动作,最后通过h5的Web Notifications api进行展示。

整个链路都通了后,web push就自然而然的诞生了。

什么是Web Notifications

Web Notifications是html5定义的一套api接口,主要用来询问是否允许消息通知、展示消息通知等。目前主流浏览器中,只有firefox、chrome、safari、opera支持。详细可以看这篇文章,介绍的很不错:简单了解HTML5中的Web Notification桌面通知
(更多…)

分类:Web Push
标签:
11
profile
  • 文章总数:81篇
  • 评论总数:241条
  • 分类总数:32个
  • 标签总数:45个
  • 运行时间:1253天

大家好,欢迎来到selfup.cn。

这不是一个只谈技术的博客,这里记录我成长的点点滴滴,coding、riding and everthing!

最新评论
  • Anonymous: :?: :razz: :sad:
  • Anonymous: 牛
  • Anonymous: 楼主你好,我偶尔也会 遇到Reconnect due to socket error: java.nio.channels.ClosedCha...
  • Anonymous: sdfs
  • Anonymous: :arrow: :neutral: :cry:
  • Anonymous: java.io.NotSerializableExcepti on: DStream checkpointing has been enabled but the DStreams with their...
  • wick: HI,请问一下,U,S,V得到 ,怎么得到近似矩阵 (用spark java),谢谢。
  • Michael Whitaker: Thank you for this blog, it was very helpful in troubleshooting my own issues. It seems that no...
  • Anonymous: :mad:
  • Anonymous: :???:
  • Anonymous: :mad: :mad: :mad:
  • 洋流: 哥们,我问个问题,你 把testOnborrow去掉了。。 如果得到的jedis资源...
  • 洋流: 哥们,我问个问题,你 把testOnborrow去掉了。。 如果得到的jedis资源...
  • Anonymous: :razz: :evil: :grin:
  • 张瑞昌: 有很多,比较常见的是 Jacob迭代法,一次迭代O (n^3),迭代次数不清楚 ...
  • Anonymous: :mrgreen:
  • lc277: 你好 我想问下一般删除节点 要多久,要删除的datano de大概用了1t,解除...
  • Anonymous: 你好 我想问下一般删除节点 要多久,要删除的datano de大概用了1t,解除...
  • Anonymous: :smile: :grin: :eek:
  • 李雪璇: 想要完整代码,可以帮 忙发给我吗