当前位置:首页 > 科技  > 软件

尤雨溪:这个前端经典轮子值得去造!

来源: 责编: 时间:2024-05-30 09:11:38 321观看
导读在知乎上有一个问题:“前端开发中有什么经典的轮子值得自己去实现一遍?”。问题下有很多前端界大佬的回答。其中,尤大的回答中很简单:Virtual-DOM。本文就来看看 Virtual-DOM 是什么,并分享一些可参考的实现案例。Virtual

x6w28资讯网——每日最新资讯28at.com

在知乎上有一个问题:“前端开发中有什么经典的轮子值得自己去实现一遍?”。问题下有很多前端界大佬的回答。其中,尤大的回答中很简单:Virtual-DOM。本文就来看看 Virtual-DOM 是什么,并分享一些可参考的实现案例。x6w28资讯网——每日最新资讯28at.com

x6w28资讯网——每日最新资讯28at.com

Virtual-DOM 是什么?

Virtual-DOM 即虚拟 DOM,它是对真实 DOM 的一个内存中的抽象表示。在前端开发中,当需要更新页面时,传统的直接操作 DOM 的方式可能会非常低效,因为 DOM 操作本身就很昂贵。虚拟 DOM 的引入允许在一个轻量级的 JavaScript 对象(即虚拟 DOM)上进行更改,然后通过一种高效的比较算法(如 React 的 Diff 算法)来确定哪些更改需要实际应用到真实的 DOM 上。这样可以大大减少不必要的 DOM 操作,从而显著提高页面渲染性能。x6w28资讯网——每日最新资讯28at.com

目前,很多主流前端框架都使用了虚拟 DOM 技术,比如:React、Vue、Preact。x6w28资讯网——每日最新资讯28at.com

Virtual-DOM 案例

Million.js

Million.js 是一个完整的并且经过微调和优化的虚拟 DOM 库,减少了 Diff 的开销,其宣称可以使 React 的组件渲染速度提高 70%。这个项目在 Github 上已获得 15.5看 Star,值的学习。x6w28资讯网——每日最新资讯28at.com

x6w28资讯网——每日最新资讯28at.com

Github:https://github.com/aidenybai/million。x6w28资讯网——每日最新资讯28at.com

Snabbdom

Snabbdom 是一个轻量级且高效的虚拟 DOM 库,它允许开发者以函数的形式来表达程序视图,同时提供了灵活且可拓展的模块化结构。Snabbdom 的核心代码非常简洁,大约只有200行,理解起来比较简单。x6w28资讯网——每日最新资讯28at.com

x6w28资讯网——每日最新资讯28at.com

Github:https://github.com/snabbdom/snabbdom。x6w28资讯网——每日最新资讯28at.com

virtual-dom

这是虚拟 DOM 的一个很经典的实现,在 Github 上拥有 11.6k Star。x6w28资讯网——每日最新资讯28at.com

x6w28资讯网——每日最新资讯28at.com

Github:https://github.com/Matt-Esch/virtual-dom。x6w28资讯网——每日最新资讯28at.com

blockdom

blockdom 自称是世界上最快的虚拟 DOM 库,它通过独特的按块而非按元素进行差异计算的方法,显著提升了渲染速度。这种设计使得 blockdom 能够高效直接复制整块内容,从而极大地简化了 diff 过程,并因虚拟 DOM 树的大幅精简而进一步提升了性能。x6w28资讯网——每日最新资讯28at.com

x6w28资讯网——每日最新资讯28at.com

Github:https://github.com/ged-odoo/blockdom。x6w28资讯网——每日最新资讯28at.com

Maquette

Maquette 是一个纯粹而简单的虚拟 DOM 库。x6w28资讯网——每日最新资讯28at.com

x6w28资讯网——每日最新资讯28at.com

Github:https://github.com/AFASSoftware/maquette。x6w28资讯网——每日最新资讯28at.com

其他

  • simple-virtual-dom:
  • 简介:简单的虚拟 dom 算法,代码只有 500 行,包括虚拟 DOM 算法非常基本的思想。
  • Github:https://github.com/livoras/simple-virtual-dom。
  • petit-dom:
  • 简介:一个极简的虚拟 DOM 库。x6w28资讯网——每日最新资讯28at.com

  • Github:https://github.com/yelouafi/petit-dom。x6w28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-91686-0.html尤雨溪:这个前端经典轮子值得去造!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: C#开源实用的工具类库,集成超过1000多种扩展方法

下一篇: 开放创新,生态共赢|第四届网络开源技术生态大会盛大召开!

标签:
  • 热门焦点
  • 官方承诺:K60至尊版将会首批升级MIUI 15

    全新的MIUI 15今天也有了消息,在官宣了K60至尊版将会搭载天玑9200+处理器和独显芯片X7的同时,Redmi给出了官方承诺,K60至尊重大更新首批升级,会首批推送MIUI 15。也就是说虽然
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • 摸鱼心法第一章——和配置文件说拜拜

    为了能摸鱼我们团队做了容器化,但是带来的问题是服务配置文件很麻烦,然后大家在群里进行了“亲切友好”的沟通图片图片图片图片对比就对比,简单对比下独立配置中心和k8s作为配
  • 一年经验在二线城市面试后端的经验分享

    忠告这篇文章只适合2年内工作经验、甚至没有工作经验的朋友阅读。如果你是2年以上工作经验,请果断划走,对你没啥帮助~主人公这篇文章内容来自 「升职加薪」星球星友 的投稿,坐
  • 一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
  • Counterpoint :OPPO双旗舰战略全面落地 高端产品销量增长22%

    2023年6月30日,全球行业分析机构Counterpoint Research发布的《中国智能手机高端市场白皮书》显示,中国智能手机品牌正在寻求高质量发展,中国高端智能
Top