Kas Vanilla JavaScripti tasub õppida? Absoluutselt.

Selle postituse eesmärk on rõhutada JavaScripti põhialuste tähtsust iga esiotsa arendaja jaoks. Ma ütlen teile, miks peaksite puhta (vanilje) JavaScripti tundma. See tähendab JavaScripti ilma täiendavate raamistike ja teekideta.

Mainin ka paari ressurssi, mis aitasid mul neid põhitõdesid õppida.

Selle postituse taga on ka see, et paljud pürgivad veebiarendajad kipuvad vahele jätma selliste JavaScripti põhikontseptsioonide õppimise nagu tõstmine, sulgemised või prototüübid. Nad lähevad otse kuumimate raamistike juurde nagu React või Angular 2. Ma näitan teile, miks see lähenemine pole kõige mugavam.

Kõik soovivad arendajaid, kellel on teadmised $ {addTheHotFramework} kohta ...

Niisiis, kas on mingit põhjust, miks peaksite Vanilla JavaScripti õppimisega viitsima?

Ilma keele enda tuumata teadmata on raske saada tugevaks arendajaks. Nii nagu peate mõistma seaduse põhiprintsiipe, enne kui saate hüpata konkreetsele õigusvaldkonnale. See võrdlus on puhtjuhuslik. ?

Saan aru, et enamik pürgivatest veebiarendajatest soovib saada tööle võimalikult kiiresti. Tahtsin ka seda.

Tundub palju lihtsam teha avariikursus JavaScripti põhitõdesid, hüpata mõnda väljamõeldud raamistikku, koostada ToDo loend (lasta kutsikal surra), laadida see GitHubi ja seejärel hakata tööd otsima.

... kuid Vanilla JavaScripti investeerimine tasub pikas perspektiivis ära

Ärge saage siin valesti aru. Ma pole kuidagi JavaScripti raamistike suhtes erapoolik. See on täpselt vastupidi. Paljud neist aitavad teil kirjutada loetavamat ja hooldatavamat koodi. Need võimaldavad teil kirjutada abstraktsemat koodi, mida on sageli lihtsam siluda.

Kuid JavaScripti ökosüsteem areneb üsna kiiresti. Uued raamistikud on loomisel. Olemasolevatele funktsioonidele lisatakse uusi funktsionaalsusi. Ja mis kõige tähtsam, paljud tänapäeva kuumimad raamistikud asendatakse lõpuks, näiteks Angular 1.

Kas sellistes oludes arvate ikkagi, et veebiarendaja jaoks piisab teadmist konkreetsest JavaScripti raamistikust?

Või on parem mõista, kuidas keel, millel kõik need teegid ja raamistikud põhinevad, töötab kapoti all?

Kui teil on usaldusväärsed teadmised JavaScripti põhialustest,ainus asi, mida peate uue raamistikuga töötama asudes end kurssi viima, on selle süntaks . Põhireeglid on samad, kuna kõigi abstraktsioonide kihtide all. See on endiselt lihtsalt JavaScripti.

Kui teie teadmised piirduvad ainult ühe JavaScripti raamistikuga, on teil raske uut õppida. Erinevad raamistikud põhinevad sageli erinevatel JavaScripti põhimõtetel. Pikas perspektiivis kulutate rohkem aega erinevate raamistike mõistmiseks ja nendesse kirjutatud koodi silumiseks.

Kõik JavaScripti raamistikud ja teegid põhinevad paratamatult selle Vanilla tuumal.

See peaks veenma kõiki, et puhta JavaScripti tundmine on pikas perspektiivis kohustuslik. See on iga eduka arendaja eeldus, eriti selle jaoks, kes töötab peamiselt JavaScripti ökosüsteemis.

Isiklik kogemus

Mitte kaua aega tagasi vaatasin tagasi oma teekonna advokaadist veebiarendajani. Esimese JavaScripti funktsiooni kirjutamisest on möödas juba 18 kuud ja kümme kuud professionaalse esiotsa arendajana töötamisest.

Mäletan siiani, kui keeruline oli minu jaoks avastada õige JavaScripti õppimise viis, kuna mul polnud eelnevat programmeerimiskogemust. Olen proovinud (ja proovin siiani) palju erinevaid viise, kuidas saada tõhusaks õppijaks. Mõni neist oli tasuvam, mõni vähem.

Kõige tähtsam on see, et ma ei saa piisavalt rõhutada, kui kasulik oli minu jaoks see, kui ma rõhutasin algusest peale puhta JavaScripti õppimist. Raamid tulid hiljem.

Praegu töötan React-Reduxi virnaga. Sellegipoolest puutun tihti kokku probleemiga, mille saan lahendada tänu oma teadmistele Vanilla JavaScripti kohta. Neid vigu oleks palju keerulisem lahendada ainult konkreetse raamistiku teadmisega.

