Front-end (FE) vagy Back-end (BE) programozást tanuljak?
Sokak fordulnak hozzánk ezzel a kérdéssel, hogy segítsünk nekik a döntésben. A válaszhoz előbb egy kis IT történelmet kell megismernünk. Vágjunk is bele!
Az 1970-es években fogalmazták meg először a szétválasztás elvét (Separation of Concerns – Edsger Dijkstra holland matematikus alkotta meg), amely már akkor választ keresett a nagy, összefüggő (monolitikus) számítógépes rendszerek problémáira és a 80-as években széles körben el is terjedt ez a tervezési elv az IT-n belül. A monolitikus rendszerek esetén problémás volt a hibák javítása, mivel egy-egy javítás esetén a teljes rendszert módosítani kellett, ezáltal az egészet újra kellett tesztelni is. A modularitás hiánya miatt nehézkes volt az ilyen rendszerek továbbfejlesztése is. Valamint a rendszerek létrehozásához is nehéz volt széleskörű, átfogó tudással rendelkező programozókat találni. Éppen ezen hátrányok miatt születtek meg a moduláris rendszerek, ahol a tervezéskor réteges felépítést (architektúrát) hoztak létre. Ekkor indult el a nagyvállalati üzleti IT rendszerek felbontása is Front-end és Back-end rendszerekre, kialakultak a többrétegű architektúrák.
Mit is jelent a többrétegű architektúra?
A szétválasztás elvének megfelelően a nagyvállalati moduláris rendszerek több rétegből állnak. Ezek a rétegek a teljes rendszer egy-egy jól meghatározott funkciójáért felelnek. Így beszélhetünk például adathozzáférési rétegről (data access layer), amely az adatok kezelését (adatbázisba történő írását és visszakeresését), vagy megjelenítési rétegről (presentation layer), amely az adatok felhasználó számára történő megjelenítését végzi. Ezen kívül megkülönböztethetünk kliens és szerver elemeket, ahol például a kliens egy böngészőben használt alkalmazás, amelyet a szerver oldal szolgál ki: feldolgozza a klienstől érkező kéréseket és adatokat küld a kliens számára, amely azokat megjeleníti. Front-end alatt az architektúra azon elemeit értjük, melyekkel a felhasználóval közvetlenül érintkezik: megjelenítik számára az információt és fogadják a tőle érkező interakciókat. Back-end alatt pedig a háttér elemeket értjük, amelyek kiszolgálják a Front-end elemeket és biztosítják az adatok kezelését, feldolgozását.
Mit jelent a Front-end és Back-end fejlesztő?
Ahogy a korábbi bekezdésben említettük nem csak technikai oldalról fontos a rendszer tagolása, szétválasztása, hanem, hogy munkaerői oldalon is könnyebb legyen programozót találni. Mert míg korábban elvárás volt, hogy egy fejlesztő mindenhez értsen (Front-end és Back-end, azaz Full-stack), hogy a rendszer bármelyik elemével tudjon dolgozni, addig ma már a szétválasztott rendszerek esetében specialistákra (Front-end vagy Back-end fejlesztő) van szükség. Olyan gyors és egyre szerteágazóbb az IT fejlődése, hogy ma már egyre nehezebb teljes technológiai tudást megszerezni. De vegyünk is egy hasonlatot ennek bemutatására: az orvosi szakmában is specialisták kezelik a betegeket: van bőrgyógyász, fogorvos, pszichiáter, belgyógyász, stb. És elképzelhetetlen, hogy olyan orvost találjunk, aki egyszerre ért és jó is minden területen. Ma már a cégek is felismerték ezt és külön hirdetnek meg pozíciókat Front-end és Back-end programozóknak, de azért még lehet találkozni olyan álláshirdetésekkel, ahol az összes létező IT-s rövidítés mögötti technológia ismeretét elvárják a leendő munkavállalótól (gondoljunk a bőrgyógyász-fogorvos-pszichiáter esetére). A jövőben várható, hogy további speciális IT területek is megjelennek, hasonlóan az orvosláshoz, egyre specializálódik ez a tudományág is. Ha Front-end és Back-end között kell választani, akkor is rengeteg technológiát kell megismerni, van mit tanulni.
És akkor végre a lényeg: melyiket tanuljam?
A Front-end fejlesztőnek meg kell értenie, hogy mit szeretne a felhasználó, a rendszert a felhasználó szemszögéből kell fejlesztenie. Fontos, hogy megértse a grafikus felhasználói felületek kialakításának irányelveit, tudjon kialakítani ergonomikus és esztétikus, modern megjelenésű, jól használható felületeket. Az autótervezésből vett szemléletes analógiával a „Front-end fejlesztő” feladata az autó belső terének megtervezése, hogy az egyszerre legyen esztétikus és könnyen használható is. Ha érdekelnek a grafikus felületek, van esztétikai érzéked, és szeretnél a felhasználók számára hasznos rendszert létrehozni, akkor neked a Front-end programozást javasoljuk!
És még egy fontos dolog: a Front-end fejlesztést nem szabad összekeverni a webdesignnal! Front-end fejlesztés során is kell komplex logikákat, algoritmusokat megvalósítanod, ismerned kell a programozási módszereket, az adatok továbbításának technológiáit.
A Back-end fejlesztő a Front-endet kiszolgáló rendszerek létrehozásában vesz részt. Az autótervezős hasonlatnál maradva, ők tervezik meg az autó belső felépítését, például a motort, az erőátviteli rendszert, a futó- vagy a kormányművet. Ismerni kell a háttérrendszerekben használt technológiákat, amelyekkel az adatokat feldolgozzuk, továbbítjuk, tároljuk, elemezzük. Ha érdekel, hogy apró részleteiben hogyan épül fel egy ilyen háttérrendszer, ha szeretsz bonyolult feladatok megoldásán gondolkodni, ha az adatok feldolgozása jobban érdekel azok megjelenítésénél, akkor számodra a Back-end programozást ajánljuk!
Reméljük ezzel a rövid leírással segítettünk eldönteni, hogy számodra melyik útvonal jelentheti a jövőd karrierjét!
Hamarosan induló fejlesztői szakképzéseinken 100% Állásgaranciát vállalunk, tandíjadat pedig részletfizetéssel vagy Képzési Hitellel is finanszírozhatod!
Ismerd meg még jobban fejlesztői Akadémiai képzéseinket és válaszd a neked legmegfelelőbbet: