前端框架
不会前端开发的后端不是一个好的后端开发 , 平时写点小项目可以用得上 , 先简单了解一下前端这个概念 。
前端: HTML(超文本标记语言) , CSS(层叠样式表)和JavaScript(脚本语言) 。
HTML , 通常说的H5 , 其实按标准来说 , HTML4的后续版本不带编号了 , 并保证向前的兼容性 。
CSS的版本3 , 增加了translate() , 能完成以前一定需要js才能做到的动画 , 同时增加了flex弹性盒子(响应式设计 , 提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间 , 以往使用float) 。
jQuery
jQuery是一个快速、简洁的JavaScript框架 , 是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架) 。
jQuery设计的宗旨是“write Less , Do More” , 即倡导写更少的代码 , 做更多的事情 。
敲黑板:简单来说就是封装了一部分的函数 , 简化了原生js的写法 , 在实际使用时 , jQuery对DOM树进行操控 , 即:首先有一个写好的html页面 , 再对其修改操作 , 如写按钮事件函数 , 点击隐藏 , 切换 , 页面跳转等 。
jQuery库包含以下功能:
HTML元素选取HTML元素操作CSS操作HTML事件函数JavaScript特效和动画HTML DOM遍历和修改AJAXUtilities
除此之外 , jQuery还提供了大量的插件 。它兼容各种主流浏览器 , 如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等 。
这个曾经也是现在依然最流行的web前端js库 , 可是现在无论是国内还是国外他的使用率正在渐渐被其他的js库所代替 , 随着浏览器厂商对HTML5规范统一遵循以及ECMA6在浏览器端的实现 , jQuery的使用率将会越来越低 。
敲黑板(思考):为什么说jQuery的使用率越来越低?
Vue
Vue (读音 /vju?/ , 类似于 view) 是一套用于构建用户界面的渐进式框架 。
与其它大型框架不同的是 , 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)-》数据(model)变更的双向绑定效果 。
敲黑板:可以说操作DOM的事儿 , 就留给框架去做了 。这比传统jQuery开发效率高 , 代码可维护性高 , 可扩展性强、性能好 。
jQuery操作思想
jQuery是使用选择器($)选取DOM对象 , 对其进行赋值、取值、事件绑定等操作 , 其实和原生的HTML的区别只在于可以更方便的选取和操作DOM对象 , 而数据和界面是在一起的 。比如需要获取label标签的内容:$(“lable”).val(); , 它还是依赖DOM元素的值 。
【jq怎么跳转页面 jquery 跳转】Vue操作思想
Vue基于一种MVVM模式 , 使用数据驱动的方式 , 通过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或是模板渲染也好 , 都是服务端渲染 , 就是客户端一个请求 , 服务器直接把整个页面返回给你 , 简单粗暴 。(Spring Boot是通过模板引擎 , 由服务端完成的渲染工作)
但是vue开发是前后端分离开发 , 通过api进行交互 , 客户端请求服务器返回json数据 , 由客户端进行渲染 。
不仅减轻了服务器的压力速度更快而且渲染更加优雅 , 代码更容易维护 。
改变三:渲染优雅 , 代码易维护
jQuery是通过DOM来控制数据 , 不仅笨重而且渲染数据特别麻烦 , 而 Vue是通过数据来控制状态 , 通过控制数据来控制渲染 , 变量可以直接写在标签中 , 渲染更加优雅 。
因为前端代码和后台代码都是分开的 , 所以项目更容易维护 , 开发效率更高 。
改变四:项目工程化 , 结合npm直接安装第三方库
Vue让前端项目更加工程化 , 同时也规范了前端工程师的代码 , 而node和npm的加入才是vue能蓬勃发展的重要原因 。
Node为Vue提供了本地server和模块化开发的思路 , npm更能安装Vue项目需要的模块 , 配合Vue使用 , 比如Moment.js Element ui vuex等等 , 这些第三方库让Vue有了无限的可能 。
敲黑板(补充下):传统开发jQuery是命令式编程 , 现代框架开发是函数式编程 。现代框架开发 , 可以使用Webpack(当然使用jQuery也可以使用Webpack) , 可以使用人家提供的现成的脚手架 , 比方说create-react-app , vue-cli 。极大提高了开发的效率 , 并且可以使用最新的ES6、ES7语法进行开发 , 在编码体验上 , 就提高了一个档次 。
总结
知其然 , 知其所以然 , 没有最好的框架 , 只有最合适的框架!
- 台式机键盘没有反应灯不亮 台式机键盘没有反应怎么办
- iphonex强制开机怎么开机 iphone x如何强制开机
- 华为笔记本电脑 华为的笔记本电脑怎么样好不好
- 怎么找到office安装包在什么地方 怎么在电脑里面找到office安装包
- iso文件怎么安装 怎么使用iso文件装系统
- 电脑键盘怎么打下划线 手机键盘怎么打下划线
- LRc文件是什么意思 lrc格式怎么弄
- 支付宝怎么设置密码:打开支付宝需要密码如何设置?
- qq怎么查看特别关心我的人,QQ怎么查看谁设置了对我特别关心?
- 吵架后说这3句话 吵架冷静后怎么开口说话