主题:【原创】PWA,边学边问边用 -- 铁手

大河奔流 导读 复 10 阅 5345

全看 分页 树展 一览 主题

2018-10-25 23:42:53
4372750 复 4372709
tom
tom`20476`/bbsIMG/face/0000.gif`70`4823`1513`30671`正四品上:正议大夫|忠武将军`2007-11-05 22:51:37`
说说我的理解 8

先把JS放一边。网站的最简单数据流程是浏览器1)从网站拉取数据 2)建立DOM树呈现出来。这原本是一体化的工作,随着技术和需求的发展,内部细节需要更多开放,和定制化挂点。

好比以前是一个整体的exe文件,现在逐步重构发展成一组dll协同工作,分离出越来越多的调用栈。根据数据流,这些dll的调用顺序有先后,有重叠,有并行,所以数据的处理流程从原来的顺序为主,开始有更多的分支和循环。

现在流行的做法是把这些独立出来的功能栈叫做worker, 使用方式就是先register,来挂载到浏览器原来的流程,这样保证了兼容:挂上去了就替换成新功能,不挂就跟以前一样。

同样实现思路的还有web assembly. 他们都有一个特点,不能跟DOM直接打交道,我把这理解成因为DOM属于另外一个worker(标准术语不这么叫)。

由于JS是跟浏览器内部实现的标准语言,所有的挂载点以JS API提供,所以反而模糊这种层次界限。

按这么理解,现在的PWA就是以前缓存机制的现代版本,以最新的技术解决老需求。

除了骆筱提到的的技术层面细节,PWA还有一个很大市场卖点,是和移动操作系统的集成,尤其是其通知机制,所以对终端用户,其行为很像app,对开发者又很容易更新内容。push notice是操作系统的功能,浏览器调用它的功能,集成包装一下,留下一个挂载点给开发者。


  • 本帖 1 回复
通宝推:铁手,
2018-10-25 23:42:53

全看 分页 树展 一览 主题