官方解释只有一句话:Vue是一套用于构建用户界面的渐进式JavaScript框架,有易用、灵活、高效的特点。
小白听了这句话肯定有点蒙圈,因为虽然只有一句话,但其实背后隐藏的信息量是巨大的,并不能完全理解官方高深莫测而又简洁的说明。
那么我作为过来人,有必要给大家来个庖丁解牛,细致的分析下Vue其中蕴含的道理吧!
我们先从构建用户界面说起
要操作界面Dom,原生JS和Jquery框架不得不提,那么两者与Vue相比较起来,有哪些优势呢?
我们先从选择Dom元素开始比较,JS是通过document对象方法,Jquery是使用选择器(
)
,
来
对
其
进
行
赋
值
、
取
值
、
事
件
绑
定
等
操
作
,
相
比
和
原
生
的
J
S
的
区
别
只
在
于
可
以
更
方
便
的
选
取
和
操
作
D
O
M
对
象
,
那
么
,
这
样
其
中
存
在
什
么
问
题
呢
?
我
们
知
道
数
据
和
界
面
是
在
一
起
的
。
比
如
需
要
获
取
l
a
b
e
l
标
签
的
内
容
:
),来对其进行赋值、取值、事件绑定等操作, 相比和原生的JS的区别只在于可以更方便的选取和操作DOM对象,那么,这样其中存在什么问题呢?我们知道数据和界面是在一起的。比如需要获取label标签的内容:
),来对其进行赋值、取值、事件绑定等操作,相比和原生的JS的区别只在于可以更方便的选取和操作DOM对象,那么,这样其中存在什么问题呢?我们知道数据和界面是在一起的。比如需要获取label标签的内容:(“lable”).val();,它还是依赖DOM元素的值。
Vue则是通过Vue对象将数据和界面完全分离开来了。对数据进行操作不再需要引用相应的DOM对象,可以说数据和界面是分离的,他们通过Vue对象的实例实现相互的绑定。这就是传说中的MVVM。
其次,我讲下渐进式与易用、灵活、高效方面的见解
在过去,前端把页面数据提交到后端来处理业务逻辑、控制路由、渲染页面、图像等文件的缓存预处理、返回数据,这加重了后端服务器的压力。
我们也清楚阿里云、腾讯云贵在了带宽资源。节省带宽显得尤为重要了。
那么后端为了高效处理这些问题,发明了很多后端框架,比如PHP中的ThinkPHP、YII等,下载一个框架很大几十兆甚至几百兆,不管你有没有用到,全都
包含进来,这样整个项目就显得非常臃肿,很笨重的感觉。导致用户体验也差,比如,有不同页面跳转有白屏,有进度条,等待时间长的问题。
Vue是怎么解决以上两大困难的呢?
Vue是目前最流行,使用人数最多的前端框架,能胜任几乎所有的应用开发,比如:App跨平台开发(安卓与苹果)、小程序跨平台开发(微信、支付宝、QQ、抖音、头条)、大型Web项目开发、老项目重构(JAVA/PHP)、PC桌面应用软件(如微信PC版);
首先,jquery到vue转变是一个思想的转变,是将jquery直接操作dom的思想转变到操作数据上去。
近两年前端技术变革速度太快,vue不论针对web项目开发,网站制作,还是app,小程序开发,都越来越流行,其便捷性及易用程度都让你不得不考虑去学习。
如果仅仅还是传统的各种cms开源代码建站仿站,显然你的技术已经跟不上了,如果你开发的项目数据交互较多,并且前后端分离明显,
那么vue将会使你未来技术长足成长的不二选择。
组件化: 其中以 React 的组件化最为彻底,甚至可以到函数级别的原子组件,高度的组件化可以是我们的工程易于维护、易于组合拓展。
天然分层: JQuery 时代的代码大部分情况下是面条代码,耦合严重,现代框架不管是 MVC、MVP还是MVVM 模式都能帮助我们进行分层,代码解耦更易于读写。
生态: 现在主流前端框架都自带生态,不管是数据流管理架构还是 UI 库都有成熟的解决方案。