Érdemes megtanulni a Vanilla JavaScript-et? Teljesen.

Ennek a bejegyzésnek az a célja, hogy hangsúlyozza a JavaScript alapjainak fontosságát minden front-end fejlesztő számára. Megmondom, miért kell jól ismernie a tiszta (vanília) JavaScript-et. Ez azt jelenti, hogy a JavaScript nem tartalmaz további kereteket vagy könyvtárakat.

Megemlítek néhány forrást, amelyek segítettek megtanulni ezeket az alapokat.

A bejegyzés másik oka az, hogy sok feltörekvő webfejlesztő hajlamos kihagyni az olyan alapvető JavaScript-fogalmak elsajátítását, mint az emelés, a bezárások vagy a prototípusok. Egyenesen a legforróbb keretekhez mennek, mint például a React vagy a Angular 2. Megmutatom, miért nem ez a megközelítés a legkényelmesebb.

Mindenki olyan fejlesztőket szeretne, akik ismerik a $ {addTheHotFramework}…

Tehát van valami oka annak, hogy miért kell zavarnia a Vanilla JavaScript használatát?

Nehéz erős fejlesztővé válni, ha nem ismeri magát a nyelv lényegét. Ahogyan meg kell értenie a törvény alapelveit, mielőtt átugorhatna egy adott jogterületre. Ez az összehasonlítás tisztán véletlen. ?

Megértem, hogy a feltörekvő webfejlesztők többsége a lehető leghamarabb fel akarja őket venni. Én is ezt akartam.

Sokkal könnyebb elvégezni egy összeomlási tanfolyamot a JavaScript alapjain, beugrani valami divatos keretrendszerbe, elkészíteni a ToDo listát (hagyni, hogy egy kiskutya meghaljon), feltölteni a GitHub-ba, majd elkezd munkát keresni.

… De a Vanilla JavaScript-be történő befektetés hosszú távon megtérül

Ne értsen félre itt. Semmi módon nem vagyok elfogult a JavaScript keretrendszerekkel szemben. Pontosan az ellenkezője van. Sokan közülük segítenek az olvashatóbb és fenntarthatóbb kód megírásában. Lehetővé teszik absztraktabb kód írását, amelyet gyakran könnyebb hibakeresni.

De a JavaScript ökoszisztéma elég gyorsan fejlődik. Új keretek készülnek. Új funkciók kerülnek a meglévőkhöz. És ami a legfontosabb, a mai legforróbb keretek közül sokakat végül cserélnek, például az Angular 1-et.

Ilyen körülmények között továbbra is úgy gondolja, hogy egy adott JavaScript keretrendszer ismerete elegendő egy webfejlesztő számára?

Vagy jobb megérteni, hogyan működik a motorháztető alatt az a nyelv, amelyen ezek a könyvtárak és keretrendszerek alapulnak?

Ha rendelkezik alapos ismeretekkel a JavaScript alapjairól,az egyetlen dolog, amit meg kell ismernie, amikor új keretrendszerrel dolgozik, a szintaxisa . Az alapszabályok ugyanazok lesznek, mivel az absztrakciók minden rétege alatt. Ez még mindig csak egyszerű JavaScript.

Ha ismeretei csak egyetlen JavaScript keretrendszerre korlátozódnak, akkor nehezen tud újat tanulni. A különböző keretrendszerek gyakran más JavaScript elvek alapján készülnek. Hosszú távon több időt fog eltölteni a különböző keretrendszerek megértésével és a beléjük írt kód hibakeresésével.

Az összes JavaScript-keret és könyvtár elkerülhetetlenül a Vanilla magjára épül.

Ezzel mindenkit meg kell győzni arról, hogy a tiszta JavaScript ismerete hosszú távon elengedhetetlen. Ez előfeltétele minden sikeres fejlesztőnek, különösen annak, aki főleg a JavaScript ökoszisztémában dolgozik.

Személyes tapasztalat

Nem sokkal ezelőtt visszatekintettem az utamra egy ügyvédtől egy webfejlesztőig. Már 18 hónap telt el az első JavaScript-függvény megírása óta, és a 10. hónapom hivatásos front-end fejlesztőként dolgozott.

Még mindig emlékszem, milyen nehéz volt számomra a JavaScript megtanulásának helyes módjának felfedezése, mivel korábban nem volt programozási tapasztalatom. Sokféle módszert próbáltam (és próbálok most is) hatékony tanulóvá válni. Némelyikük kifizetődőbb, mások kevésbé.

Ami a legfontosabb, nem tudom elégszer hangsúlyozni, mennyire hasznos volt számomra, hogy a kezdetektől fogva a tiszta JavaScript elsajátítására helyeztem a hangsúlyt. A keretek később jöttek.

Jelenleg egy React-Redux veremmel dolgozom. Ennek ellenére gyakran találkozom olyan problémával, amelyet megoldani tudok a Vanilla JavaScript ismereteimnek köszönhetően. Ezeket a hibákat sokkal nagyobb kihívást jelentene megoldani, csak egy adott keretrendszer ismeretében.

