有时是否需要使用多个JavaScript库

Is it sometimes necessary to use multiple javascript libraries?

本文关键字:JavaScript 是否      更新时间:2023-09-26

我是Web开发的新手,并不完全了解js框架在应用程序中扮演的角色。我从jQuery开始,但人们说我应该为我的项目尝试原型.js或node.js,这是一个多人策略游戏。

尽早选择一个框架,并确保它完成您需要的一切,这样您就不必使用多个框架,这是否重要?

我是Web开发的新手,并不完全了解js的角色 框架在应用中播放

你是

新来的,但你是幸运的!

几年前,开发人员很难解决CSS(仍然在那里),事件处理,动画,DOM操作方面的跨浏览器问题。您必须经常为每个浏览器编写不同的代码。

JavaScript 库诞生并解决了开发人员的问题,它们在幕后完成了所有魔术,您编写相同的代码(几乎总是)在每个浏览器中工作。换句话说,JavaScript 库通过为您提供一组一致的函数来用于任何浏览器,从而自行解决跨浏览器问题。

通常,JavaScript 库会处理这些或提供以下选项:

  • 跨浏览器问题处理
  • 动画
  • 自定义对话框和小部件
  • 能够编写较少的代码
  • 特定选择器引擎
  • DOM 的创建/修改
  • 事件处理
  • 实用功能
  • 阿贾克斯

我从jQuery开始,但人们说我应该尝试一下。 原型.js或节点.js,用于我的项目,这是一个多人游戏 策略游戏。

从本质上讲,他们做同样的事情(如上所述),由您决定选择哪一个。我个人喜欢jQuery,因为它很容易上手并且具有类似CSS的选择器机制。

Node.JS是完全不同的野兽,不像基于客户端JavaScript的jQuery或Prototype,node.js是服务器端JavaScript。

尽早选择一个框架并确保它很重要吗 做你需要的一切,所以你不必使用多个框架?

除非您需要它,否则这并不重要,例如根据您的需要。虽然我个人建议你先学习JavaScript本身,这样当你以后使用JavaScript库时,你应该能够充分利用它。

javascript框架的作用非常简单:给你一组更高级别的功能,这样你就可以构建你的应用程序,而不必重新编码以前已经完成的事情,并提供一个开发结构。 你可以把jQuery或原型.js看作是其他人发现的函数集,经常需要一次又一次地编写,所以他们已经为你完成了。 诸如在屏幕上对对象进行动画处理,或在 DOM 中合并和重新排列元素之类的事情对于许多应用程序来说都很常见,因此这些框架和许多其他框架试图简化这些常见任务。 另一个好处是他们为每个平台以最佳方式为您解决了常见问题,因此无论使用哪种浏览器或手机,您都可以获得类似的体验 - 这在过去不是这种情况。

节点.js是不同的东西。 它是一种服务器端语言(当然语言是javascript),但它扮演了php或perl或python或ruby(或你最喜欢的服务器端lang)的角色,因为它实际上运行代码来与数据库通信并在服务器上获取页面,而其他人则在浏览器中的用户机器上运行代码。

建议只选择一个框架并很好地学习它(我个人的投票是jQuery,因为它拥有广泛的开发人员基础,漂亮的插件,良好的文档和代码的可理解性),但由于这些中的每一个都只是引擎盖下的普通JavaScript,任何你不能做的,你可以用普通的javascript桥接。实际上,您可以在其中任何一个中执行任何操作,只是某些任务在一个框架中会比另一个框架更简单。 当与几个人合作时,虽然他们可能不会主动冲突,但这将是一场开发噩梦。

对于您的特定应用程序,您将需要前端和后端才能使其工作。 如果您尝试构建的应用程序是一个网站,那么请务必使用这些JavaScript框架之一,但是如果您正在谈论Android或iPhone上的移动应用程序,则不需要这些。

只是扩展了评论中的内容并澄清了这些"框架"是什么:

你可以使用任意数量的框架,它们应该(如果它们写得很好)不会相互冲突。某些库可能存在问题,因为它们分配给特殊字符(例如 $),并且由于 javascript 中尚未使用的特殊字符数量有限,这几乎是不可避免的,但通常更成熟的框架已经识别了这一点并编写了解决方法,即 jQuery.noConflict,它基本上重新分配了以前使用 $ 的任何内容。

至于每个框架都有

负载,每个框架都有自己特定的利基/API,适合特定的编程需求,例如:

嘶声(用于jquery) - 用于操作DOM的优秀选择器语法

jQuery - 优秀的插件架构,成熟的API,可以满足很多常见的编程需求,与jQuery UI结合使用时出色的UI组件

车把.js - 基于模板的 dom 操作 + 其他一些不错的 MVVM (?

Sproutcore.js, node.js...等等 - 阅读每个,看看他们所说的框架是针对什么的。

你可以把它们混合在一起 - 你可能会发现偶尔的冲突,你应该向作者报告,但不要觉得局限于一个框架。

人们很容易对可用框架的范围感到困惑 - 如今,似乎每个月都有一个新框架进入时代精神。

关键是使用适合你的框架,并且至关重要的是,要了解并非所有框架和库都做同样的事情。

例如,jQuery以DOM操作和AJAX为中心。是的,它有更多的方面,但这些是它的卖点。与Underscore.js相比,Underscore就是要丰富数据级API,使其更类似于PHP。毕竟,与这些语言相比,JavaScript 有一个传统的限制性 API(尽管随着连续的 ECMA 发布和特定于供应商的 API,它一直在变得越来越丰富)。

正如黑客艺术家在他的回答中提到的,Node.js与上述两者完全无关,因为它是服务器端,而不是客户端。

我会避免使用多个焦点相似的库,尤其是在您的早期阶段。你会遇到在jQuery UI和extJS中加载的项目。是的,这为您提供了更多玩法,但是,考虑到重叠,对页面加载权重的负面影响超过了好处。选择您喜欢的外观,并且至关重要的是,您喜欢其文档和社区

最后,请记住,库和框架并不是一回事,尽管经常使用这两个术语有点不可取地互换。它们都是引擎盖下的 JS;库旨在提供函数和模式,至少通常意味着编写的代码比使用本机或"vanilla"JavaScript时编写的代码更少,而框架则关注代码的总体结构以及各个部分如何关联或互操作。