主题:【原创】PWA,边学边问边用 -- 铁手
先把JS放一边。网站的最简单数据流程是浏览器1)从网站拉取数据 2)建立DOM树呈现出来。这原本是一体化的工作,随着技术和需求的发展,内部细节需要更多开放,和定制化挂点。
好比以前是一个整体的exe文件,现在逐步重构发展成一组dll协同工作,分离出越来越多的调用栈。根据数据流,这些dll的调用顺序有先后,有重叠,有并行,所以数据的处理流程从原来的顺序为主,开始有更多的分支和循环。
现在流行的做法是把这些独立出来的功能栈叫做worker, 使用方式就是先register,来挂载到浏览器原来的流程,这样保证了兼容:挂上去了就替换成新功能,不挂就跟以前一样。
同样实现思路的还有web assembly. 他们都有一个特点,不能跟DOM直接打交道,我把这理解成因为DOM属于另外一个worker(标准术语不这么叫)。
由于JS是跟浏览器内部实现的标准语言,所有的挂载点以JS API提供,所以反而模糊这种层次界限。
按这么理解,现在的PWA就是以前缓存机制的现代版本,以最新的技术解决老需求。
除了骆筱提到的的技术层面细节,PWA还有一个很大市场卖点,是和移动操作系统的集成,尤其是其通知机制,所以对终端用户,其行为很像app,对开发者又很容易更新内容。push notice是操作系统的功能,浏览器调用它的功能,集成包装一下,留下一个挂载点给开发者。
- 相关回复 上下关系7
🙂感觉就是chrome extension换了个外套 3 克雷 字249 2018-10-26 12:21:40
🙂我理解PWA是一个设计模式 design pattern 2 透明 字463 2018-11-01 22:10:38
🙂目前看来这个PWA会持续下去 2 铁手 字641 2018-10-28 14:51:07
🙂说说我的理解
🙂webassembly是高效二进制代码的js实现 3 骆筱 字540 2018-10-26 00:48:46
🙂我指的是WASM这种需求的切入方式 3 透明 字855 2018-10-26 09:51:04
🙂service worker的生存周期 10 骆筱 字891 2018-10-25 21:16:32