Фронт-енд девелопмент и Бек-енд девелопмент

Ова два израза се последњих година често могу чути у ИТ сектору а нарочито кад је у питању развој webа. Ту долази до мало незгодне ситуације јер граница између тих израза није увек потпуно јасна. Углавном их користимо да појаснимо аспекте web индустрије па се тако фронт-енд односи на клијентску страну (као што је web дизајн) док се за back-end (у даљем тексту бек-енд) web девелопмент подразумева серверска страна. Иако ово може да изгледа као најједноставније објашњење, граница између два поменута је углавном нејасна па постоје прелази са једне на другу страну.

Ево неких основних смерница које могу помоћи да разликујемо фронт-енд од бек-енд девелопмента.

Фронт-енд

Фронт-енд би било све оно што корисник види (вебсајт или апликација) укључујући сам дизајн и описне језике HTML, CSS и неретко ЈС. Постоји много различитих послова у асоцијацији са фронт-енд девелопментом али треба имати на уму да оно што један послодавац подразумева за фронт-енд другом послодавцу може бити премало или потпуно супротно.

Уобичајени огласи за фронт-енд послове се највише постављају као послови web дизајнера, што може да доведе до закључка да је web дизајнер особа која је одговорна за дизајн или визуелни изглед сајта. Тако посматрано web дизајнер би могао да уради дизајн сајта у Фотошопу без икаквог кодирања. Ту долазимо до фронт-енда који суштински даје функционалност дизајну, јер када дизајнер користећи ма који алат уради одређени дизајн а уз то је и одговоран да напише пратеће кодове у HTML, CSS и JS добијамо један „статични сајт“.

Статичним сајтовима називамо сајтове направљене без бек-енд девелопмента или web-девелопмента и није им потребно складиштење података у базе. Такви су рецимо сајтови дечијих играоница, салона лепоте, угоститељских објеката или многих партија, синдиката, невладиних организација и државних органа или предузећа на нашем подручју. Такође у фронт-енд девелопменту поред наведеног препознајемо User Interface (UI) Designer (дизајнер корисничког интерфејса) као и User Experience (UX) designer (дизајнер корисничког искуства).

UI ради на дизајну корисничког интерфејса за хардвер: персоналне рачунаре, таблете, телефоне као и друге апарате и за кориснике односно оператере, и фокусира се на што бољу употребну могућност као и на боље корисничко искуство са циљем да интеракција корисника буде што лакша и ефикаснија. UX ради на проучавању и истраживању искустава корисника сајтова или апликација а све у циљу повећања ефикасности као и задовољства корисника ради поновног коришћена поменутих сајтова или апликација.

Бек-енд (Back-end)

Бек-енд подразумева серверску страну, то јест израду програма који је заслужан за рад web сајта или апликације. У бек-енд пословима раде девелопери или програмери који су задужени за сигурност, структуру, менаџмент датотека и управљање садржаја динамичких сајтова или апликација. Динамички сајтови су они сајтови који раде са базама података од блогова као на пример kompjuteras.com преко web продавница (са базама података робе, корпе, регистрованих купаца, магацина, акцијске продаје и сл) и друштвених мрежа Фејсбук, Гугл+, Твитер итд. до комплекснијих игара за више играча базираних на (које се играју на) web прегледачу (multi player browser based online games).

За рад развој у бек-енд је пожељно познавање или бар разумевање могућности описних језика који се користе у фронт-енд девелопменту мада то није од пресудног значаја а углавном зависи од величине пројекта који је потребно урадити за послодавца. За разлику од описних пожељно је познавање углавном високих програмских језика као што су PHP, C#, Java или сличних технологија.

Овде треба напоменути да већина високих језика има сличну или наслеђену (исту) синтаксу као и да високи језици имају мањи приступ ресурсима од ниских програмских језика. Суштински бек-енд практично није могућ без познавања серверске технологије и рада са базама података (database management system, DBMS) нпр. MySQL, Marija, Windows SQL Server, PostgreSQL, нараво Oracle и сличних.

Full stack developers је термин који се ређе среће а повезан је са претходна два, значење како му име само говори је особа која познаје и ради фронт-енд као и бек-енд.

Како би то изгледало на конкретном примеру: послодавац захтева сајт са апликацијом „трка на 110м с препонама“. Нама је у фронт-енд потребан анимирани дизајн тркача, адреса, стазе и препона (дизајнер – анимација) затим изглед web сајта са пољима за регистрацију играча (web-дизајнер HTML) а у бек-енд DBMS складиштење регистрованих играча, промена боје дреса, најбољи резултати и сл. и Јава девелопер који повезује базу података са дизајном и гради енџин (engine, мотор апликације). Такође на усавршавању могу бити ангажовани UI као и UX дизајнери у зависности од потреба наручиоца посла.

Надам се да је текст помогао бољем разумевању разлике међу терминима и ИТ пословима који се обављају а везани су за поменуту терминологију.