可能重复:
我什么时候应该使用javascript框架库?
所有,
我是网络应用程序开发的新手.
最近,我制作了一些专门针对iPad和iPhone的HTML5应用程序.
我注意到,很少人似乎使用直接的JavaScript - 几乎每个人都用了jQuery(原型,YUI,MooTools的,等等似乎有点不太流行).
如果我刚开始 - 我应该使用jQuery吗?或者,我会更好地编写自己的JavaScript吗?
一般来说 - 我更喜欢使用尽可能多的"我自己的"代码.如果我可以避免使用框架,我会感到很不舒服 - 我觉得它让我无法理解"引擎盖下发生了什么".
(当然 - 即使我使用的是直接的JavaScript - 引擎盖下有许多级别"(例如,浏览器的JavaScript引擎,操作系统,内核等),我不明白,但是级别越低不明白,就更好了.)
我可以想到的唯一具体优势是不使用jQuery ...加载整个jQuery框架,当我只需要它的一些功能时 - 似乎是不必要和浪费的.
所以 - 总的来说 - 我会更好地为每个项目创建我自己的,高度定制的,特定于应用程序的JavaScript吗?
或者 - 我应该咬紧牙关,克服我不愿意使用别人的代码,并使用jQuery?除了不必创建自己已经由其他人编写的函数版本之外,它是否有优势?
例如,它的功能是否以某种方式优化或比我自己生产的更有效?
[UPDATE]
到目前为止答案中常见的主题之一... jQuery消除了担心浏览器差异的需要.好点子.
就我而言,我正在为iPhone,iPad和Android专门编写应用程序.据我所知 - 浏览器非常一致.IE6,7和8的变幻莫测和特性似乎并不适用.真的吗?如果是这样,它是否消除了使用jQuery的主要原因?
另一个关键问题是... jQuery非常受欢迎,它很可能已经存在于用户的缓存中,从而无需加载它.真的......但这是唯一的表现吗?换句话说......作为jQuery一部分的数百个函数的存在是否影响了我的页面的性能?(我不知道JavaScript引擎是如何工作的,所以我不知道是不是这样......).
非常感谢您的建议和指导.
我理解你.我有相同的想法很长一段时间.然而,在这个特定的例子中,它有一个很好的理由为什么这么多人使用框架(jQuery是当今最流行的).原因是,不关心浏览器差异+一个很好的方法和功能工具包.
但首先(浏览器差异)更为重要.如果您要自己编写所有内容,那么您只需要关心所有这些浏览器和版本的所有内容,这只是令人作呕.因此,一些聪明聪明的人提出了这个想法,为什么不创建一个抽象所有这些差异的库,我们可以在几乎任何浏览器平台上使用相同的方法集.Boohja,这就是Javascript库的诞生方式.
你提到的另一点: loading the ENTIRE jQuery framework (...)
好吧,正如你也正确提到的那样,jQuery非常受欢迎,因此用户已经在浏览器中缓存了jQuery版本.因此,首先尝试从像谷歌这样的普通CDN加载像jQuery这样的库总是一个好主意.浏览器甚至不需要下载它的可能性非常好.
现在我不会争论代码质量和类似的东西.但是jQuery是一个非常可靠的库.它提供了非常好的浏览器抽象以及方便的语法(jAndys意见).但是那里还有很多其他很好的图书馆.一般来说,我总是建议使用一个,特别是对于大规模的Web应用程序.
在某些时候,无论如何,你都会开始编写自己的方法来自己抽象浏览器差异和行为,因为每次编写这么多代码都很烦人.因此,不需要在这里发明轮子(可能仅用于学习目的).
| 归档时间: |
|
| 查看次数: |
4990 次 |
| 最近记录: |