从Vue.js窥探前端行业
近年来前端开发趋势
1.旧浏览器逐渐淘汰,移动端需求增加:
旧浏览器主要指的是IE6-IE8,它是不支持ES5特性的;IE9+、chrome、sarafi、firefox对ES5是完全支持的,移动端大部分浏览器是基于webkit内核,所以ES5在移动端也是全面支持的,因此vue可以在移动端以及现代浏览器中大显身手。
2.前端交互越来越多,功能越来越复杂:
现在的前端可谓是包罗万象,比如高大上的技术库和框架、酷炫的运营活动页面、H5小游戏,当然前端技术的应用在更多具有商业价值的应用上,比如下图。
3.架构从传统后台MVC向REST API+ 前端 MV*(MVC、MVP、MVVM) 迁移
在传统的MVC下,当前前端和后端发生数据交互后会刷新整个页面,从而导致比较差的用户体验。因此我们通过Ajax的方式和后端REST API作通讯,异步的刷新页面的某个区块,来优化和提升体验,同时把MVC拿到前端来做
MVVM框架
1.MVVM框架基本概念:它主要包括各部分View、ViewModel、Model,如下图。在MVVM架构下,视图和数据是不能直接通讯的,它会通过ViewModel这个中间件来通讯。ViewModel起的是一个观察者的职位:当数据变化,ViewModel观察到变化,并通知视图做相应的更新;而用户操作视图,ViewModel也能监听到变化,然后通知数据做改动,从而实现了数据的双向绑定。
2.MVVM框架的应用场景
MVVM框架针对具有复杂交互逻辑的前端应用,它提供了基础的架构抽象,并且通过Ajax数据持久化,保证前端用户体验。
所以MVVM框架的好处显而易见:当前端对数据进行操作的时候,可以通过Ajax请求对数据持久化,而不必刷新整个页面,只需改变dom里需要改变的那部分数据内容。特别是在移动端,刷新页面的代价太昂贵。虽然有些资源会被缓存,但是页面的dom、css、js都会被浏览器重新解析一遍,因此移动端页面通常会被做成SPA单页应用。由此在这基础上诞生了很多MVVM框架,比如Angular.js、react.js、vue.js。
Vuejs以及其生态
vue.js是由国内的大牛尤雨溪为主要开发的,它起初是个人项目,在2014年初开源就受到广泛关注。起初尤大神把它定位是一个视图库而非框架,但随着vue-router,vue-resource等第三方库的发展,Vuejs逐渐成长为一个框架。
1.它是一个轻量级MVVM框架(只有20来kb)
2.核心思想
①数据驱动:数据(model)改变驱动视图(view)自动更新,DOM是数据的一种自然映射
②组件化:扩展HTML元素,封装可重用的代码
4.github超过35K+的star数,社区完善
Vue vs Angular React
Vue官网已对各个主流框架进行了比较详细的对比分析(中文版地址),下面进行简单地总结下;
Vue.js更轻量,gzip后大小只有20k+。Angular有56K,React有44K。
Vue.js相对来说学习曲线比较平稳。
Vue.js吸取了两家之长,借鉴了Angular的指令和react的组件化。
从Vue.js窥探前端行业的更多相关文章
- 公司内部技术分享之Vue.js和前端工程化
今天主要的核心话题是Vue.js和前端工程化.我将结合我这两年多的工作学习经历来谈谈这个,主要侧重点是前端工程化,Vue.js侧重点相对前端工程化,比重不是特别大. Vue.js Vue.js和Rea ...
- 使用webpack+vue.js构建前端工程化
参考文章:https://blog.csdn.net/qq_40208605/article/details/80661572 使用webpack+vue.js构建前端工程化本篇主要介绍三块知识点: ...
- Vue.js到前端工程化
b站视频地址:黑马程序员Vue.js到前端工程化(webpack打包,以及Vue-cli3和Element-UI的使用) vue学习系列 1.vue概述 2.vue基本使用 3.vue模板语法 4.指 ...
- Vue.js高效前端开发知识 • 【目录】
持续更新中- 章节 内容 实践练习 Vue.js高效前端开发 • (实践练习) 第1章 Vue.js高效前端开发 • [ 一.初识Vue.js ] 第2章 Vue.js高效前端开发 • [ 二.Vue ...
- Vue.js高效前端开发 • 【Vue基本指令】
全部章节 >>>> 文章目录 一.Vue模板语法 1.插值 2.表达式 3.指令概述 4.实践练习 二.Vue绑定类样式和内联样式 1.Vue绑定类样式 2.Vue绑定内联样式 ...
- Vue.js中前端知识点总结笔记
1.框架和库的区别: 框架:framework 有着自己的语法特点.都有对应的各个模块库 library 专注于一点 框架的好处: 1.提到代码的质量,开发速度 2.提高代码的复用率 3.降低模块之间 ...
- Vue.js高效前端开发 • 【初识Vue.js】
全部章节 >>>> 文章目录 一.Vue概述 1.Web前端框架介绍 2.MVC和MVVM 3.Vue介绍 4.安装Vue 二.Vue使用 1.第一个Vue应用 2.Vue的双 ...
- 结合Vue.js的前端压缩图片方案
这是一个很简单的方案.嗯,是真的. 为什么要这么做? 在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克: 低网速下上传进度缓慢,用户体 ...
- 连接Vue.js作为前端,Fastapi作为后端
项目结构 ├── main.py └── templates └── home.html 环境安装 pip install fastapi[all] pip install jinja2 Backen ...
随机推荐
- UWP中新加的数据绑定方式x:Bind分析总结
UWP中新加的数据绑定方式x:Bind分析总结 0x00 UWP中的x:Bind 由之前有过WPF开发经验,所以在学习UWP的时候直接省略了XAML.数据绑定等几个看着十分眼熟的主题.学习过程中倒是也 ...
- 深入理解DIP、IoC、DI以及IoC容器
摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...
- ASP.NET MVC开发日常一:SessionID合理清除
在MVC Web开发中临时存储数据一般会用到Session,Cookie,ViewBag,ViewData,TempData.每个的使用场景是不同,具体区别有空再补上. Session数据最敏感,最需 ...
- spring注解源码分析--how does autowired works?
1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能.我们可能会被问到,spring的注解到底是什么触发的呢?今天以spring最常使用的一个注解autowired来跟踪代码,进行d ...
- 简记某WebGIS项目的优化之路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 该项目为研究生时的老师牵头,个人已毕业数年,应老师要求协助其 ...
- C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsole(1)
一看这个标题,是不去取名有点绕呢?或者是,还有些问题?报告LZ...你的标题取得有问题,是个病句!↖(^ω^)↗!!!先不要急,其实我今天带给大家的就是CoreCLR中的coreclr.其中它是在名字 ...
- [原] KVM 虚拟化原理探究 —— 目录
KVM 虚拟化原理探究 -- 目录 标签(空格分隔): KVM KVM 虚拟化原理探究(1)- overview KVM 虚拟化原理探究(2)- QEMU启动过程 KVM 虚拟化原理探究(3)- CP ...
- Android Weekly Notes Issue #236
Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...
- Android 扫描条形码(Zxing插件)
使用Android Studio 一.在build.gradle(Module:app)添加代码 下载,调用插件 1 apply plugin: 'com.android.application' ...
- [Hadoop in Action] 第7章 细则手册
向任务传递定制参数 获取任务待定的信息 生成多个输出 与关系数据库交互 让输出做全局排序 1.向任务传递作业定制的参数 在编写Mapper和Reducer时,通常会想让一些地方可以配 ...