我刚开始进行网络开发,到目前为止我知道:
HTML - 网站布局
CSS - 让它看起来很漂亮
JavaScript - 功能
那么什么是jQuery,AngularJS和Node.js?
快速搜索后,我发现jQuery是一个" JavaScript库", AngularJS是基于JavaScript的开源前端Web应用程序框架",Node.js是" JavaScript运行时环境"。
它们似乎都与JavaScript有关,它们是新语言吗?什么是'框架/库'意思?
一个简单的答案将不胜感激。 (我刚开始编程,但我熟悉编程)。
答案 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模型,使其轻量级和高效,非常适合在分布式设备上运行的数据密集型实时应用程序。
图书馆与框架
库和框架之间的关键区别是“反转” 控制”。当您从库中调用方法时,您就可以控制它。 但是使用框架,控件被反转:框架调用 你。
<强>库强>
在编写Web应用程序时很有用的函数集合。您的代码负责,并在它认为合适时调用库。例如,jQuery。
<强>框架强>
Web应用程序的特定实现,其中您的代码填写详细信息。该框架负责,当需要特定于应用程序的东西时,它会调用您的代码。例如,AngularJS,Durandal,Ember.js等
答案 1 :(得分:27)
简单来说,
图书馆与框架在简单的单词中的主要区别:
框架强加某种架构并期望应用程序遵循其期望
库是一个低级构建块的集合,通常提供旨在解决特定问题的粒度函数(即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 强>
<强> AngularJS 强>
<强> 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可供查看)。