vue3.0和vue2.x的区别

由于上家公司的不作为,超哥现在处于离职状态,最近闲来无事,特带大家一起来研读vue3.0。

众所周知vue3.0的源码于10.5日已经公布,最近也是在看,总结一句话,编码没变,性能提升。

老规矩,话不多说,直接步入正题。

vue3.0相比之前的版本,更快、更小、更易于维护(主要针对vue团队)、更好的多端渲染支持,然后还加入了一些新的功能。

1.更快

首先来说说vue的渲染功能,总所周知,大家都知道vue2.x使用的Virtual Dom实现的渲染,相比2.x,3.0的版本对此也是进行的重构。超哥有测试,性能几乎可以翻倍,甚至都达到了倍数之多。

在这里需要注意一下,不论是原生的html标签还是vue组件,他们都会通过h函数来判断,如果是原生html标签,在运行时直接通过Virtual Dom来直接渲染,同样如果是组件会直接生成组件代码,这里有个别名叫Component Fast path,在这里需要强调的是,这次的改动,函数里的值无论有用还是无用,都会附加,这样做的好处我想是更容易被JS引擎进行优化,

2.数据监听

vue2.x大家都知道使用的是es5的object.defineproperties中getter和setter实现的,而vue3.0的版本,是基于Proxy进行监听的,其实基于proxy监听就是所谓的lazy by default,什么意思呢,就是只要你用到了才会监听,可以理解为‘按需监听’,官方给出的诠释是:速度加倍,同时内存占用还减半。

3.更小

vue2.x中new出的实力对象,所有的东西都在这个vue对象上,这样其实无论你用到还是没用到,都会跑一变。而vue3.0中可以用ES module imports按需引入,如:keep-alive内置组件、v-model指令,等等。

4.更好的多端渲染支持。

例如国内的weex,国外的native vue。在vue3.0中新增了custom Render Api,只需要import {curateRender} from '@vue/runtime-core'

5.响应式数据的API

这个没什么好多说的,其实...在超哥看来,没啥卵用.

直接上用法

import{observable.effect} from 'vue';

直接引入就可以用了,

6.IE的支持。

在vue2.0中不兼容ie9以下,其实IE这个东西怎么说呢,微软以及废弃IE9和10了,近几年超哥也不怎么见兼容IE浏览器的需求了,几乎不见,除非你在一些政府部门工作,或者给政府相关部门写程序,而vue3.0中有IE的一个专门的版本,现在好像还没出,超哥也没见,之前听犹大说的,就是如果你用这个版本,例如某些组件,某些指令ie不支持了,会直接给你抛错,不过更好的要兼容IE还是建议写原生。

好了,今天的分享就到这里,老样子,不喜勿喷,写个需要的人看,奥,对了,还有一点忘记说了,vue3.0是基于type script重构。

现在...有啥问题小伙伴们可以尽情的提问了,共同努力,共同进步。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值