西西河

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

共:💬11 🌺59 新:
全看分页树展 · 主题 跟帖
家园 说说我的理解

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

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

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

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

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

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

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

通宝推:铁手,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河