在一次内部分享会中,我表达了可以把 re【原创不易,请尊重版权】【作者:唐霜】act 的 virtual dom 那一【原创不易,请尊重版权】未经授权,禁止复制转载。套全部放到 webworker 中,这样【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。就可以避免在主线程进行计算量很大的 di【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】ff 操作,一方面节省主线程的计算消耗提【原创内容,转载请注明出处】转载请注明出处:www.tangshuang.net升性能,另一方面也不需要再去构建 rea著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。ct 的 scheduler 做那么复杂【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net的协程工程。大致意思就是,在主线程只做 未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。DOM 操作,而 DOM 的操作,全部由【原创内容,转载请注明出处】【作者:唐霜】 worker 线程发送消息到主线程完成【作者:唐霜】转载请注明出处:www.tangshuang.net。在 worker 中计算得到 patc【转载请注明来源】原创内容,盗版必究。hes,发送到主线程,由主线程的程序完成【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】 patch,也就是在主线程中,只存在 本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】DOM 操作,不存在计算过程。其中比较重【原创不易,请尊重版权】【未经授权禁止转载】要的一点,是事件响应问题。当用户在界面上【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。做了一次点击后,需要发送一个 event未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】 消息到 worker 中,然后由 wo【关注微信公众号:wwwtangshuangnet】【原创不易,请尊重版权】rker 中构建的一套事件处理系统完成事【未经授权禁止转载】【转载请注明来源】件响应和接下来的 diff,将最终的 p【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。atch 发送回主线程。
未经授权,禁止复制转载。【原创不易,请尊重版权】转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net之后,在同事的推荐和自己的寻找下,找到两【本文受版权保护】转载请注明出处:www.tangshuang.net个项目:
【本文受版权保护】【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】【作者:唐霜】【原创内容,转载请注明出处】- web-perf/react-worke【作者:唐霜】【作者:唐霜】r-dom: Experiments t本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】o see the advantages著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。 of using Web Worker【原创不易,请尊重版权】原创内容,盗版必究。s to Render React Vi未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。rtual DOM (github.co未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。m) 【版权所有,侵权必究】【版权所有,侵权必究】【关注微信公众号:wwwtangshuangnet】【版权所有,侵权必究】
- dai-shi/react-worker【关注微信公众号:wwwtangshuangnet】【版权所有】唐霜 www.tangshuang.net-components: React W【本文受版权保护】原创内容,盗版必究。orker Components sim本文版权归作者所有,未经授权不得转载。【作者:唐霜】plify using Web Work【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。ers (github.com) 转载请注明出处:www.tangshuang.net【转载请注明来源】本文版权归作者所有,未经授权不得转载。
- ampproject/worker-do【原创内容,转载请注明出处】【关注微信公众号:wwwtangshuangnet】m: The same DOM API 【原创内容,转载请注明出处】未经授权,禁止复制转载。and Frameworks you k【转载请注明来源】本文版权归作者所有,未经授权不得转载。now, but in a Web Wo原创内容,盗版必究。【转载请注明来源】rker. (github.com) 未经授权,禁止复制转载。未经授权,禁止复制转载。原创内容,盗版必究。未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】
前一个项目比较老了,感觉正好符合我的想法【本文首发于唐霜的博客】【原创内容,转载请注明出处】。后一个项目受最近 server com【版权所有,侵权必究】【版权所有,侵权必究】ponents 的启发才出来,也是非常有【未经授权禁止转载】【作者:唐霜】意思。
【版权所有,侵权必究】本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。在深入想想。既然我们可以把计算过程放到 未经授权,禁止复制转载。【本文受版权保护】worker 中,也可以放到 wasm 未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。中去。我们可以用 rust 重写 vir【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】tual dom 的实现,并像上面 wo【作者:唐霜】本文作者:唐霜,转载请注明出处。rker 中的处理方式,放到 wasm 原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net中,通过接口传递数据,完成计算后再回调方【关注微信公众号:wwwtangshuangnet】【转载请注明来源】法,最终实现这个效果。
未经授权,禁止复制转载。【作者:唐霜】本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。而以上这套思路,还有点像小程序的思路,但【关注微信公众号:wwwtangshuangnet】【版权所有】唐霜 www.tangshuang.net最终还是不大相同。
【版权所有】唐霜 www.tangshuang.net【本文受版权保护】【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。
