2024年10月Vue.js(轻量级Javascript框架) V3.0 官方版

发布时间:

  ⑴Vue.js .加强了TypeScript的支持,加强API设计一致性,同时提高自身的可维护性,开房了更多底层功能,是目前非常热门的框架之一。Vue.js .的新特性、新优化、新功能,能够帮您大大提升工作效率。

  ⑵年末,作者还在Google Creative Lab工作。当时在项目中使用了一段时间的Angular,在感叹数据绑定带来生产力提升的同时,也感到Angular的API设计过于繁琐,使得学习曲线颇为陡峭。出于对Angular数据绑定原理的好奇,作者开始 “造轮子”,自己实现了一个非常粗糙的、基于依赖收集的数据绑定库。这就是Vue.js的前身。同时在实际开发中,作者发现用户界面完全可以用嵌套的组件树来描述,而一个组件恰恰可以对应MVVM中的ViewModel。于是作者决定将我的数据绑定实验改进成一个真正的开源项目,其核心思想便是 “数据驱动的组件系统”。

  ⑶、压缩包体积更小

  ⑷当前最小化并被压缩的 Vue 运行时大小约为 kB(.. 版为 .kB。Vue .捆绑包的大小大约会减少一半,即只有kB!

  ⑸、Object.defineProperty -》 Proxy

  ⑹Object.defineProperty是一个相对比较昂贵的操作,因为它直接操作对象的属性,颗粒度比较小。将它替换为es的Proxy,在目标对象之上架了一层拦截,代理的是对象而不是对象的属性。这样可以将原本对对象属性的操作变为对整个对象的操作,颗粒度变大。

  ⑺javascript引擎在解析的时候希望对象的结构越稳定越好,如果对象一直在变,可优化性降低,proxy不需要对原始对象做太多操作。

  ⑻、Virtual DOM 重构

  ⑼vdom的本质是一个抽象层,用javascript描述界面渲染成什么样子。react用jsx,没办法检测出可以优化的动态代码,所以做时间分片,vue中足够快的话可以不用时间分片。

  ⑽传统vdom的性能瓶颈:

  ⑾虽然 Vue 能够保证触发更新的组件最小化,但在单个组件内部依然需要遍历该组件的整个 vdom 树。

  ⑿传统 vdom 的性能跟模版大小正相关,跟动态节点的数量无关。在一些组件整个模版内只有少量动态节点的情况下,这些遍历都是性能的浪费。

  ⒀JSX 和手写的 render function 是完全动态的,过度的灵活性导致运行时可以用于优化的信息不足