Web前端框架可以分为两类:
1)JS的类库框架
JQuery.JS
Angular.JS(模型, scope作用域,controller,依赖注入,MVVM):前端MVC
Vue.JS(MVVM)
React.JS (创建自定义标签,根据id注入标签)
Node.JS(服务器端)
2)UI框架(Html/Css/JS组合)
Bootstrap(简洁、直观、强悍的前端框架,让web开发更迅速、简单)
下面是具体介绍:
React.JS
如果你熟悉 MVC 概念的话,那么 React 的组件就相当于 MVC 里面的 View。如果你不熟悉也没关系,你可以简单地理解为
React.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合、嵌套,就成了我们的页面。
一个组件的显示形态和行为有可能是由某些数据决定的。而数据是可能发生改变的,这时候组件的显示形态就会发生相应的改变。
而 React.js 也提供了一种非常高效的方式帮助我们做到了数据和组件显示形态之间的同步。
React.js 不是一个框架,它只是一个库。它只提供 UI (view)层面的解决方案。在实际的项目当中,
它并不能解决我们所有的问题,需要结合其它的库,例如 Redux、React-router 等来协助提供完整的解决方法。
Vue.JS
Vue.js是用于构建交互式的 Web界面的库。它提供了 MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的 API。
从技术上讲, Vue.js集中在 MVVM 模式上的视图模型层,并通过双向数据绑定连接视图和模型。实际的DOM操作和输出
格式被抽象出来成指令和过滤器。相比其它的 MVVM框架,Vue.js更容易上手。
Angular.JS
AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
用途:通过描述我们应该就能很好的明白AngularJS的真实用途了,MVVM,模块化,自动化双向数据绑定等等。
除了简单的dom操作外,更能体现Js编程的强大。当然应用应该视场合而定。
Node.JS
node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。
V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,
使得V8在非浏览器环境下运行得更好。Node.js是一个基于ChromeJavaScript运行时建立的平台,
用于方便地搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,非阻塞I/O模型而得以轻量和高效,
非常适合在分布式设备上运行数据密集型的实时应用。简单的说 Node.js就是运行在服务端的 JavaScript。
Node.js是一个基于ChromeJavaScript运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,
基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
用途:
1)RESTful API
这是NodeJS最理想的应用场景,可以处理数万条连接,本身没有太多的逻辑,只需要请求API,组织数据进行返回即可。
它本质上只是从某个数据库中查找一些值并将它们组成一个响应。由于响应是少量文本,入站请求也是少量的文本,
因此流量不高,一台机器甚至也可以处理最繁忙的公司的API需求。
2)统一Web应用的UI层
目前MVC的架构,在某种意义上来说,Web开发有两个UI层,一个是在浏览器里面我们最终看到的,另一个在server端,
负责生成和拼接页面。不讨论这种架构是好是坏,但是有另外一种实践,面向服务的架构,更好的做前后端的依赖分离。
如果所有的关键业务逻辑都封装成REST调用,就意味着在上层只需要考虑如何用这些REST接口构建具体的应用。
那些后端程序员们根本不操心具体数据是如何从一个页面传递到另一个页面的,他们也不用管用户数据更新是通过Ajax异步
获取的还是通过刷新页面。
2)大量Ajax请求的应用
例如个性化应用,每个用户看到的页面都不一样,缓存失效,需要在页面加载的时候发起Ajax请求,NodeJS能响应大量的
并发请求。总而言之,NodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景。