jQuery是一个库(客户端)
jQuery是一个快速,小巧,轻巧的“少写,多做”,功能丰富的JavaScript库。
借助易于使用的API(可在多种浏览器中使用),使HTML文档的遍历和操作,事件处理,动画和Ajax等事情变得更加简单。
AngularJS是一个MVC框架(客户端)
AngularJS是用于开发动态Web应用程序的客户端JavaScript MVC框架。
它使您可以将HTML用作模板语言,并可以扩展HTML的语法以清晰,简洁地表达应用程序的组件。AngularJS的数据绑定和依赖注入使您无需编写许多代码。这一切都发生在浏览器中,使其成为任何服务器技术的理想合作伙伴。AngularJS最初是从Google的一个项目开始的,但是现在它是一个开源框架。
Node.js是一个平台和运行时环境(服务器端)
Node.js是一个开放源代码,跨平台的运行时环境,用于开发基于Google Chrome的JavaScript引擎(V8引擎)构建的服务器端和网络应用程序。Node.js应用程序是用JavaScript编写的,可以在OS X,Microsoft Windows和Linux上的Node.js运行时中运行。
Node.js还提供了丰富的各种JavaScript模块库,可在很大程度上简化使用Node.js的Web应用程序的开发。Node.js使用事件驱动的非阻塞I / O模型,使其轻巧高效,非常适合跨分布式设备运行的数据密集型实时应用程序。
库与框架
库和框架之间的主要区别是“控制反转”。当您从库中调用方法时,就可以控制。但是,有了框架,控件就会被颠倒:框架会调用您。
图书馆
编写Web应用程序时有用的功能集合。您的代码由您负责,并在合适时调用库。例如,jQuery。
构架
Web应用程序的特定实现,您的代码将在其中填充详细信息。该框架负责,当需要特定于应用程序的内容时,它将调用您的代码。例如,AngularJS,Durandal,Ember.js等。