Er jQuery Brukere Fools?

Vi burde få dette ut i det åpne. Det synes å være en vanlig tro på at jQuery-brukere er uvitende, og oftere enn ikke, designere. Hvor kom dette fra, og er det sant?


Roots

JavaScript-fellesskapet var ikke nesten like levende og lidenskapelig som det er i dag.

La oss ta en tur ned minnekortet; Vi spoler klokken flere år - før jQuery-dager. JavaScript-verdenen var en veldig annen scene da. Samfunnet var ikke nesten like levende og lidenskapelig som det er i dag. Sikkert, da var det noen få biblioteker, som Prototype; men de klarte aldri å ta tak i vanlig bruker spotlight måten jQuery snart ville. På den tiden var JavaScript et allment hatet språk. Noen ganger er det lett å glemme at det var tider da utviklere nektet å ta den nødvendige tiden til å ... du vet ... lære JavaScript! I stedet ville de bare kopiere og lime seg, håper å holde seg fra å få den ubehagelige JavaScript-flekken på buksene sine.

DOM

Det du mener er, "Jeg hater DOM API."

Hva disse kopiene og lim inn narkomane (jeg var en av dem) ikke visste er at når du sier "Jeg hater JavaScript," hva du egentlig mener (om du skjønner det eller ikke) er "Jeg hater DOM API ." Ingen kan klandres for å føle den måten. Spesielt tilbake i disse dager, da selv IE5-støtte var i kraft, kunne det bli litt ekkel. Browser implementeringer av DOM var skyldige; ikke JavaScript-språket. Dette skyldes det faktum at det egentlig ikke var noen DOM-spesifikasjon. Som et resultat, browsere slags winged det så godt som de kunne! Vi har innerhtml ikke på grunn av en spesifikasjon, men fordi Internet Explorer-teamet bestemte seg for å bare kaste det inn der (på hvilket tidspunkt de andre nettleservirksomhetene omvendt konstruerte det og implementerte det i sine egne nettlesere). Men JavaScript-språket er som helhet solid.

Faktisk ville mange folk, inkludert meg selv, gå så langt for å si det, som et språk, er JavaScript virkelig ganske vakkert.

jQuery

Rundt den tiden gikk jQuery inn i atmosfæren, og begynte å ta utviklingssamfunnet med storm. Mens andre biblioteker som Prototype fortsatt beholdt en viss grad av kompleksitet og forvirring for nykommere, var jQuery latterlig lett å forstå takket være at alt er tilgjengelig via jQuery objekt (noe som det er ironisk nok, ofte kritisert for).

Trenger du å søke på en klasse? Lett; gjør det skreddersydd for designere. jQuery lar deg bruke CSS-valgene du allerede kjenner til å spørre DOM.

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

Morsom fakta: Teknisk sett, selv om jQuery populariserte ideen om en CSS-valgmotor, var den i stor grad basert på arbeid av Dean Edwards.

Og da, på et tidspunkt, skjedde tidslinjen til denne alternative virkeligheten ...

Det kunne bokstavelig talt ikke være enklere. Ved å trekke bort komplekse kode- og nettleservirksomheter, kunne utviklere komme tilbake til å gjøre det som var viktig: å lage nettsteder og applikasjoner.

Mens jQuery sitt fellesskap vokste i sprang, fortsatte biblioteket i seg selv også å modne og ta form. Verden var peachy.

Og da, på et tidspunkt, skjedde tidslinjen til denne alternative virkeligheten (ok, ikke som Doc Brown som det), hvor plutselig, hvis du merket deg selv som en stolt jQuery-bruker, ville visse medlemmer av JavaScript-fellesskapet følgelig føle behovet å stereotype deg som en uvitende "designer" (uansett om du var eller ikke) - absolutt ikke en "JavaScript-utvikler". Hvordan skjedde dette? JavaScript-utviklere bruker ikke jQuery?


Graden av popularitet

Alle har en mening om søkelyset.

