Frontend vs. Backend

Tyto dva výrazy jsou používané zejména mezi programátory, rozumí jim ale i projektoví manažeři v IT firmách. Pro mnohé je však stále nejasné, o co jde a kde se mezi nimi nachází pomyslná hranice.

Dobrá pomůcka pro zapamatování, co které slovo znamená, se dá odvodit z jejich anglického překladu. Frontend je něco jako “přední konec”, neboli to, co je vepředu, to, co je vidět. Backend, tedy “zadní konec” je pak to úúúplně vzadu. Tyto pojmy zastřešují technologie právě podle toho, jestli se pomocí nich dělají věci, které jsou viditelné, a nebo se pomocí nich definuje vnitřní chování nějaké aplikace. Hned vysvětlím na příkladu.

HTML je jedna z frontendových technologií. Jedná se o značkovací jazyk, pomocí kterého udáváte strukturu a formu textu pro webové stránky. Znáte to, například pomocí tagu <h1> </h1> uděláte nadpis první úrovně, a tak dále… Důležité v tomto případě je, že změny, které v jazyce HTML uděláte, se promítnou na obrazovce pro vaše uživatele - místo ve větách je text v seznamu s odrážkami, tabulka má najednou více řádků, odstavce jsou delší apod. Když to vezmeme víc technicky, jedná se o jazyky, které fungují na klientovi, neboli v prohlížeči. Prohlížeč sám je umí interpretovat, rozumí jim.

Napiš svůj první kód

Oproti tomu technologie backendu běží na serveru, někde klidně i několik stovek kilometrů vzdáleném od počítače, odkud danou aplikaci používáte. Server je potřeba, aby daný jazyk rozluštil, aby mu porozuměl - ten potom posílá výsledky na klienta. Podíváte-li se třeba na Facebook, server musí udělat celou řadu práce - podívá se do databáze, najde si vás podle vašich přihlašovacích údajů, vytáhne ven novinky vašich kamarádů za poslední dny, zpracuje tyhle informace a pak to všechno pošle na klienta už v technologiích, kterým klient rozumí.

Pod backend spadají například programovací jazyky jako je Ruby, Python, Java, C nebo třeba Haskell. Pomocí nich naprogramujete, co bude aplikace dělat. Například: Facebook je postavený na tom, že každý uživatel má svůj účet, svou osobní zeď, může se spojovat s kamarády a může psát statusy. Backend to tedy vše připraví a zařídí, aby fungovalo, jak mělo (na serveru) a pak to vše odešle na frontend (do klienta), kde se už jen finalizuje, jak to všechno bude dohromady vypadat. Uživatel pak dostane celý výsledek jako jednu stránku.

Vyber si programovací jazyk

Až tedy zase příště uvidíte inzerát, že se hledá šikovný frontenďák, budete vědět, že tento člověk nebude muset znát kdovíjaké algoritmy či pracovat s databází, ale mnohem spíše bude potřebovat rozumět HTML a kaskádovým stylům a k tomu se mu bude hodit i špetka citu pro design.

Kdo pro tebe napsal tento příběh?
Zuzana Dostalová
Web Development Lead (Praha)