我什么时候应该使用javascript框架库?

时间:2009-05-14 14:19:17

标签: javascript frameworks

我正在写一个小网站,只是制作一些动画,并将一些信息显示为主页和链接列表。所有这些都将在客户端动态生成。所以一切都将是javascript和XML。

最近我一直在阅读关于javascript的SO中的一些问题,并且大多数情况涉及框架(jquery和朋友)的使用和/或推荐。当一个小的Web开发应该开始考虑使用这样的框架吗?

直到现在我只使用普通的javascript做我的东西,只要我没有实现一个大网站是否值得学习框架?

由于

4 个答案:

答案 0 :(得分:11)

我现在就开始吧。像jQuery和prototype这样的库不仅可以使您免受浏览器差异的影响,还可以为您提供将您的想法传达给其他程序员的简写。

答案 1 :(得分: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为您处理所有这些。

核心jQuery Javascript文件的所有这些都低于20k。对我来说,这是必须的。

答案 2 :(得分:5)

每当编写javascript 不是您的业务时

除了提供帮助和快捷方式之外,JS库还可以处理极端情况,浏览器不兼容性和怪癖以及最佳实践。最好花时间开发应用程序,只有在必要的情况下才能回归原生JS。

答案 3 :(得分:2)

与jquery的交易是做javascript的方法,但工作量少,沟通更容易,所以我会说

这样想一想,你宁愿用微软的单词或记事本写一篇论文