És hagyja el a PHP-t a jQuery számára

Régóta használom a jQuery-t. Aztán a Vanilla JS, ahogyan elegánsan hívjuk, a JavaScript natívan implementálva. Figyeltem a Knockouts-t és a társaságot anélkül, hogy valaha is igazán fektettem volna bele. Ez volt a helyzet az AngularJS esetében is, olyan szuperhős, és mindenki ajkán! MVVM, úgy tűnt. Barbár név, amit újra kell gépelni, amikor éppen befejeztem az MVC architektúra csínját-bínját mélyreható megértését. Nem köszönöm.

Annyit elárulok: a magam részéről a szerepek szétválasztására esküdtem. Nem akartam visszatérni a HTML keverési struktúrájához és viselkedéséhez érvénytelen W3C attribútumokkal és forráskóddal, hogy sírjak. Jól megvigasztalt a gondolat, hogy a jQuery vagy a Vanilla JS biztonságos értékek maradtak!

De ott. Végül úgy vizsgáltam ezt az AngularJS-t, hogy láttam, hogy elment. Kiderült, hogy a főbb hibákat, amiket nála találtam, egy kis szigorral meg lehet oldani. RENDBEN? De mit ér annyi erőfeszítés a divatos eszköz használatára, ahol a jQuery mindig is elvégezte a munkát?

Még ha részben megértettem is egy ilyen változtatás hasznosságát az Aurelia, React then Angular felületi tanulmányaimnak köszönhetően, úgy tűnik, hogy a Vue.js tanulmánynak köszönhetően megtaláltam a végleges választ arra, hogy miért kell elhagynom a jQueryt. És egy egyszerű olvasás délutánban! Most erre a könyvtárra esküszöm!

Egyszerűen fogalmazva: a jQuery áthalad a DOM-on, ahol a Vue az adatokat! És ez mindent megváltoztat.

Kezdetben volt jQuery

Nagyon szerettem a jQuery-t. Ennek a JavaScript-könyvtárnak köszönhetem, hogy ma szenvedélyes, full-stack JavaScript-fejlesztő vagyok. Visszatérve arra az időre, amikor teljesen amatőr szórakozásból fejlesztettem weboldalakat, a PHP-fájljaimból a jQueryre esküdtem. Elhagytam azonban a PHP-t, amely kezdett komoly objektumszintaxissal díszíteni magát, és inkább egy front-end specializációt választottam. Lenyűgözött a jQuery rugalmassága.

Hogyan lehetséges, hogy a jQuery JavaScriptben készült? Akkoriban az egyetlen kapcsolatom a JavaScripttel a JavaScript-szerkesztő webhelyén található „adóköteles” szkriptek voltak. Az én szószomba kerültek órákig tartó „hackeléssel”, hogy elkerüljük a böngészők közötti különféle hibákat. A JavaScript határozottan „mocskos” nyelv volt, amit utáltam. De ez a jQuery egyszerű volt, elegáns, gyorsan írható, egyszerű, külön a HTML-től, több ezer pluginnal stb. És nem tudom, mondtam-e, de egyszerű is.

A HTML-lel a szerkezethez, a CSS-sel a bőrhöz és a jQuery-vel az interakcióhoz, találtam egy mesés fejlesztési módot a különböző szerepek szétválasztásával anélkül, hogy keveredtem volna, így teljesen különböző felületeket kaphatok ki ugyanazzal a HTML-lel.

Természetesen, hogy lépést tartsak a háttérrel, objektum-orientált programozást tanultam Java-val az iskolában és C #-vel a munkahelyen. Ezek olyan nyelvek, amelyeket tiszteltem szigorúságuk, összetettségük és a megvalósítás filozófiai tárgya miatt. De a jQuery túlságosan méretezhető, sokoldalú, elegáns és egyszerű volt ahhoz, hogy ne legyen a kedvencem. Természetesen, ha valami szilárd dolgot kellene csinálnom, megtehettem. De ellentétben az elmúlt években tanulmányozott háttérnyelvekkel, valami egyszerűre a jQuery erre is válaszolt!

A jQuery annyira kényelmessé vált, hogy nehéz volt elszakadni tőle, és még elképzelni sem lehetett, hogy más könyvtárak jobban teljesítenének.

De ez a kérdés még mindig foglalkoztatott. Hogyan lehetett JavaScriptben fejleszteni egy olyan könyvtárat, amely határozottan elfordított a PHP-től, majd a C #-től és a Java-tól.

A JavaScript nem automatikus!

Feltűrtem hát az ingujjamat, hogy igazán megértsem a JavaScript alapjait. Azt mondanám, hogy a kulcs számomra az volt, hogy megértsem ennek a nyelvnek a teljes aszinkron jellegét és a függvények paraméterként való átadásának lehetőségét.

Csinálok valamit, és átadom azt a függvényt is, amelyet meg kell hívni, ha ez a valami elkészült, függetlenül attól, hogy ez a valami mennyi ideig tart. Hihetetlen, szóval ezt nem a jQuery "találta fel". Valójában ez a mechanizmus a lezárásoknak köszönhető, és az, hogy a függvények átadhatják magukat függvényekben, abból fakadt, hogy a függvények objektumok voltak. És ez a szegényes, a gépelés hiányától szenvedő nyelvezet, az értékek étkeztetésének lehetősége nélkül, valójában gyengén gépelt, és kényszert alkalmazott, hogy szükség szerint „automatikusan” típust váltson.