Reactori või Angular 2 õppimine ei õpeta teile, et objektid edastatakse viitena või kuidas sulgurid toimivad. Nende mõistete proovimine raamistiku toodud abstraktsioonide all on palju raskem. See muudab lihtsate JavaScripti mõistete mõistmise raskemaks.

Veelgi enam, kui töötate JSX-i (React, Vue, Inferno) või TypeScriptiga (Angular 2), on selle peal veel üks abstraktsiooni kiht.

Kui soovite mõista, kuidas need raamistikud kapoti all töötavad, peate kõigepealt teadma, kuidas JavaScript ise töötab.

Oma lemmikraamistiku lähtekoodi lugemisega saate proovida oma teadmisi puhta JavaScripti kohta.See mitte ainult ei anna teile pilti selle toimimisest kapoti all, vaid õpetab palju ka selle loogikast, mida saate oma koodis kasutada. Näete, et raamistiku funktsioonid, mis näivad teie rakenduses palju võluväel olevat, on vaid JavaScripti põhikontseptsioonide kompositsioonid.

Anna mulle midagi, millest saan õppida

Küsimus, mille võite praegu küsida, on „Millised on head ressursid, mis aitavad mul omandada korralikke teadmisi Vanilla JavaScripti kohta?”.

JavaScripti ja selle raamistike kohta on palju kursusi ja raamatuid. Kuid vähesed neist soovivad õpetada teile Vanilla JavaScripti terviklikult. Enamik neist on spetsialiseerunud konkreetsele JavaScripti tehnoloogiale.

Kuid on veel häid ...

Kõnekas JavaScript õpetab teile lisaks JavaScripti põhitõdedele ka programmeerimise põhitõdesid. Kui olete juba arenenud arendaja, annab see raamat teile uue ülevaate JavaScripti ja selle põhiprintsiipide kohta.

Teine suurepärane ressurss on Kyle Simpsoni raamatusari "Sa ei tea JavaScripti" (YDKJS). Kyle teab tõesti, kuidas õpetada. Tema selgitused täiustatud JavaScripti mõistete kohta on algajatele sõbralikud ja ta käsitleb neid põhjalikult. Ainuüksi raamatute pealkirjad annavad teile vihje selle kohta, mida te õppima hakkate. „Üles ja minek“, „Reguleerimisala ja sulgemised“, „Selle ja objekti prototüübid“, „Tüübid ja grammatika“, „Asünkroonimine ja jõudlus“, „ES6 ja kaugemalgi“. Samuti on JavaScripti uus 7. raamat funktsionaalse programmeerimise kohta.

Üks suurepäraseid asju Eloquent JavaScripti ja YDKJSi juures on see, et saate neid tasuta hankida (vaadake lisatud linke). Kuid kui leiate, et need on tõesti kasulikud, ärge unustage autoreid neid ostes toetada.

Kui olete rohkem videokursuste inimene, saate vaadata Kyle'i veebikursusi. Parim asi, mida saate teha, on vist vaadata neid tema raamatute kaaslasena, kuna teemad on samad. Need kursused on siiski tasulised.

Teine videokursus, mis minu arvates on kasulik, on Javascript: Anthony Alicea veiderdatud osade mõistmine. See selgitab JavaScripti kapoti all toimuvat ligipääsetaval viisil. See hõlmab selliseid arenenud kontseptsioone nagu prototüüpne pärimine, funktsionaalne programmeerimine ja ulatuseahelad.

Õpi kohe Vanilla JavaScripti

Kui investeerite oma väärtuslikku aega Vanilla JavaScripti õppimisse, ei kahetse te seda. See ei sisalda mitte ainult sõna vanilje , vaid mõjutab soodsalt ka programmeerimisoskusi.

Minu jaoks on parim kompromiss see, et puhta JavaScripti õppimine annab pikas perspektiivis palju rohkem kui konkreetsesse raamistikku investeerimine. Raamid on lihtsalt otseteed. Kapoti all on see kõik JavaScript.

Näete ise olukorras, kus teie kasutataval raamistikul on ootamatu käitumine. Sellisel juhul peate lähtekoodi kaudu seda viga uurima. Kas ma mainisin, et kuigi paljudel raamistikel puudub korralik dokumentatsioon, on neil üsna keeruline kood? Aga hei, koogitükk, eks? Kindlasti veetsite juba palju aega Vanilla JavaScripti õppimiseks. Või veel mitte?

Kas peaksite sellest postitusest mäletama ainult üht:

Pidage alati meeles, et teadmised Vanilla JavaScripti kohta aitavad teil saada palju paremaks arendajaks. Periood.

Kui teile see artikkel meeldis, tehke talle paar plaksutamist. Ma hindaksin seda väga.

See postitus avaldati algselt minu ajaveebis.

Näeme Twitteris?

David Kopal (@coding_lawyer) | Twitter

David Kopali (@coding_lawyer) viimased säutsud. esiotsa arendaja @ataccama | endine advokaat | blogija ... twitter.com