Ist es sinnvoll, jQuery in modernen Webkit-Webanwendungen zu verwenden?

9

Ich arbeite in letzter Zeit an einigen mobilen Web-Apps für Android (2.3+) und iOS (4+). Ihre Browser unterstützen den größten Teil von ECMAScript5, das sehr leistungsfähig ist, und ich wollte nach Möglichkeit Sprachfunktionen verwenden und nur dann auf jQuery zurückgreifen, wenn ich musste.

Es stellt sich heraus, dass ich jQuery nur für eine kürzere Alternative verwende document.querySelectorAll. Könnte es auch loswerden.

Wenn ich nur moderne WebKit-Browser unterstützen muss, ist es eine gute Idee, jQuery (und andere Allzweckbibliotheken) loszuwerden? Sie sind schließlich eine Ebene der Indirektion.

(Die Apps müssen bisher keine AJAX-Anrufe tätigen. Ich denke, das wird hässlich. Aber lohnt es sich, jQuery nur dafür zu behalten?)

Futlib
quelle
1
Siehe auch : gist.github.com/1455456 ;) Für XHR würde ich Ihnen diesen Helfer vorschlagen . Es antwortet dir nicht, aber du verstehst, was ich meine.
Florian Margaine

Antworten:

8

Nein, das ergibt keinen Sinn.

jQuery ist eine aufgeblähte Bibliothek. Jeder weiß das. Und jeder benutzt es, weil es eine der seltenen browserübergreifenden Bibliotheken ist , die einfach funktionieren (beachten Sie, dass ich kein Framework gesagt habe ).

Wenn Sie keine Unterstützung für ältere Browser benötigen, benötigen Sie jQuery nicht.

Kleine braucht wie QSA Verknüpfung oder einem XHR Helfer sind dünn . Sie können leicht durch solche Objekte hinzugefügt werden .

Wenn Ihnen die API gefällt, entscheiden Sie sich dafür. Aber es wird nicht benötigt.

Ich kann verstehen, dass einige Leute bevorzugen:

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

An (mit By ):

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

Ich finde den zweiten Weg expliziter, andere werden nicht zustimmen. Es ist eine Frage der Präferenz.

Wenn Ihr Code später möglicherweise auf ältere Browser (oder andere mobile Browser ohne Webkit / Sucky) portiert werden kann, verwenden Sie jQuery. Es wird Ihre Kopfschmerzen später reduzieren.

Verwandte: https://softwareengineering.stackexchange.com/a/148536/42132

Florian Margaine
quelle
3
Was ist, wenn Sie dies 25 Mal getan haben (nicht addClass x25, aber es gibt eine Menge anderer ähnlicher Fälle)? Das Lesen wird immer schwieriger, weil nur so viel mehr Code gelesen werden muss.
Esailija
Ich finde es nicht schwieriger zu lesen, ich finde es expliziter. Präferenzsache.
Florian Margaine
3
Ich bin der Meinung, dass es viele andere Gründe gibt, jQuery zu verwenden, als nur ältere Browser zu unterstützen. Ich bin nicht einverstanden mit den Meinungen dieser Antwort, die äußerst subjektiv erscheinen und eher auf Präferenzen als auf Fakten beruhen.
Michael Durrant
@MichaelDurrant Ja, die Verwendung der API durch jQuery ist äußerst subjektiv und basiert auf Präferenzen. Welches ist, was ich in dieser Antwort gesagt habe.
Florian Margaine
"Jeder weiß das" - hmm, das scheint Gegenargumente zu entmutigen. jQuery hat viel Wert: Dekadecity.net/talks/what-has-jquery-ever-done-for-us
elias
8

Ich denke, es lohnt sich immer noch. jQuery macht Ihren Code effektiver kompakter und lesbarer, was zu einer schnelleren Entwicklung und weniger Wartung führt (unter Berücksichtigung der Erfahrung, die Sie damit haben).

Wenn jQuery für Sie zu schwer ist, sollten Sie Zepto ausprobieren. Dies ist eine leichte Alternative für jQuery (mit einer ähnlichen API).

Oliver Weiler
quelle