Gli utenti di jQuery sono pazzi?

Dovremmo farlo uscire allo scoperto. Sembra che gli utenti di jQuery siano ignoranti e, il più delle volte, designer. Da dove viene questo, ed è vero?


Roots

La comunità JavaScript non era così vivace e appassionata come oggi.

Facciamo un viaggio lungo la corsia di memoria; riavvolgeremo l'orologio per diversi anni - pre giorni jQuery. Il mondo JavaScript era una scena molto diversa allora. La comunità non era così vivace e appassionata come oggi. Certo, a quei tempi, c'erano alcune librerie, come Prototype; ma non sono mai riusciti ad afferrare il utente normale riflettori il modo in cui sarebbe presto jQuery. A quel tempo, JavaScript era un linguaggio ampiamente odiato. A volte, è facile dimenticare che ci sono stati momenti in cui gli sviluppatori si sono rifiutati di prendere il tempo necessario per ... sai ... impara JavaScript! Invece, si limitavano a copiare e incollare la loro strada, sperando di evitare di ottenere quella brutta macchia JavaScript sui loro pantaloni.

Il DOM

Ciò che intendi è: "Odio l'API DOM".

Ciò che questi dipendenti addetti alle copia e incolla (io ero uno di loro) non si rendevano conto è che, quando dici "Odio JavaScript", quello che intendi veramente (che tu lo capisca o meno) è, "Odio l'API DOM ". Nessuno può essere incolpato di sentirsi in quel modo. Soprattutto in quei giorni, quando persino il supporto IE5 era in vigore, le cose potevano diventare un po 'brutte. Le implementazioni del browser del DOM erano il colpevole; non il linguaggio JavaScript. Ciò è dovuto al fatto che non c'era davvero alcuna specifica DOM. Di conseguenza, i browser lo hanno alato meglio che potevano! abbiamo innerHTML non a causa di una specifica, ma perché il team di Internet Explorer ha deciso di buttarlo lì (a quel punto gli altri produttori di browser l'hanno decodificato e lo hanno implementato nei propri browser). Ma il linguaggio JavaScript, nel suo insieme, è solido.

In effetti, molte persone, me compreso, andrebbero a dire che, come linguaggio, JavaScript è davvero molto bello.

jQuery

In quel periodo, jQuery entrò nell'atmosfera e iniziò a conquistare la comunità di sviluppo. Mentre altre librerie come Prototype conservavano ancora un certo livello di complessità e confusione per i nuovi arrivati, jQuery era ridicolmente facile da capire, grazie al fatto che tutto è accessibile, tramite il jQuery oggetto (qualcosa che è, ironicamente, spesso criticato per).

Hai bisogno di applicare una lezione? Facile; farlo è fatto su misura per i designer. jQuery ti permette di usare i selettori CSS che già conosci per interrogare il DOM.

 $ ( '# Container') addClass ( 'ahh-yeah.');

Fatto divertente: Tecnicamente, sebbene jQuery rendesse popolare l'idea di un motore di selezione CSS, era in gran parte basato sul lavoro di Dean Edwards.

E poi, ad un certo punto, la timeline si è incurvata in questa realtà alternativa ...

Letteralmente non potrebbe essere più semplice. Estrapolando il codice complesso e le stranezze del browser, gli sviluppatori potrebbero tornare a fare ciò che era importante: creare siti Web e applicazioni.

Mentre la comunità di jQuery è cresciuta a passi da gigante, anche la biblioteca ha continuato a maturare ea prendere forma. Il mondo era peachy.

E poi, ad un certo punto, la timeline si è spostata su questa realtà alternativa (okay, non come Doc Brown), dove, all'improvviso, se ti definissi un orgoglioso utente jQuery, alcuni membri della comunità JavaScript sentivano di conseguenza il bisogno per stereotiparti come "designer" ignorante (indipendentemente dal fatto che tu sia stato o meno) - certamente non uno "Sviluppatore JavaScript". Come è successo? Gli sviluppatori JavaScript non usano jQuery?


L'onere della popolarità

Tutti hanno un'opinione sui riflettori.

È naturale che, una volta raggiunto un certo - per mancanza di parole migliori - la popolarità, ti apri a un'incredibile quantità di controllo. Tutti hanno un'opinione sui riflettori, a quanto pare. Ad esempio, hai senza dubbio sentito infinite critiche al cattolicesimo. "Adorano statue." È l'unico corpo religioso con una storia discutibile? Sicuramente no; ma è il più grande. Gli Stati Uniti sono uno dei paesi più potenti del mondo. Naturalmente, ognuno ha un'opinione. "Gli americani sono ignoranti e grassi". Ignora il bene e fai attenzione ai cattivi.

jQuery è la libreria JavaScript più popolare, da una frana. Ancora una volta, ognuno ha un'opinione. Ho letto innumerevoli critiche - tutto da cosa non lo fa, alla struttura del codice di base. Tuttavia, forse la più grande critica di jQuery deriva da una semplice verità: i suoi utenti, in media, hanno meno esperienza con JavaScript vanigliato, rispetto a, ad esempio, Mootools. Mentre alcuni considerano questo aspetto negativo, lo considero onestamente un punto di forza - in un modo strano.

Il fatto che jQuery abbia molti utenti meno esperti non è la sua rovina; è una testimonianza del suo fascino.


Gli utenti di jQuery non conoscono JavaScript!

Questo è l'argomento che sentirai più di ogni altro. Di nuovo, un testamento di jQuery, molte persone imparano jQuery prima di vanilla JavaScript. Ci sono stati innumerevoli dibattiti sul fatto che questa sia una cosa buona o meno. In realtà, questo tipo di discussioni si estende a tutte le astrazioni.

  • I designer dovrebbero utilizzare i preprocessori e i framework CSS, rispettivamente come Sass e Compass, prima di apprendere i dettagli del CSS?
  • Va bene per uno sviluppatore di Ruby usare CoffeeScript senza aver prima imparato JavaScript?
  • Dovresti usare Modernizr prima di imparare a scrivere un singolo test di funzionalità?
  • Va bene usare CodeIgniter se hai appena imparato PHP?

Personalmente, ritengo che chi pretende che i nuovi arrivati ​​apprendano prima JavaScript prima di passare a jQuery manca una cosa: JavaScript e il DOM sono spaventosi! Se lanci la specifica ES5 contro di loro, avranno un attacco di cuore, a meno che non abbiano un reale interesse a diventare uno sviluppatore JavaScript. Molte persone hanno semplicemente bisogno di aggiungere alcuni effetti ai loro siti web. Non possiamo sempre dominare tutto. Sono persone cattive per aver scelto le loro priorità? Ovviamente no.

JavaScript e il DOM sono spaventosi!

Confronta questo con la semplice matematica. Quando hai appreso per la prima volta come aggiungere 2 + 2, l'hai fatto in modo ufficiale? Di sicuro non l'ho fatto; Ho usato le mie dita. Scommetto che l'hai fatto anche tu. Sebbene sia un'enorme semplificazione del problema, jQuery non è allo stesso modo? Fornisce ai nuovi utenti JavaScript un punto di ingresso semplice ed entusiasmante. Ti aspetti onestamente che imparino a conoscere chiusure, oggetti e variabili globali prima ancora che imparino a fare qualcosa di divertente? Vieni, vieni, ora.

Il rigoroso "Impara nel modo giusto, o sei un pazzo"il punto di vista è ingenuo e non tiene conto dei vari stili di apprendimento che tutti noi abbiamo.

Considero jQuery come esca. Tienilo sopra la testa dell'utente, falli davvero emozionare e, quando si sentono pronti, passano quasi sempre all'apprendimento di più vaniglia JavaScript.

Gli utenti di jQuery scrivono codice scadente

Ancora una volta, questa è una massiccia generalizzazione. Alcune delle più grandi e influenti aziende al mondo usano jQuery. Ma sì, ci sono molti principianti che sono ancora in fase di apprendimento. Oh bene; succede. Il codice scadente esiste in tutte le lingue. Ne ho scritto un bel po 'anch'io, sono orgoglioso di dirlo! Il meglio che possiamo fare è, piuttosto che disprezzarli pubblicamente, offrire consigli e suggerimenti quando possiamo. Stiamo tutti imparando. Abbiamo davvero bisogno di attaccare alcuni, perché hanno priorità e abilità diverse?

Con la popolarità, arriva il potenziale per cattivi consigli.

jQuery è riuscito a generare questa comunità incredibilmente appassionata - dagli sviluppatori di JavaScript hardcore fino ai designer che sono stati sorpresi da quanto fosse facile ottenere il lavoro. Questa passione in seguito ha portato a innumerevoli tutorial jQuery da parte dei membri della comunità - sia buoni che cattivi. Mentre sto ancora imparando jQuery (qualcosa che sto ancora facendo), posso garantire che ho offerto qualche consiglio terribile in un punto o in un altro. Non è troppo dissimile dalla comunità di PHP. Con la popolarità, arriva il potenziale per cattivi consigli.


La comunità di Ruby

Questo tipo di insegnamento inutile fa quasi male alla comunità.

Nella comunità Ruby, c'è una dinamica interessante. I tutorial sono, per generalizzare le cose, scritti dai veterani. In altre parole, se hai intenzione di scrivere un articolo o un libro su Ruby on Rails, dovresti aspettarti un controllo estremo. Se non hai un grande livello di esperienza, non osare scriverne. In un certo senso, questo è un punto di forza. Da studente, puoi tranquillamente essere sicuro che ciò che stai imparando è corretto. D'altra parte, le esercitazioni di PHP sono dappertutto. Gli scrittori a volte si concentrano sull'insignificante e ignorano l'importante. Troverete spesso la migliore pratica Esercitazioni su PHP, che descrivono se è più veloce utilizzare citazioni singole o doppie virgolette. Certamente, questo tipo di insegnamento inutile fa quasi male alla comunità.

Cosa preferisci?

È una cosa interessante, devo dire. Cosa preferisci? Una base più piccola e appassionata o incredibilmente popolare, composta da tutti i livelli di abilità? C'è sicuramente pro e contro a ciascuno.

È innegabile che molti di noi sentano il bisogno di essere blazer da pista. Ricorda quando i genitori hanno iniziato la registrazione per Facebook? I critici hanno dichiarato che la fine di Facebook era vicina. Una volta sacrificato l'esclusività per un ampio ricorso, le persone iniziano istintivamente a cercare il prossimo cosa. Ma non è successo. Lo stesso vale per jQuery. Certo, alcuni utenti sono passati a framework più completi, come Dojo. Ma c'è da aspettarselo, e dovrebbe essere un distintivo d'onore per jQuery. Per molti, il ciclo di apprendimento è così:

  • Scopri jQuery; eccitarsi.
  • Renditi conto che non hai idea di cosa Questo si riferisce a diverse situazioni. Impara JavaScript e migliora in modo incrementale il tuo vecchio codice jQuery.
  • (Facoltativo) Migliora le tue competenze fino al punto in cui hai bisogno di un quadro più completo per la creazione di applicazioni di grandi dimensioni. Iniziare a rivedere strumenti aggiuntivi, come Dojo.

È così male?


Scadenze reali

Non è che stiamo codificando in binario qui, gente.

Ci saranno sempre i sostenitori che suggeriscono che non si dovrebbe usare una biblioteca - periodo. Dato lo stato attuale di JavaScript e il DOM, penso sinceramente che questo sia un cattivo consiglio, in particolare per i nuovi arrivati. Non ci si dovrebbe aspettare che lottino con frustranti incoerenze dei browser così presto nel processo di apprendimento. E, molte volte, le astrazioni sono un'ottima cosa! Non è che stiamo codificando in binario qui, gente. Quando usi jQuery o qualsiasi altra libreria popolare, puoi beneficiare di innumerevoli test, correzioni di bug e le migliori menti del settore.

Ora, certamente, non sei obbligato a usare la struttura di qualcun altro. Crea la tua biblioteca, se ne hai l'abilità; anche questo funziona! L'obiettivo è:

  • Normalizza le stranezze del browser
  • Scrivi meno codice
  • Approfitta del maggior numero possibile di menti
  • Soddisfare le scadenze reali e portare a termine il lavoro

jQuery non è "la biblioteca di un designer", ma fa appello ai designer. Non è così classe-basato come altre librerie, ma questo rende il punto di ingresso per i nuovi arrivati ​​molto più indolore. Quindi, quello che finiamo è una libreria che ha aiutato a riaccendere la comunità JavaScript. È abbastanza semplice fare appello ai neofiti e abbastanza potente da essere utilizzato dalle più grandi aziende del mondo. Perché viene criticato esattamente di nuovo?