Vue2.0总结——(学习笔记②)

来源:互联网 发布:linux arp攻击 编辑:程序博客网 时间:2024/06/05 19:56

一、为什么需要vue

1. 渐进式JavaScript框架{

(1)声明式渲染(declarative rendering);

(2)组件系统(component system);

}

2. 框架一套体系{

(1)web应用程序开发整个结构问题;

(2)并不是用来实现特定的功能,而是帮助开发者组织代码;

}

3. 开源:遵循MIT协议


二、vue能解决什么问题

1. 企业级的web Spa 解决方案 ( spa: single page application );

2. 应用场景:{

(1)企业管理系统(中等规模):Erp/oa/crm 

(2)webApp 开发;

(3)Hybrid app 开发;

}


三、vue特点

1、MVVM前端设计模式;

2、双向数据绑定;{

(1)特点:关注数据变化,而不操作Dom;提高软件的开发效率;

(2)实现方法:采用数据劫持结合发布者-订阅者模式,通过object.defineProperty() 来劫持各个属性的setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

}

3、虚拟dom(virtual node){

(1)基于内存的dom树;

(2)render    real dom node;

(3)算法的创新,react virtual dom:diff算法;

 (4)优点:{

跨平台开发(cross plat dev);

提升了dom操作速度;

}

}

4、基于组件化的开发模式 component;

5、基于插件式开发;

6、混合式语法形式mixins syntax sugar : ruby


四、其他类似框架

1、react:library(库),适合webAPP & hybridAPP,不适合后台;

2、angular2x:框架

3、angular1x:框架,MVVM,适合大规模form系统,不适合高并发项目开发;

4、avalongJs:框架,MVVM,baidu;

5、knockoutJs:框架,MVVM,老牌MVVM


五、MVVM设计模式

1、front end 前端设计模式:{

(1)view的变化问题;

(2)三看:{

a. 从psd看到layout;

b. 从layout看到后面的业务逻辑:抽象能力,页面建模{

①哪些是静态:属性(data)——数据

②哪些是动态:方法(methods)——业务处理流程

}

c.从页面的业务逻辑看到后台的数据流转;

}

(3)MVVM:{

a. view:视图层(HTML);

b. model:从api过来的数据源;

c. viewModel:{

①view的建模(自己抽象);

②内置watcher:监视数据变化;

③双向数据同步

}

}

}

2、软件开发的几个原则:{

高聚合,低耦合;

可测试,可维护,扩展性;

关注变化(封装)

}