Det er bare naturlig at når du når en viss - i mangel av bedre ord - popularitet, åpner du deg for utrolig mange undersøkelser. Alle har en mening om søkelyset, det virker. For eksempel har du uten tvil hørt uendelig kritikk av katolisismen. "De dyrker statuer." Er det den eneste religiøse kroppen med tvilsom historie? Sikkert ikke; men det er den største. USA er et av de mektigste landene i verden. Naturligvis har alle en mening. "Amerikanerne er uvitende og fete." Ignorer det gode, og spotlight det dårlige.

jQuery er det mest populære JavaScript-biblioteket, med et jordskred. Igjen, alle har en mening. Jeg har lest utallige kritikk - alt fra hva det gjør det ikke, til strukturen av kodebase. Men kanskje den største kritikken av jQuery kommer fra en enkel sannhet: Brukerne, som gjennomsnitt, er mindre erfarne med vanilje JavaScript, sammenlignet med å si, Mootools. Mens noen anser dette for å være en ulempe, ser jeg ærligvis det som en styrke - på en merkelig måte.

Det faktum at jQuery har mange mindre erfarne brukere, er ikke dens undergang; det er et bevis på sin appell.


jQuery-brukere vet ikke JavaScript!

Dette er argumentet du vil høre mer enn noe annet. Igjen, et testament til jQuery, lærer mange mennesker jQuery før vanilla JavaScript. Det har vært utallige debatter om dette er bra eller ikke. Faktisk strekker disse typer diskusjoner til alle abstraksjoner.

  • Bør designere bruke CSS preprosessorer og -rammer, som henholdsvis Sass og Compass, før de lærer innspillene til CSS?
  • Er det greit for en Ruby-utvikler å bruke CoffeeScript uten å først lære JavaScript?
  • Skal du bruke Modernizr før du lærer å skrive en enkelt funksjonstest?
  • Er det greit å bruke CodeIgniter hvis du bare har lært PHP?

Personlig føler jeg at de som krever at nybegynnere først lærer JavaScript før de går videre til jQuery mangler en ting: JavaScript og DOM er skummelt! Hvis du kaster ES5-spesifikasjonen på dem, vil de få et hjerteinfarkt, med mindre de har en reell interesse i å bli en JavaScript-utvikler. Mange mennesker trenger bare å legge til noen få effekter på sine nettsteder. Vi kan ikke alltid mestre alt. Er de dårlige folk for å velge sine prioriteringer? Selvfølgelig ikke.

JavaScript og DOM er skummelt!

Sammenlign dette til enkle Math. Når du først lærte å legge til 2 + 2, gjorde du det på den offisielle måten? Det gjorde jeg ikke sikkert; Jeg brukte fingrene mine. Jeg slår på at du gjorde det også. Selv om det er en stor forenkling av problemet, er jQuery ikke den samme måten? Det gir nye JavaScript-brukere et enkelt og spennende inngangspunkt. Forventer du ærlig at de skal lære om nedleggelser og objekter og globale variabler før de selv lærer å gjøre noe gøy? Kom, kom, nå.

Den strenge, "Lær det på den riktige måten, eller du er en idiot"Synspunktet er naivt, og tar ikke hensyn til de ulike læringsstilene som vi alle har.

Jeg ser jQuery som agn. Hold den over brukerens hode, få dem virkelig begeistret av det, og når de er klare, går de nesten alltid videre til å lære mer vanilje JavaScript.

jQuery-brukere skriver dårlig kode

Igjen er dette en massiv generalisering. Noen av de største og mest innflytelsesrike selskapene i verden bruker jQuery. Men ja, det er mange nybegynnere som fortsatt er i ferd med å lære. Jaja; det skjer. Dårlig kode eksisterer på alle språk. Jeg har skrevet en god del av det selv, jeg er stolt av å si! Det beste vi kan gjøre er å, istedenfor å fornærme dem offentlig, gi råd og tips når vi kan. Vi lærer alle. Må vi virkelig angripe noen, fordi de har forskjellige prioriteringer og ferdighetssett?

Med popularitet kommer potensialet for dårlig råd.

