javascript - JavaScript库/框架的分类

标签 javascript

<分区>

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

  • JavaScript 可以像在 Node JS 中一样在服务器端使用。
  • 用于操作 DOM 元素和 AJAX
  • 的传统 JavaScript
  • 它还可以用于构建基于MV*的强大应用程序(客户端) 架构 [如 Backbone JS、Angular JS、Ember JS] 使用 框架/库。
  • 还有用于微型模板的 JavaScript 框架/库 [像 underscore JS, HAML-JS], for AMD [require JS], Logic Less [ Handlebars JS、 mustache 、灰尘 JS]。
  • 还有编译成 JS 的 coffeescript

看完这些之后,我对如何根据它们对 JavaScript 框架/库进行分类感到非常困惑

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

有人可以用每个库/框架的一些例子来解释这个困惑吗?也有任何资源/书籍/幻灯片,我可以从中获取有关如何在网络上以不同方式使用 JavaScript 的信息。

最佳答案

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 和一个甚至与其他 Adob​​e 产品不兼容的 API。

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

因此,当您找到一个框架/库/任何东西时,只需检查该库将用于什么上下文。如果您想对库进行排序,您必须首先了解它们的使用上下文。

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

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

关于javascript - JavaScript库/框架的分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14185394/

相关文章:

javascript - 监听 PanResponder 来改变状态值

javascript - function Name.prototype.method Name() 和 fun Object.methodName() 中调用函数有什么区别吗?

javascript - 延迟显示 forEach 循环中的数组元素

javascript - 小于和大于会产生意想不到的结果。

javascript - 如何将 javascript AMD 模块导入外部 TypeScript 模块?

javascript - 就像所有 CSS 都是有效的 SCSS 一样,所有 JS 也是有效的 TS 吗?

javascript - 替换所有图像的图像源

javascript - undefined 不是对象(评估 this.props.navigation.navigate)

Razor View 中的 Javascript url 操作

javascript - 三个js : How could we import a loader into a React application?