前端框架不懂前端开发。后端不是很好的后端开发。它可以用于编写小型项目。首先简单了解一下前端的概念。前端:HTML(超文本标记语言)、CSS(级联样式表)和JavaScript(脚本语言)。HTML,俗称H5,其实按照前端的标准训练,HTML4的后续版本没有编号,向前兼容是有保证的。CSS3版本增加了translate(),可以完成以前必须在js中完成的动画,并增加了flex弹性框(响应式设计,提供了一种更有效的方式在容器中实现子元素)的排列、对齐和排列分配空白空间,传统上使用float)。jQueryjQuery是一个快速简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或称JavaScript框架)。jQuery的设计宗旨是“writeLess,DoMore”,提倡写更少的代码,做更多的事情。敲黑板:简单来说就是封装了一些功能,简化了原生js的编写。实际使用中,jQuery对DOM树进行操作,即:先有一个写好的html页面,然后对其进行修改,比如写按钮事件函数,点击隐藏,切换,页面跳转等。jQuery库包括以下函数:?HTML元素选择?HTML元素操作?CSS操作?HTML事件函数?JavaScript特效和动画?HTMLDOM遍历和修改?AJAX?实用程序此外,jQuery还提供了大量的插件。兼容各种主流浏览器,如IE6.0+、FF1.5+、Safari2.0+、Opera9.0+等。这曾经是,现在仍然是最流行的web前端js库,但现在使用率逐渐下降正在被国内外其他js库替代。随着浏览器厂商在浏览器端统一遵循HTML5规范和ECMA6实现,jQuery的使用率会越来越低。敲黑板(思考):为什么jQuery的使用率越来越低?VueVue(读作/vju?/,类似于视图)是一个用于构建用户界面的渐进式框架。与其他大型框架不同,Vue被设计为自下而上逐层应用,通过最简单的API实现响应式数据绑定和组合视图组件。Vue的核心库只专注于视图层,不仅易于使用,而且易于与第三方库或现有项目集成。Vue是一个正在崛起的前端js库,是一个精简的MVVM。从技术上讲,Vue.js专注于MVVM模型的ViewModel层。它通过双向数据绑定连接View层和Model层,通过对数据的操作完成页面视图的渲染。当然还有很多其他的MVVM框架如Angular和React也是类似的,本质上都是基于MVVM的概念。但是,Vue以其独特的优势,简单、快速、组合、紧凑、强大、迅速崛起。敲黑板:为什么说“可以通过对数据的操作来完成页面视图的渲染”?Vue.js是一个基于MVVM方法的框架,专注于MVVM模型的ViewModel层,通过双向数据绑定连接Model层和View层。Vue中双向数据绑定的原理是:利用数据劫持结合发布订阅者的方式,通过Object.defineProperty()劫持各个属性的setter和getter,当数据发生变化时向订阅者发布消息,触发相应的监听器回调。通俗地说,就是用observe来监控Model层的数据变化;使用Compile编译解析模板指令,最后使用Watcher搭建Observer与Compile之间的沟通桥梁,实现数据变化(model)-》视图更新(view);视图变化(view)->的双向绑定效果数据(模型)变化,敲黑板:可以说,DOM的操作交给了框架,这比传统的jQuery开发效率更高,代码可维护性高,扩展性强,性能好jQuery操作思想jQuery使用选择器($)选择DOM对象,并对其进行赋值、取值、事件绑定等操作。实际上,与原生HTML的区别在于DOM对象可以更方便的选择和操作,而数据一起与接口。比如需要获取label标签的内容:$("lable").val();,这还是依赖于DOM元素的值。Vue运行思路Vue是基于一个MVVM模式,使用数据驱动的应用程序proach,通过Vue对象将数据和View完全分离。不再需要引用相应的DOM对象来对数据进行操作。可以说数据和View是分离的,通过Vue对象的vm相互绑定。jQuery应用场景jquery侧重于样式操作,比如一些H5动画页面;需要js操作页面样式的页面。敲黑板:jQuery的编程思路是先写HTML和CSS页面展示再操作DOM树,而框架是先考虑页面的功能,再进行前端展示。编程思想正好相反。Vue应用场景Vue侧重于数据绑定,比如复杂数据操作的后台页面;表格填写页面。敲黑板:两者也可以并用。Vue侧重于数据绑定,jquery侧重于样式操作、动画效果等,将更高效的完成业务需求。Vue带来了哪些变化?我是一名后端开发人员。刚入门的时候,接触的是js,然后是jQuery。我觉得它更像是一把剪刀,简单而锋利。它通常配合一些框架来完成一些静态页面的开发工作。由于jQuery的诸多局限性,前端工程师的开发受到诸多限制。他们只能做一些表面的工作,无法实现前后端的分离开发。最近Vue的出现,给前端带来了无限的可能和变化。变化一:真正意义上的前端工程师习惯在前端开发静态页面,把页面交给后台程序员改成jsp、php、asp等...乱七八糟的乱改,一堆乱七八糟的变量,搞定后页面样式乱七八糟,最后你调整css。说白了就是会html和css就可以,基本没有门槛,可以这么说。有了Vue和Node的前端工程化,前端工程师可以做的事情越来越多。后端人员只需要抛出一个API,剩下的交给前端即可。变化二:服务器端渲染VS客户端渲染传统的jsp、php、模板渲染都是服务器端渲染,即客户端一个请求,服务器端直接返回整个页面给你,简单粗暴。(SpringBoot是服务端通过模板引擎完成渲染工作)但是Vue的开发是前后端分离开发,通过api交互,客户端请求服务端返回json数据,客户端渲染。不仅减轻了服务器的压力,渲染也更优雅,代码也更易于维护。变化三:渲染优雅,代码易维护。jQuery通过DOM控制数据,不仅繁琐而且渲染数据也很麻烦,而Vue通过数据控制状态,通过控制数据来控制渲染。变量可以直接写在标签中,渲染更优雅。因为前端代码和后端代码分离,项目更容易维护,开发效率更高。变化四:项目工程化,结合npm直接安装第三方库vue让前端工程更加工程化,也规范了前端工程师的代码,node和npm的加入是一个重要的vue蓬勃发展的原因。Node为Vue提供了本地服务器和模块化的开发思想。npm可以安装Vue项目需要的模块,配合Vue使用,比如Moment.jsElementuivuex等,这些第三方库让Vue有了无限可能。敲黑板(下补充):传统的jQuery开发是命令式编程,而现代框架开发是函数式编程。现代框架开发,可以使用Webpack(当然可以使用jQuery或者Webpack),也可以使用别人提供的现成脚手架,比如create-react-app,vue-cli。开发效率大幅提升,可使用最新的ES6、ES7语法进行开发,编码体验更上一层楼。总结知其所以然,没有最好的框架,只有最合适的框架!
