jQuery与AngularJS与Node.js之间的区别

时间:2016-12-20 02:43:03

标签: javascript jquery html angularjs node.js

我刚开始进行网络开发,到目前为止我知道:

  

HTML - 网站布局

     

CSS - 让它看起来很漂亮

     

JavaScript - 功能

那么什么是jQueryAngularJSNode.js

快速搜索后,我发现jQuery是一个" JavaScript库", AngularJS是基于JavaScript的开源前端Web应用程序框架",Node.js是" JavaScript运行时环境"。

它们似乎都与JavaScript有关,它们是新语言吗?什么是'框架/库'意思?

一个简单的答案将不胜感激。 (我刚开始编程,但我熟悉编程)。

6 个答案:

答案 0 :(得分:199)

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上的Node.js运行时内运行   X,Microsoft Windows和Linux。

Node.js还提供了各种JavaScript模块的丰富库,它在很大程度上简化了使用Node.js的Web应用程序的开发。 Node.js使用事件驱动的非阻塞I / O模型,使其轻量级和高效,非常适合在分布式设备上运行的数据密集型实时应用程序。

图书馆与框架

  

库和框架之间的关键区别是“反转”   控制”。当您从库中调用方法时,您就可以控制它。   但是使用框架,控件被反转:框架调用   你。

Enter image description here

<强>库

在编写Web应用程序时很有用的函数集合。您的代码负责,并在它认为合适时调用库。例如,jQuery。

<强>框架

Web应用程序的特定实现,其中您的代码填写详细信息。该框架负责,当需要特定于应用程序的东西时,它会调用您的代码。例如,AngularJS,DurandalEmber.js

答案 1 :(得分:27)

简单来说,

  • jQuery - 是一组用于操作HTML和CSS的JavaScript函数
  • AngularJS - 是一个帮助您组织HTML和CSS的JavaScript框架
  • Node.js-是一个JavaScript运行时......有点像服务器或本地机器上的浏览器,但没有所有的浏览器渲染引擎和附加功能......它只是一个运行时

图书馆与框架在简单的单词中的主要区别:
框架强加某种架构并期望应用程序遵循其期望 是一个低级构建块的集合,通常提供旨在解决特定问题的粒度函数(即jquery.post()函数)*

答案 2 :(得分:17)

<强>的jQuery

jQuery是一个为你做很多事情的库。它包含许多方便,常用的功能,因此您不必自己编写此代码。这是在石器时代成为木匠,或者拥有一系列电动工具之间的区别。

<强> AngularJS

AngularJS是一个用于为交互式网站和Web应用程序构建前端图形用户界面(GUI)的框架。当与Node.js一起使用时,它构成了一个强大的组合

<强> Node.js的

Node是一个用于构建后端Web服务的框架,例如API REST端点,可在后台为您提取数据。您可以使用AngularJS将按钮和GUI元素连接到这些端点,以构建丰富的,数据驱动的Web应用程序和Web报告。作为RESTful,这些服务等待,直到前端向他们发送请求(用户单击按钮)并执行数据库查询或读取文件并吐出一些数据,然后Web应用程序可以向用户显示。

一般的框架

早期木匠类比中的框架就像是与专业建筑师团队签约,为您完成工作。您足够详细地描述了这项工作,他们接管并实际完成工作。因此,您的任务被简化为以正确的语言提出工作规范,供构建者团队理解,而不是自己完成工作。

AngularJS就像电子一样的室内设计团队,Node.js就是其他一切。过于简单?也许。但是你要求一个简单的解释。

因此,您可以将AngularJS和Node.js视为对立面,但它们可以在同一个应用程序或项目中一起使用。它们用于不同的目的,但它们都使用JavaScript(和jQuery在某种程度上)来完成它。

答案 3 :(得分:7)

  • 框架:这描述了您应该提供代码的如何的给定结构。非常像代码模板,一些帮助器,构造器等,以解决/简化特定问题或将您的架构带入&#34; order&#34;。示例,Backbone.js,RequireJS,Socket.IO。框架封装了通用应用程序功能,允许开发人员专注于应用程序独有的部分。

  • :是一个完整的工具包,可以高度抽象不同的层,如浏览器,DOM模型等。另外,作为一个很好的工具包,它提供了很多工具和工作原理。通常,这简化了您的编码体验。示例是jQuery和MooTools

查看here了解更多信息。

答案 4 :(得分:7)

以下是他们日益受欢迎的原因:

<强>的jQuery

  • Jquery代码相对较短。有时只有五行jQuery代码相当于25行常规JavaScript代码(例如使用AJAX加载数据文件)。这意味着更少的代码和更小的文件。
  • 大型库:jQuery使您能够执行大量功能 与其他JavaScript库比较。
  • 超级轻松使用Ajax:jQuery可让您轻松开发Ajax模板,Ajax可实现更流畅的界面,可在页面上执行操作 无需重新加载整个页面。

<强> AngularJS

  • 双向数据绑定:虽然你可以写一个简单的双向 jQuery中的数据绑定事件,JavaScript MVC库提供了更多 声明性(使用HTML)将模型连接到视图的方式。
  • 非常适合SPA(single-page applications):像AngularJS这样的图书馆, Aurelia,Ember.jsMeteor为您提供所有管道 而不是在jQuery中编写所有内容

<强> Node.js的

  • 它的速度很快:除了快速执行JavaScript之外,还有 Node.js背后的真正魔力是事件循环。事件循环是一个 单线程,异步执行所有I / O操作。 传统上,I / O操作要么同步运行(阻塞),要么运行 通过产生并行线程来异步执行工作。
  • 实时轻松:如果Node.js在许多并发方面表现优异 连接,那么它在多用户方面表现出色是有意义的, 聊天和游戏等实时网络应用程序。 Node.js的事件循环 照顾多用户要求。

答案 5 :(得分:6)

您可以使用HTML,CSS和JavaScript创建交互式网站。

jQuery是一个用JavaScript编写的工具。

AngularJS是一个用JavaScript编写的工具。

React是一个用JavaScript编写的工具。

这些工具可帮助您根据自己的规则管理HTML,CSS和JavaScript之间的交互。一旦工具变得非常大,它就可能会出现像&#34; library&#34;或&#34;框架&#34;取决于它的特点。

我们经常在网络浏览器中运行JavaScript。但是几年前,这个名为Node.js的东西让我们可以在浏览器之外轻松运行JavaScript。我喜欢将它视为&#34;一个在浏览器之外运行JavaScript的程序&#34; (这意味着......没有HTML或CSS可供查看)。