Móricka nagykorú lett

Móricka nagykorú lett

April 25, 2018

Hullafáradt, több tízezer soros alkalmazások felett görnyedő fejlesztők lélegezhetnek fel, ha nagy projektek esetén a TypeScript nyelvet választják. Mi, a BlackBeltnél sok esetben ezt tesszük. Az eredmény: kevesebb hibalehetőség, fenntarthatóbb, problémamentesebb használat – elégedettebb ügyfelek.

Több mint húsz év telt el azóta, hogy a Netscape Communications kijött a JavaScript (JS)-tel. Kezdetben, a statikus weboldalak idején még csak amolyan „mórickás” volt: jelentéktelen kiegészítő eszköznek tartották, amely olyan kaliberű feladatokat oldott meg, mint a háttér színének megváltoztatása vagy egy-egy ablak „felugratása”. Később, a fogyasztói igények növekedésével aztán megérkeztek a felhasználói élményt (user experience – UX) növelő megoldások, amelyek révén a weboldalak letisztultabbak, funkcionalitás tekintetében pedig szofisztikáltabbak lettek. Ekkoriban értékelődött fel a JS szerepe. Mind nagyobb komplexitású alkalmazásokat kezdtek el vele építeni. Ma pedig már ott tartunk, hogy a webes oldalak jelentős része ezzel fut – a kis webshopoktól a legnagyobb közösségi hálókon át a tudomány sok területéig.

Ennek nyomán persze megnőttek a kódok méretei is – és itt álljunk is meg egy pillanatra.

Képzeljünk el egy szótárat, amely egy nyelv szavait tartalmazza. A könnyebb eligazodás kedvéért az igéket vastagon szedi, a főneveket pedig aláhúzza – azaz szófajonként használ valamilyen megkülönböztető jelölést. Könnyű benne megtalálni egy-egy kifejezést? Nos, nem igazán. Az eltérő betűtípus segít egy picit, de minthogy kizárólag fekete betűket tartalmaz, egy pillanat alatt átfutva egy oldalpárt, aligha talál oda automatikusan a szem a keresett szóra.

A JS nyelv szókincse, azaz a kódbázis némiképp hasonló logika szerint tagolódik. Van egy kis segítség a szófajok – típusok – beazonosításában, de érdemi támogatást nem kapnak a fejlesztők. Erre mondjuk, hogy a gyengén típusos nyelvek közé tartozik.

Amikor tehát a JS alkalmazási területe – és ezáltal a használt kódbázis – szélesedett, ez a gyenge típusosság időigényesebbé tette a fejlesztők munkáját. Amikor ugyanis sok, akár több tízezer soros, bonyolult alkalmazások kódjának szövegezésében nem jelennek meg a típusok, a fejlesztő csak egy rendkívül absztrakt, semmitmondó adatokból álló „szöveget” lát. Márpedig ebből nehéz dolgoznia. Minél nagyobb a kódbázis, annál problémásabb a hibátlan értelmezés. Két választása lehet: vagy tudja fejből értelmezni – ez komplexebb alkalmazásoknál persze nem jellemző – vagy dokumentációt csinál magának (és társainak) róla. Utóbbi megint csak időigényes, és bár sok esetben szükséges, de fejlesztés közben nem a leghatékonyabb módszer.

Nincs más megoldás?  De igen! Az egyik lehetőség erre a TypeScript (TS).

Ez a nyelv szuperszettje a JS-nek: más programnyelvekből behoz már ismert típusokat és alkalmazható módszertanokat. Programozás közben pontosan tudja, hogy a kódnak melyik pontjával dolgozik éppen, nem kell találgatnia, próbálkoznia, dokumentációt olvasnia hozzá. A szótáras metaforánál maradva, most már nem vastagítás és aláhúzás segít, hanem színes szövegkiemelők: ha sárga, akkor ige, ha piros, akkor számnév. A TS egyszerűbb esetekben is alkalmazható, de igazán a problémásabb kódbázisok okán született. Olyan projektek esetén segítség igazán, amelyeken több ember dolgozik egyszerre, gyakori konzultációt igénylő feladatok megoldásán.

Minthogy kódolás közben folyamatosan meg kell adni a típusokat – használni kell a „szövegkiemelőt” – a munka némiképp lassabb, mintha gyengén típusos programnyelvet használnának. Ám később a befektetett idő megtérül: kevesebb hibalehetőséget rejt a kész program, fenntarthatóbb, tartósabb, használata problémamentesebb lesz. Mint ahogyan ezer szót megtanulni egy idegen nyelven tovább tart, mint húszat, ám mennyivel könnyebben boldogul aztán az ember a megszerzett tudásával!

TS-t ma még kevesebben használnak, mint JS-t. Ám mi, itt a BlackBeltnél nagyon fontosnak tartjuk az új kollégák támogatását, segítségünkkel hamar elsajátítható e programnyelv használata.

Meggyőződésünk, hogy megéri.

Egyfelől, mert a Microsoft áll mögötte, ez szakmai garanciát, folyamatos fejlesztést és bővülő eszköztámogatottságot jelent. Olyan eszközökét, amelyek meggyorsítják a programozást és redukálják a hibalehetőségeket. A JS-hez kapcsolódó eszközök messze nem ilyen hatékonyak.

S hogy mit jelent mindez az ügyfél szempontjából?

Ahogy azt már említettem, a TS révén stabilabb alappal, biztosabb működéssel kell számolni. A program segítségével kisebb a valószínűsége annak, hogy hibát ejtenek a fejlesztők. Ha mégis becsúszna, később azokat gyorsabban és könnyebben lehet korrigálni.

A TS kód egyébként, amit a fejlesztők használnak, egy fordítási eljárással átalakul JS-be. Azaz: magyarul írom a könyvem, mert ezen a nyelven tudom magam igazán szabatosan kifejezni, de angol a célközönségem, ezért lefordíttatom. Mivel a fordító a TypeScript forráskódból JavaScript kódot generál, a program bármely JavaScript futtatására alkalmas böngészőben vagy akár a szerver oldalon is működni fog. Nincs szükség külső programra vagy plugin telepítésére.
Mindezeket figyelemben véve tapasztalataink szerint nagyobb vagy bonyolultabb projektek esetén a TS a kézenfekvő megoldás.

S nemcsak mi gondoljuk így: az alábbi grafikon a TS iránti megnövekedett érdeklődést mutatja:

Móricka nagykorú lett.

Herczeg Norbi
Cikket írta
Herczeg Norbi
Frontend Fejlesztő
Olvasási idő:
4 perc
Programozás
Megosztás