Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。核心是一个响应的数据绑定系统。
vue两大特点:
响应式编程:响应式编程是一套最核心的理念,整个系统根据数据对象对页面进行反向渲染,让站点避免结构混乱的问题
组件化:组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用 is特性进行了扩展的原生 HTML 元素。
Vue的渐进式框架:
渐进式框架就是把框架分层最核心的部分是视图渲染 然后是组件机制 路由机制 管理状态 单元测试等。除了核心部分 其他部分可以按自己需求添加。
VUE的MVVM模式:
在前端最底层最基础的结构式:页面结构html 、样式css 、行为js 。可以把页面划分成视图(html,css)和逻辑层(js)
Vue将视图层抽象为一个模板template 作为vue实例的template属性值 模板中通过directice来建立视图层view和viewModwl的联系。
vue的优势:轻量级框架、简单易学、双向数据绑定、组件化、视图、数据和结构的分离、虚拟DOM、运行速度快。vue是单页面应用,使页面局部刷新,不用每次跳转页面都要请求所有数据和dom,这样大大加快了访问速度和提升用户体验。而且他的第三方ui库很多节省开发时间。
vue与其他两大框架react、angular的优缺点。
VUE:
[if !supportLists]1. [endif]便于扩展的插件系统。
[if !supportLists]2. [endif]拥有在使用服务端渲染时的库(Nuxt.js)。
[if !supportLists]3. [endif]支持范围样式。
[if !supportLists]4. [endif]有一个CLI工具,允许你通过先进的前端工作流设置,快速构建单页应用。
[if !supportLists]5. [endif]被加入Laravel5.4的新特性中,用来处理前端模板
[if !supportLists]6. [endif]易于学习和理解,能快速开发应用
[if !supportLists]7. [endif]与Laravel集成,所以具有 Vue 知识的开发人员对使用 Laravel 开发应用的后端团队有所补充
[if !supportLists]8. [endif]拥有非常方便的CLI工具,可以快速启动
[if !supportLists]9. [endif]有很多额外的模块,如路由器和状态管理工具;虽然不如其他框架那么多
[if !supportLists]10. [endif]降低前端应用成本,乃至全功能web应用的成本(在使用 Laravel 和 Vue.js 的组合时)
[if !supportLists]11. [endif]在保证稳定性的同时,是一个快速可靠的解决方案
[if !supportLists]12. [endif]较小的模块很适用,如日历,联繫人表单或小部件
React:
[if !supportLists]13. [endif]框架只负责「View」层,这意味着其它业务逻辑是完全解耦的,并且能以任何方式来实现。
[if !supportLists]14. [endif]与框架相关的Redux是一个非常棒的类 Flux 架构的实现。
[if !supportLists]15. [endif]模板方面,框架可以使用JSX语法,这个语法在刚上手时可能会有一点点难度。
[if !supportLists]16. [endif]开发者掌握React.js的知识后,可以直接用于基于 React Native 的移动客户端开发。
[if !supportLists]17. [endif]庞大且活跃的社区
[if !supportLists]18. [endif]JSX这种新的 JavaScript 语法,也是一个不错的优点
[if !supportLists]19. [endif]相关的开发工具也很不错
[if !supportLists]20. [endif]强制使用最新的最佳实践
[if !supportLists]21. [endif]大量的开发者熟悉这个框架
[if !supportLists]22. [endif]React Native使得 Web 应用的逻辑可以復用于移动客户端
[if !supportLists]23. [endif]有足够多的使用和测试场景来保证框架本身几乎没有bug和错误
[if !supportLists]24. [endif]它提供了现代功能,您可以轻松地找到资源。
局限性:
▪ 并非一个大而全的框架
• 它不允许在项目生成时进行任何配置,而Vue 支持 Yeoman-like定制。
• 它只提供一个构建单页面应用的单一模板,而Vue 提供了各种用途的模板。
• 它不能用用户自建的模板构建项目,而自建模板对企业环境下预先建立协议是特别有用的。
Angular:
特性:▪ 由TypeScript 编写,允许开发人员使用 TypeScript,Dart 或纯粹的 ECMAScript。
▪ 组件的模式利用了TS 类和装饰器。
▪ 陡峭的学习曲线
▪ 开发过程很快。
▪ 高级的的测试特性。
直接上干货eScript就开心了
▪ 强制规定编写代码的方式,使得它成为与多个开发人员合作的好选择
▪ 使用同一个库开发移动和桌面应用
▪ 对于具有很多代码的单页应用是个不错的解决方案
▪ 使用该框架构建企业应用可能会降低成本
▪ 大量开发人员已经知道如何使用框架
▪ 提供了非常丰富且清晰的错误消息,实际上可以帮助开发人员解决问题。
由于在国内开始流行vue框架,并且vue是中国大神尤雨溪开发的,在中国更加受到推崇。