jQuery klarte å generere dette utrolig lidenskapelige fellesskapet - fra hardcore JavaScript-utviklere ned til designerne som ble overrasket over hvor enkelt det var å få jobben gjort. Denne lidenskapen fører senere til utallige jQuery-opplæringer av fellesskapsmedlemmer - både gode og dårlige. Mens jeg fortsatt lærer jQuery (noe jeg fortsatt gjør), kan jeg garantere at jeg tilbød noen forferdelige råd på et eller annet tidspunkt. Det er ikke så forskjellig fra PHP-fellesskapet. Med popularitet kommer potensialet for dårlig råd.


The Ruby Community

Denne typen meningsløs undervisning gjør nesten fellesskapet skadelig.

I Ruby-samfunnet er det en interessant dynamikk. Tutorials er å generalisere ting skrevet av veteranerne. Med andre ord, hvis du skal skrive en Ruby on Rails-artikkel eller bok, bør du fullt ut forvente ekstrem gransking. Hvis du ikke har et enormt nivå av erfaring, tør du ikke skrive om det. På noen måter er dette en styrke. Som student kan du lettere være trygg på at det du lærer er riktig. På den annen side er PHP opplæringsprogrammer over alt. Forfattere fokuserer noen ganger på det ubetydelige, og ignorerer det viktige. Du finner ofte beste praksis PHP opplæringsprogrammer, som beskriver om det er raskere å bruke enkle anførselstegn eller dobbel anførselstegn. Selvfølgelig gjør denne typen meningsløs undervisning nesten vondt i samfunnet.

Hva foretrekker du?

Det er en interessant ting, jeg må si. Hva foretrekker du? En mindre, lidenskapelig base, eller en utrolig populær, bestående av alle ferdighetsnivåer? Det er sikkert fordeler og ulemper for hver.

Det er ubestridelig at mange av oss føler et behov for å være trail blazers. Husk når foreldrene begynte å registrere seg på Facebook? Kritikere uttalt seg allikevel at slutten av Facebook var nær. Når du ofrer eksklusivitet for bred appell, begynner folk instinktivt å søke etter det neste ting. Men det skjedde ikke. Det samme gjelder for jQuery. Visst, noen brukere har flyttet videre til mer omfattende rammer, som Dojo. Men det er å bli forventet, og bør være et æresmerke for jQuery. For mange går læringssyklusen slik:

  • Lær jQuery; bli oppspillt.
  • Innse at du ikke har noen anelse hva dette refererer til i forskjellige situasjoner. Lær JavaScript og forbedrer gradvis din gamle jQuery-kode.
  • (Valgfritt) Fremskritt dine ferdigheter til det punktet der du trenger et mer omfattende rammeverk for å bygge store applikasjoner. Begynn å se på flere verktøy, for eksempel Dojo.

Er det så ille?


Real Deadlines

Det er ikke som vi kodes i binær her, folkens.

Det vil alltid være advokatene som foreslår at du ikke skal bruke et bibliotekstidspunkt. Gitt den nåværende tilstanden til JavaScript og DOM, skjønner jeg imidlertid at dette er dårlig råd - spesielt for nykommere. De bør ikke forventes å kjempe med frustrerende nettlesere uoverensstemmelser så tidlig i læringsprosessen. Og mange ganger er abstraksjoner en veldig god ting! Det er ikke som vi kodes i binær her, folkens. Når du bruker jQuery, eller et annet populært bibliotek, drar du nytte av utallige tester, feilrettinger og de beste sinnene i bransjen.

Nå, absolutt, du er ikke pålagt å bruke noen andres rammeverk. Opprett ditt eget bibliotek, hvis du har evnen; det fungerer også! Målet er å:

  • Normaliser nettleseregenskaper
  • Skriv mindre kode
  • Dra nytte av så mange sinn som mulig
  • Møt virkelige frister, og få jobben gjort

jQuery er ikke "designerens bibliotek", men det appellerer til designere. Det er ikke som klasse-basert som andre biblioteker, men dette gjør inngangspunktet for nykommere langt mer smertefritt. Så det vi ender opp med, er et bibliotek som bidro til å revidere JavaScript-fellesskapet. Det er enkelt nok å appellere til første timere, og kraftig nok til å bli brukt av de største selskapene i verden. Hvorfor nøyaktig blir det kritisert igjen?