Vue的核心的功能,是一个视图模板引擎,但这不是说Vue就不能成为一个框架。以下图所示,这里包含了Vue的全部部件,在声明式渲染(视图模板引擎)的基础上,咱们能够经过添加组件html
Vue的核心的功能,是一个视图模板引擎,但这不是说Vue就不能成为一个框架。以下图所示,这里包含了Vue的全部部件,在声明式渲染(视图模板引擎)的基础上,咱们能够经过添加组件系统、客户端路由、大规模状态管理来构建一个完整的框架。更重要的是,这些功能相互独立,你能够在核心功能的基础上任意选用其余的部件,不必定要所有整合在一块儿。能够看到,所说的“渐进式”,其实就是Vue的使用方式,同时也体现了Vue的设计的理念vue
而对于“渐进式”的解释,我在知乎上看到了一个不错的回答,这个答案也被Vue的设计者点了赞。这个回答的角度很好,主要从与React、Angular的比较来阐述的,因为本人没怎么用过另外这两个框架,也就不妄加评述,因此仅把回答进行摘录,以供参考[4]。编程
在我看来,渐进式表明的含义是:主张最少。
每一个框架都不可避免会有本身的一些特色,从而会对使用者有必定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的使用方式。
好比说,Angular,它两个版本都是强主张的,若是你用它,必须接受如下东西:
- 必须使用它的模块机制- 必须使用它的依赖注入- 必须使用它的特殊形式定义组件(这一点每一个视图框架都有,难以免)设计模式
因此Angular是带有比较强的排它性的,若是你的应用不是从头开始,而是要不断考虑是否跟其余东西集成,这些主张会带来一些困扰。框架
好比React,它也有必定程度的主张,它的主张主要是函数式编程的理念,好比说,你须要知道什么是反作用,什么是纯函数,如何隔离反作用。它的侵入性看似没有Angular那么强,主要由于它是软性侵入。函数式编程
Vue可能有些方面是不如React,不如Angular,但它是渐进的,没有强主张,你能够在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也能够整个用它全家桶开发,当Angular用;还能够用它的视图,搭配你本身设计的整个下层用。你能够在底层数据逻辑的地方用OO和设计模式的那套理念,也能够函数式,均可以,它只是个轻量视图而已,只作了本身该作的事,没有作不应作的事,仅此而已。
渐进式的含义,个人理解是:没有多作职责以外的事。函数
好了,到这里已经解释完了“渐进式框架”的意思,如今让咱们再回过头来看看开头那句话。学习
Vue.js 是一套构建用户界面的渐进式框架。spa
是否是对Vue有了不同的感受,如今也应该知道如何去学习和使用Vue了吧。在学习中,咱们不必一上来就搞懂Vue的每个部件和功能,先从核心功能开始学习,逐渐扩展。 同时,在使用中,咱们也没有必要把所有件能都拿出来,须要什么用什么就是了,并且也能够把Vue很方便的与其它已有项目或框架相结合。设计
来源:VUE渐进式的理解