4

我开始为 Web 应用程序学习 JavaScript。在此之前,我有使用基本 JavaScript 和 jquery 操作 DOM 元素的经验。我还研究过一些 AJAX。通过最近在网上阅读,我发现:

  • JavaScript 可以像在 Node JS 中一样在服务器端使用。
  • 用于操作 DOM元素和AJAX的传统 JavaScript
  • 它还可用于使用框架/库基于MV* 架构 [如 Backbone JS、Angular JS、Ember JS]构建强大的应用程序(客户端)。
  • 然后是用于微模板的 JavaScript 框架/库 [如下划线 JS、HAML-JS]、用于 AMD [需要 JS]、Logic Less [Handlebars JS、Mustache、Dust JS]。
  • 还有可以编译为 JS的咖啡脚本。

在阅读完所有这些之后,我非常困惑如何根据它们对 JavaScript 框架/库进行分类

  • Side [客户端、服务器端、客户端-服务器端、浏览器端]
  • 功能[MV*、DOM 脚本、微模板等]

有人可以用每个库/框架的一些例子来解释这个混乱。还有任何资源/书籍/幻灯片,我可以在其中获取有关如何在 Web 上以不同方式使用 JavaScript 的信息。

4

1 回答 1

2

Javascript 只是一种语言,您会混淆语言和它可以访问的 API。在浏览器上,API 是 DOM 周期。

在服务器上,API 是使用 Javascript 作为脚本语言的任何软件。

NodeJS 有一个与 DOM 无关的 API,此外,NodeJS javascript 并不总是与在浏览器上运行的 javascript 兼容。

MongoDB(使用 Javascript 作为脚本语言的数据库)既不支持 DOM api 也不支持 nodeJS API,但它有自己的 API。

Fireworks (Adobe) 也使用 javascript 作为脚本语言,并且 API 与其他“可用”API 无关。

Dreamweaver (Adobe) 使用 javascript 的 API 甚至与其他 Adob​​e 产品不兼容。

如果您想了解 Javascript 语言是什么,请阅读 ECMAScript(官方名称)规范。Javascript 是一种非常简单的语言。

因此,当您找到一个框架/库/whatever 时,只需检查该库打算使用的上下文。如果要对库进行排序,则必须首先了解它们的使用上下文。

在客户端,可以有纯 javascript 库(例如仅处理 javascript 对象的下划线)或处理 DOM(jQuery,任何使用 AJAX 的框架,因为 AJAX 是 DOM 的一部分,所以大多数 MVC/MVP /MVVM 框架)或两者兼而有之。

还有一些语言可以编译成 javascript(typescript、coffeescript、dart、haxe ...),这意味着你用一种语言编程,编译源代码,最后得到一些 javascript。

于 2013-01-06T18:57:15.957 回答