A React vagy az Angular 2 elsajátítása nem tanítja meg, hogy az objektumokat referenciaként adják át, vagy hogy hogyan működnek a zárások. Sokkal nehezebb megpróbálni megérteni ezeket a fogalmakat a keret által hozott absztrakciók alatt. Ez megnehezíti az egyszerű JavaScript-fogalmak megértését.

Továbbá, ha JSX-szel (React, Vue, Inferno) vagy TypeScript (Angular 2) dolgozik, akkor egy másik absztrakciós réteg van a tetején.

Ha meg szeretné érteni, hogyan működnek ezek a keretrendszerek a motorháztető alatt, akkor először tudnia kell, hogyan működik maga a JavaScript.

A tiszta keretrendszer forráskódjának elolvasásával tesztelheti a tiszta JavaScript ismereteit .Ez nemcsak képet ad arról, hogyan működik a motorháztető alatt, hanem sokat fog tanítani a logikájáról is, amelyet a saját kódjában is felhasználhat. Látni fogja, hogy a keretrendszer funkciói, amelyek úgy tűnik, hogy nagyon varázslatosak az alkalmazásában, csak az alapvető JavaScript-fogalmak összetételei.

Adj valamit, amiből tanulhatok

A most feltett kérdés: "Melyek azok a jó források, amelyek segíthetnek abban, hogy tisztességes ismereteket szerezzek a Vanilla JavaScript-ről?".

Rengeteg tanfolyam és könyv található a JavaScript-ről és annak keretrendszereiről. Közülük kevesen törekednek arra, hogy átfogó módon megtanítsák a Vanilla JavaScript-et. Legtöbbjük egy adott JavaScript technológiára szakosodott.

De még mindig vannak jók…

Az Eloquent JavaScript nemcsak a JavaScript alapjait, hanem általában a programozás alapjait is megtanítja. Ha Ön már fejlett fejlesztő, akkor ez a könyv új perspektívát nyújt Önnek a JavaScript-ről és annak alapelveiről.

Egy másik nagyszerű forrás a Kyle Simpson által kiadott „Nem tudod a JavaScriptet” (YDKJS) könyvsorozat. Kyle valóban tudja, hogyan kell tanítani. A fejlett JavaScript-koncepciók magyarázata kezdőbarát, és azokat alaposan átfogja. A könyvek puszta címe ad tippet arra, hogy mit fogsz megtanulni. „Fel és haladva”, „Hatókör és bezárások”, „ez és az objektum prototípusai”, „Típusok és nyelvtan”, „Async és teljesítmény”, „ES6 és azon túl”. Van egy új, 7. könyv a funkcionális programozásról a JavaScript-ben.

Az Eloquent JavaScript és az YDKJS egyik nagyszerű tulajdonsága, hogy ingyen megszerezheti őket (ellenőrizze a mellékelt linkeket). De ha valóban hasznosnak találja őket, ne felejtse el támogatni a szerzőket vásárlásukkal.

Ha inkább videotanfolyamot folytat, megnézheti Kyle online tanfolyamait. Azt hiszem, a legjobb, amit tehetsz, ha nézed őket társaiként a könyveinek, mivel a témák ugyanazok. Ezek a tanfolyamok azonban fizetettek.

Egy másik videotanfolyam, amelyet hasznosnak találok, a Javascript: Understanding the Weird Parts, Anthony Alicea. Hozzáférhető módon elmagyarázza, hogy mi történik a JavaScript burkolata alatt. Olyan fejlett fogalmakra terjed ki, mint a prototípusos öröklés, a funkcionális programozás és a hatókörláncok.

Ismerje meg most a Vanilla JavaScript-et

Ha értékes idejét a Vanilla JavaScript elsajátítására fordítja, nem fogja megbánni. Nem csak a vanília szót tartalmazza , hanem jótékony hatással lesz a programozási képességekre is.

Számomra a legjobb kompromisszum az, hogy a tiszta JavaScript megtanulása hosszú távon sokkal többet fog adni, mint egy adott keretrendszerbe fordított idő. A keretrendszerek csak parancsikonok. A motorháztető alatt mindez JavaScript.

Ön maga is meggyőződhet arról, hogy egy Ön által használt keretrendszer váratlan viselkedéssel rendelkezik. Ilyen esetben kénytelen lesz kivizsgálni ezt a hibát a forráskód áttekintésével. Megemlítettem, hogy bár sok keretrendszerből hiányzik a megfelelő dokumentáció, elég komplex kóddal rendelkeznek? De hé, tortadarab, igaz? Biztosan sok időt töltött már a Vanilla JavaScript megtanulásával. Vagy még nem?

Csak egy dologra emlékezne ebből a bejegyzésből:

Mindig ne feledje, hogy a Vanilla JavaScript ismerete segít abban, hogy sokkal jobb fejlesztővé váljon. Időszak.

Ha tetszett ez a cikk, adj neki néhány tapsot. Nagyra értékelném.

Ez a bejegyzés eredetileg a blogomon jelent meg.

Találkozunk a Twitteren?

David Kopal (@coding_lawyer) | Twitter

David Kopal (@coding_lawyer) legújabb tweetjei. front-end fejlesztő @ataccama | volt ügyvéd | blogger… twitter.com