w3ctech

国内首家支持Web Push的UC浏览器正式发布

作为前端工程师,PWA近一年多时间来,应该经常听到,如果你对PWA有深入关注的话,都知道除了SW是PWA中最核心的一个标准之外,其实还有一个很重要的是Web Push。

如果你有关注Web Push,哪你应该知道Chrome 是支持Web Push的,当然现在Firefox也是支持Web Push的,但是之前有一些同学在Chrome尝试使用Web Push的时候,发现不能正常工作,关于这个问题,我之前还去找过Chrome的同学,最后无解。当然当时一个原因是我对标准理解不够,还有一个最重要的原因就是因为我们无法正常访问Google的某些服务。

这里简单谈一下Web Push,很多觉得浏览器实现了Web Push,怎么还会受Google的服务器影响呢?其实因为Web Push的这个标准的设计是这样的,我们需要浏览器暴露的PUSH JS API接口(便于前端使用),需要有PUSH 中间服务器(浏览器厂商自己搭建,便于将消息发送给浏览器),业务PUSH服务器(Web APP厂商自己搭建,或者第三方PUSH服务)。

首先需要在业务PUSH 服务器上生成密钥,然后前端将密钥中的公钥传给浏览器,浏览器会向PUSH 中间服务器发起请求,然后PUSH 中间服务器会返回相关信息,然后前端拿到返回信息以后,发送给业务PUSH服务器,业务PUSH 服务器拿到这个返回的结果以后,存下来,以后就可以使用返回结果的信息加上你需要发送的消息,向浏览器用户推送消息啦。

我只是简单的描述了一下这个过程,当然在实现的工程中你需要处理的东西还挺多,其实大家看完上面的描述应该清楚,为啥我们为啥在Chrome中跑不通啦?首先是用户在使用的时候,他的网络就没有办法连接到Chrome的PUSH 中间服务器,还有就一种可能就是我们自己的业务服务器连不上Chrome的PUSH中间服务器。

Chrome的PUSH中间服务器叫FCM,UC浏览器搭建了自己的PUSH中间服务器,叫UCCM,来解决了这个问题。从而帮忙Web APP解决了这个问题。

关于Web Push其实还有很多可以写,网上也有很多文章,如果你有兴趣,可以去看一看,现在我们一起在来看看UC浏览器新版本除了Web Push之外,还有哪些变化:

1、UC浏览器新版的内核名称叫 U4 2.0,在Chromium 57基础上构建和优化,之前的U4 1.0是在Chromium 40基础上构建的; (官方消息称:在原有 Chromium 57 的基础上做了大量的优化,使得整体的性能有了很大的提升,简单来说,就是比 Chromium 57 还要快。JS 引擎整体得到提升,比如 code caching 以及启用 Ignition 与 TurboFan,还有其他的优化措施的加持,使得 U4 2.0 对比 57 版本有明显的提升。)

2、对 ES6 的支持接近 100%,对了,新内核是支持 webpack-dev-server 插件。比如我们常见的箭头函数、Promise、Generator,在 ES2016 及以上版本的特性,比如 async / await 的支持,可有效简化开发者编写异步操作的代码

3、支持多路复用、服务器推送、HTTP/2

4、还有一些其他:“position:sticky”、“Grid layout”、“Containment”、“Passive Event Listener”、“IntersectionObserver”,还有 “requestIdleCallback”等等

5、对PWA完美支持,比如刚才提到的Web Push,当然还有SW,Add to Home Screen等;

6、还有一块比较特殊的就是支持Web AR,在今年的双十一上有一些案例,同时还与支付宝有一些WebAR 技术合作,目前在支付宝上线了基于 U4 WebAR 技术的业务蚂蚁庄园星星球、亲子相机等。

还有就是UC浏览器将自己的内核技术对外开放,打包成SDK回报给行业,目前新浪微博和UC有一些合作。

有兴趣的同学可以在这里下载体验:http://www.uc.cn/ucbrowser/download/

w3ctech微信

扫码关注w3ctech微信公众号

共收到0条回复