vue学习之路 - 0.背景
1 单页面应用程序
- Single Page Application (SPA)
- 从字面意义来看就是一个网站就一个页面,如:
- coding
- 网易云音乐
- 极致的用户体验,就像nativeapp一样
- 优点:
- 具有桌面应用的即时性、网站的可移植性和可访问性。
- 用户体验好、快,内容的改变不需要重新加载整个页面,web应用更具响应性和更令人着迷。
- 基于上面一点,SPA相对对服务器压力小。
- 良好的前后端分离。SPA和RESTful架构一起使用,后端不再负责模板渲染、输出页面工作,web前端和各种移动终端地位对等,后端API通用化。
- 对前端人员javascript技能要求更高,促使团队技能提升。
- 缺点:
- 分功能模块的鉴权不好实现。
- 不利于SEO。所以不适用于购物网站
- 前进、后退、地址栏等,需要程序进行管理;
- 书签,需要程序来提供支持;
- 简单的应用原理:
- hash
- window.onhashchange事件
- 当hash改变的时候,根据不同的hash做不同处理
2 MVVM模式
MVVM是Model-View-ViewModel的简写。 一种架构模式,开发思想。这种模式最大的好处在于解耦,数据和视图不再是强耦合在一起。它本质上就是MVC 的改进版。
M - Model 业务数据模型
V - View 视图
VM - ViewModel 视图数据模型(负责V和M交互)
核心思想:数据驱动视图(VM)
优点:
1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xml代码。
4. 可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。
3 主流的前端Java Script框架
- Angular
- 09年诞生
- 原来是个人开发的,后来被谷歌收购了
- React
- 诞生于facebook公司内部
- facebook不满足于市场上所有js框架,所以自己搞了一个。
- vue.js
- 尤雨溪(中国江苏无锡人)----创造
- 12年左右诞生
- 文档都中文的,对英文要求不高,非常友好
目前在国内公司中,BAT级别的企业:React > Angular > vue,不大使用国内产品。在中小型公司,vue.js更多一些
4 Vue.js介绍
是什么?
- 前端Java Script框架
为什么要用它?
- 它能帮助提升网站应用程序开发效率
一般什么情况会使用?
- 一般需要开发SPA应用程序的时候取用
- 但是vue是渐进式的,可以融入到不同的项目中
- 既可以和传统的网站开发架构融合在一起,例如:可以简单的把它当作一个类似JQuery的库来使用。
- 也可以使用它开发大型的SPA单页面应用程序。
发展历史
- 作者:尤雨溪(微博:尤小右),设计出身。
- 知乎
- 新浪微博
- 作者尤雨溪最初在2013年12月8号在GitHub上发布0.6版
- 2015年10月正式发布了1.0版本
- vue在1.0版本发布后才开始崭露头角
- 2016年10月份正式发布了2.0版
- 1.0老的项目可能还在用,新项目绝对选择2.0
心态:国内的产品不一定就是不好,框架只是个工具,不应该懂了或者精通就有自我优越感。不要看不起国产,也不要执着于一个框架。
相关资料:
中文官网:https://cn.vuejs.org/
GitHub: https://github.com/vuejs/vue
官方教程:https://cn.vuejs.org/v2/guide/
API参考文档:https://cn.vuejs.org/v2/api/
建议:学习前端框架,多参考文档,不建议买书,
- 版本更新较块,不适合看书。
- 很多书都是直接抄的官方文档
- 也说明,官方文档写的非常好。
vue学习之路 - 0.背景的更多相关文章
- vue学习之路 - 4.基本操作(下)
vue学习之路 - 4.基本操作(下) 简述:本章节主要介绍 vue 的一些其他常用指令. Vue 指令 这里将 vue 的指令分为系统内部指令(vue 自带指令)和用户自定义指令两种. 系统内部指令 ...
- Vue学习之路之登录注册实例代码
Vue学习之路之登录注册实例代码:https://www.jb51.net/article/118003.htm vue项目中路由验证和相应拦截的使用:https://blog.csdn.net/wa ...
- Vue学习之路---No.4(分享心得,欢迎批评指正)
这里说声抱歉,周末因为有其他事,没有更新博客,那么我们今天继续上周5的说. 老规矩,先回顾一下上一次的重点: 1.利用V-if和v-else来提到show()和hide(),同时要记住,v-else一 ...
- Vue学习之路第一篇(学习准备)
1.开发工具的选择 这个和个人的开发习惯有关,并不做强求,厉害的话用记事本也可以.但是我还是建议用人气比较高的编辑工具,毕竟功能比较全面,开发起来效率比较高. 我之前写前端一直用的是sublimete ...
- Python3学习之路~0 目录
目录 Python3学习之路~2.1 列表.元组操作 Python3学习之路~2.2 简单的购物车程序 Python3学习之路~2.3 字符串操作 Python3学习之路~2.4 字典操作 Pytho ...
- 后端开发者的Vue学习之路(一)
目录 前言: iview组件库示例 element组件库示例 Vue的介绍 兼容性: 学习Vue需要的前置知识: MVVM模型 补充: 安装/导入 导入Vue 安装 两种方式的区别: HelloWor ...
- Vue学习之路---No.2(分享心得,欢迎批评指正)
昨天我们大致了解了有关Vue的基础知识和语法:今天我们继续在大V这条路上前进. 首先,我们回忆一下昨天提到的相关知识点: 1.了解Vue的核心理念------"数据驱动视图" 2. ...
- Vue学习之路---No.7(分享心得,欢迎批评指正)
老规矩,先回顾一下上回的重点: 1.对于input框,若为单选框,如果没有对其设置value,那么其checked的值将在true Or false之间切换:如果设置了value,那么将会切换valu ...
- Vue学习之路---No.3(分享心得,欢迎批评指正)
同样的,我们先来回顾一下昨天学习的内容: 1.利用v-once来组织双向绑定 2.filter{}过滤器的使用(详情请看上一章) 3.computed(计算属性),利用computed属性实现filt ...
随机推荐
- tcp的半连接与完全连接队列(三)源码分析
TCP 协议中的 SYN queue 和 accept queue 处理 若要理解本文意图说明的问题,可能需要以下知识背景: listen 系统调用的 backlog 参数含义,以及与 net.cor ...
- 连接虚机中的mysql服务
1:修改mysql库中的user表的root用户的host值为% 2:授权:在mysql命令中执行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFI ...
- pat06-图6. 公路村村通(30)
06-图6. 公路村村通(30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的 ...
- 虚拟机复制操作CentOS6导致eth0转为eth0以至于网络服务启动失败的解决方案
CentOS6复制到虚拟机中eth0转为了eth1 原因: CentOS6硬盘上的信息保存着操作系统的信息, 将该硬盘上的信息拷贝到另一开新的硬盘上时, 硬件的环境就会一定会发生变化, 就那网卡来首, ...
- [转].Net Core上用于代替System.Drawing的类库
本文转自:http://www.tuicool.com/wx/iuaINjy 目前.Net Core上没有System.Drawing这个类库,想要在.Net Core上处理图片得另辟蹊径. 微软给出 ...
- Hosted Services+Quartz实现定时任务调度
背景 之前.net core使用quartz.net时,总感觉非常变扭,百度和谷歌了N久都没解决以下问题,造成代码丑陋,非常不优雅: 1.项目启动时,要立刻恢复执行quartz.net中的任务 2.q ...
- csdn下载
按次收费: http://www.itziy.com/
- 修改model,映射到表中
1. 当使用EF code first创建数据表后,数据库中会自动创建一个名为:dbo.__MigrationHistory的系统数据表, 如果尚未启用数据库迁移功能,那么每次在应用程序运行时,都会对 ...
- C#图表控件ZedGraph使用
最近从java转到C#下开发PC端的桌面程序,之前也尝试用java GUI写桌面程序,发现java写桌面程序还是诸多不便变,虽然最后也写出来了,但是决心还是另起平台,有了一定的java基础,来学习C# ...
- python面试题——前端(23题)
2.谈谈你对websocket协议的认识. 3.什么是magic string ? 4.如何创建响应式布局? 5.你曾经使用过哪些前端框架? 6.什么是ajax请求?并使用jQuery和XMLHttp ...