优点:
1:数据驱动视图,对真实的dom进行抽象出 virtual dom (本质就是一个JS对象),并配合diff算法、响应式和观察者、异步队列等手段以最小的代价更新dom,渲染页面
2:组件化,组件用单文件的形式进行代码的组织编写,使得我们可以在一个文件里编写html \ css (scoped属性配置 css 隔离) \ js 并且配合Vue- loader之后,支持更强大的预处理器等功能
3:强大且丰富的API提供一系列的api能满足业务开发中各类需求
4:由于采用虚拟dom,让Vue ssr先天就足
5:生命周期钩子函数,选项式的代码组织方式,写熟了还是蛮顺畅的,但仍然有优化空间(Vue3 composition-api)
6:生态好,社区活跃
缺点:
1:由于底层基于Object.defineProperty 实现响应式,而这个api本身不支持IE8及以下浏览器
2:csr的先天不足,首屏性能问题(白屏)
3:由于百度等搜索引擎爬虫无法爬去js中的内容,故spa先天就对seo优化心有余而力不足(谷歌的puppeteer就挺牛逼,实现预渲染底层也是用到这个工具)