何时应该使用JavaScript框架库?

9

我正在编写一个小型网站,它仅制作一些动画并显示首页和链接列表中的一些信息。所有这些都将在客户端动态生成。因此,一切都将是javascript和XML。

最近我在Stack Overflow上阅读了一些有关javascript的问题,大多数情况涉及使用和/或推荐框架(如jquery和其他)。当开发一个小型网站时,应该开始考虑使用这样的框架吗?

到目前为止,我只用普通的javascript来编写我的东西,既然我没有实现一个大站点,那么学习框架是否值得呢?

谢谢

4个回答

11
在SO上,你会发现有很多人(包括我)推崇使用jQuery(特别是)。对我来说,它就是一个框架应该具备的一切:小巧,轻量级,可扩展,紧凑而强大的语法,并解决一些相当重要的问题。老实说,我很难想象一个项目中不使用它(或其他框架)的情况。

使用它的原因是为了解决浏览器兼容性问题。考虑一下我的回答:javascript to get paragraph of selected text in web page

function getSelectedParagraphText() {
  var userSelection;
  if (window.getSelection) {
      selection = window.getSelection();
  } else if (document.selection) {
      selection = document.selection.createRange();
  }
  var parent = selection.anchorNode;
  while (parent != null && parent.localName != "P") {
    parent = parent.parentNode;
  }
  if (parent == null) {
    return "";
  } else {
    return parent.innerText || parent.textContent;
  }
}
如果您熟悉JavaScript,那么其中很多内容应该会很熟悉:例如检查innerText或textContent(Firefox 1.5)等。纯JavaScript中充斥着这样的内容。现在考虑jQuery的解决方案:
function getSelectedParagraphText() {
  var userSelection;
  if (window.getSelection) {
      selection = window.getSelection();
  } else if (document.selection) {
      selection = document.selection.createRange();
  }
  var parent = selection.anchorNode;
  var paras = $(parent).parents("p")
  return paras.length == 0 ? "" : paras.text();
}

jQuery最擅长的领域在于AJAX。虽然有JavaScript代码片段可以找到正确的对象来实例化(XMLHttpRequest或等效),以执行AJAX请求,但jQuery已经替您处理了所有这些。

而且,所有这些功能都包含在不到20k的核心jQuery JavaScript文件中。对我来说,这是必备的。


11

我现在就开始。像jQuery和prototype这样的库不仅可以让你远离浏览器差异,还为你提供了一种向其他程序员传达你想法的简写方式。


5

每当编写JavaScript不是您的主业时。

除了提供助手和快捷方式外,JS库还处理角落情况、浏览器不兼容性和怪癖以及最佳实践。最好花时间开发您的应用程序,并仅在必要时回退到原生JS。


2

jQuery是一种使用更简单、更易于交流的方式进行JavaScript编程的方法,因此我会说

可以这样想,你更愿意在Microsoft Word还是Notepad中写论文呢?


2
我是一个强烈支持 vim 的人!:D - alvatar
只是一个简单的比喻,对于非技术人员来说,由于 MS Word 是用来处理文本格式的,所以你不能在记事本中完成相同的操作。 - TStamper
这只是一个简单的比喻,针对非技术人员。因为 MS Word 是用来处理文本格式的,而你在记事本中无法使用图形用户界面(GUI)完成这些操作。你是在告诉我,在记事本中编写 LaTeX 代码无法像 MS Word 那样实现相同的功能 ;) - Esteban Küber

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接