A JavaScript minden bizonnyal érdekesebb volt, mint első pillantásra, és sok olyan fogalmat kevert, amelyeket az összes korábbi nyelven tanulmányoztam, amelyeket tanulmányozhattam. Végül az összes legújabb böngészőben implementált natív DOM API tanulmányozása során arra a következtetésre jutottam, hogy ideje búcsút venni a jQuery-től. Ez a mesés eszköztár valójában csak egy lépcsőfok volt a JavaScript megfelelő szögből és könnyebben történő kezeléséhez. Csak bátorság kellett hozzá.

Kitártam hát a kezem a Vanilla JS előtt, és meggyőztem magam arról, hogy a natív JavaScript – kis könyvtárakkal és takarékosan használt polifillekkel – a kulcs a megváltásomhoz.

Annyit el kell mondanom neked, hogy annak idején egy ilyen kinyilatkoztatással rosszul indult, hogy elinduljak az AngularJS-ben!

AngularJS, Node.js, React, Angular egy kosárban?

Lemaradtam a back-endről! C # szakértő társaimra bíztam egy teljes webhely futtatását. A CodeIgniterrel vagy a Laravel-lel végzett kis kirándulásaim, hogy egy kis PHP-t újracsináljak, valóban megértették, mennyire hiányzik a JavaScript „mágia” más nyelvekből. De úgy tűnt, meg tudjuk csinálni a JavaScriptet szerveroldalon.

Tehát nem kellett több, hogy a Node.js-t ugorjam, amikor csak a 0.1xx verziót jelenítette meg! Kénytelen voltam azonban úszni az általam talált különböző verziókhoz rendelt különféle erőforrások között, és kezdetben nehéz volt megkülönböztetni, hogy mi tartozik valójában a Node.js magjához, és az olyan npm-csomagokhoz, mint az Expressor, még az Express köztes szoftveréhez is.

Bár nem olyan bonyolult a JavaScript-háttérrel, a tanulási görbe arra késztetett, hogy azt gondoljam, hogy a Node.js-nek szüksége van egy kis lökésre, hogy a front-end fejlesztők „elakadjanak” a jQuery- vagy PHP-háttér-fejlesztőknél, akik óvakodnak a JavaScripttől.

A JavaScript ökoszisztéma robbanásszerűen megnőtt, így az ökoszisztéma megértése is. Most már senki sem alkalmaz JavaScript-szakértőket. Az ajánlatok azt jelentik, hogy szükségünk van egy JavaScript fejlesztőre, aki egy ilyen keretrendszeren dolgozik. A NodeJS, ReactJS, NodeJS, AngularJS vagy VueJS alapján vannak még olyan emberek, akik tudják, miről beszélnek? Hogyan tehetnek a nem szakértők, ha még a JavaScript fejlesztők is elvesznek?

De többszöri átkelés és szigorú figyelés után végre nem olyan ijesztő. Kérdezd meg a szakértőket!

Megtekintés? Nem láttam őt!

Az AngularJS mellett volt egy diszkrét Vue.js is. Igénytelen, fel tudja venni vele a versenyt. Az egyszerűség, az elegancia kiemelkedett az evolúciós és sokoldalú felhasználás iránti vágyával. Ráadásul az API-ja mindenekelőtt olyan jól definiált, hogy a belső mechanikájának alapos megváltoztatása nem befolyásolta a külső felhasználást az egyik verzióról a másikra való átállás során, így többek között virtuális DOM-ot kapott. Az AngularJS a maga részéről mindenkit elveszített, és a hétköznapi embereket a TypeScript használatára kényszerítette (még ha nem is kötelező szerencse nélkül).

Látott, aki látta, látni fogja. Láttad?

Amikor a React megérkezett a szerveroldali renderelésével a virtuális DOM-nak és a JSX használatának köszönhetően, a Vue még mindig ott volt, és képes volt szerveroldali renderelésre.

Valójában a Vue a kezdetektől fogva ott volt, és olyan jól átgondolt, hogy kívülről alig változott. A teljesítmény, a súly és a tanulási görbe tekintetében azonban felülmúlja az Angular and React! Ennek ellenére besurran a Vue.js egy független JavaScript közösség vezetésével, ahol a nehézsúlyú Google és a Facebook vív háborút.

A Vue annyira méretezhető és egyszerű, hogy ugyanolyan egyszerűen használhatja, mint a jQuery-t! És ez nem trükk. A Vue-t úgy tervezték, hogy takarékosan használható legyen egy kliens DOM-on, egyes felületeken és űrlapokon, valamint hogy önállóan kezelje a teljes kliens- és szerveroldali DOM-ot, valamint a teljes navigációt!

És most?

A Vue.js az Angular és React számára ugyanaz, mint a jQuery a Vanilla JS számára. Továbbá, ha még mindig a komfortzónájában tartózkodik a jQuery-vel, és megvédi ezt a pozícióját, mint egy redukálhatatlan gall azzal, hogy meggyőzi magát arról, hogy az Angular és React gázgyárnak nincs mit hoznia, próbálja ki a kalandot a Vue-val. Js. Az intuitív „útmutatónak” köszönhetően nem kell több fél napnál, hogy megízlelje a benne rejlő lehetőségeket.

Mindenesetre számomra ez minden Vue!

További tartalom: «plainenglish.io