在仅用于现代Webkit的Web应用程序中使用jQuery是否有意义?


9

我最近正在为Android(2.3+)和iOS(4+)开发一些移动Web应用程序。他们的浏览器支持大部分ECMAScript5,该功能非常强大,我想尽可能使用语言功能,仅在需要时才使用jQuery。

事实证明,我使用jQuery的唯一目的是为其提供一个较短的替代方法document.querySelectorAll。也可以摆脱它。

如果只需要支持现代WebKit浏览器,那么摆脱jQuery(和其他通用库)是否是一个好主意?毕竟,它们是一个间接层。

(到目前为止,这些应用程序不必进行AJAX调用,我想这将变得很丑陋。但是为此保留jQuery是否值得?)


1
相关:gist.github.com/1455456 ;)对于XHR,我建议您使用此帮助器。它没有回答您,但您明白我的意思。
Florian Margaine 2012年

Answers:


8

不,这没有道理。

jQuery是一个肿的库。大家都知道。每个人都使用它,因为它是其中一种罕见的跨浏览器,可以正常工作(请注意,我没有说framework)。

如果不需要对旧版浏览器的支持,则不需要jQuery。

小,需要如QSA快捷方式或XHR助手是。通过此类 对象可以轻松添加它们。

然后,如果您喜欢它的API,请继续使用它。但这不是必需的。

我可以理解有些人喜欢:

$( '.table' ).addClass( 'active' );

要(使用通过):

[].forEach.call( By.qsa( '.table' ), function( table ) {
    table.classList.add( 'active' );
} );

我发现第二种方式更为明确,其他方式则不同意。这是一个优先事项。

另外,如果您的代码以后有机会移植到旧版浏览器(或其他非Webkit / Sucky移动浏览器),请使用jQuery。它将减轻您以后的头痛。

相关:https : //softwareengineering.stackexchange.com/a/148536/42132


3
如果您已完成25次(不是addClass x25,但还有很多其他类似情况),该怎么办?它变得越来越难阅读,因为要阅读的代码太多了。
Esailija 2012年

我觉得阅读起来并不难,我觉得它更明确。优先事项。
Florian Margaine 2012年

3
我觉得使用jQuery的原因还有很多,而不仅仅是对旧版浏览器的支持。我不同意这个答案的观点,这些观点似乎是非常主观的,并且基于偏好而不是事实。
Michael Durrant 2012年

@MichaelDurrant是的,jQuery对其API的使用非常主观,并且基于首选项。这就是我在回答中所说的。
Florian Margaine 2012年

“每个人都知道”-嗯,这似乎令人反感。jQuery有很多的价值:decadecity.net/talks/what-has-jquery-ever-done-for-us
埃利亚斯

8

我认为仍然值得使用。jQuery有效地使您的代码更紧凑,更易读,从而加快了开发速度,并减少了维护(考虑到您已有的使用经验)。

如果jQuery对您来说太重了,您应该尝试一下Zepto,这是jQuery的轻量级替代品(具有类似的api)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.