Не е тајна дека правењето и развојот на веб – страниците е една од „најжешките“ професии во светот денес. Проблемот е во тоа што веб девелоперите се поделени на две специјалности. Front–end или back–end, кој е подобар за вас?
Во овој туторијал, ќе пронајдете сѐ што ви треба за да донесете одлука и за да напредувате во вашата нова професија, откако ќе научите доволно за секоја од нив со што ќе можете да започнете со работа. Ќе разговараме за инволвираните технологии, за видот на работата која ќе ја работите и ќе ги објасниме типичните задачи со кои ќе треба да се соочите.
Различни сфери на влијание: front – end наспроти back – end девелопер / развивач
И покрај двете специјалности кои се познати под терминот „ веб – развивач“, вистината е дека не е важно која страна ќе ја изберете помеѓу front – end и back – end, бидејќи тоа може да не ве исклучи засекогаш да работите само на едната специјалност. Освен ако не сте подготвени да ги работите и двете.
Првата работа што треба да ја дознаете кога правиме споредба помеѓу front-end и back-end е всушност она што секој го прави пооделно. Тоа не е тешко да се дознае бидејќи овие две специјалности неможат да бидам многу различни поради тоа што се дел од една иста област.
Како работат веб – страните ?
За да видите како работи една веб – страна, ајде да ја земеме како пример една од најпопуларните.
Amazon.com е перфектен пример.
Замислете си дека сте корисник кој сака да купи нова книга. Ја гледате лентата за пребарувње, го впишувате името на книгата која сакате да ја купите и ја добивате понудената листа со наслови. Потоа кликнувате на продуктот кој го сакате, ја отвората страната на продуктот, кликувате (избирате) на „ КУПИ“, ја сместувате во вашата база, го одбирате начинот на достава и се е завршено!
Звучи едноставно, нели? Всушност сето ова е многу покомплицирано од што изгледа.
Што е направено од front – end , а што од back – end девелоперите ?
Сѐ што гледате на веб – страната на Amazon е направено од страна на front-end девелоперите. Копчињата за кликнување, листата на продукти, страницата на продуктот, страната за проверка, едноставно СЕ.
Но…
Сите овие елементи работат благодарение на системот кој back-end девелоперите го создале / изградиле. Вие ја користите лентата за пребарување направена од front-end девелоперите, но резултатите се генерирани употребувајќи пребарувачки алгоритми кои се креирани од back-end девелоперите од базата на податоци од истите луѓе.
Кога сакате да започнете работа со правење веб страни тоа не е front-end наспроти back-end туку тоа се front-end и back-end заедно.
Всушност, front-end девелоперите прават сѐ што е генерирано на веб пребарувачот и сѐ она што го гледа клиентот на веб страната. Од друга страна back-end девелоперите креираат серверски системи што го чини се она врз основа на кое front-end девелоперите ја вршат својата работа.
Еден ден во животот на front-end девелопер!
Има ли подобар начин од тоа да живеете еден ден од нивниот живот за да добиете вистинска слика за разликата помеѓу front-end и back-end девелоперите ? Најверојатно не.
Ајде да претпоставиме дека вие сте front-end девелопер во некоја компанија која има своја online продавница за скејтборд. Оваа компанија има тим од UX / UI дизајнери, front-end и back-end девелопери и системски администратори.
Ако повеќе сте за front-end девелоперите, вашиот ден, да речеме ќе започне околу 9 часот наутро. Вие ќе дојдете на работа, ќе го испиете вашето утринско кафе и ќе одите на состанок со веб дизајнерите за да разговарате за нивните нови идеи и за да го подобрите изгледот на веб – страницата.
Ако е одобрен вашиот предлог, вие ќе треба да ја „изградите“ / создадете 60% од front-end на веб страната. Како што го презентираат новиот дизајн, не може а да не се возбудите.
Нивната нова веб страница изгледа како никогаш досега, воодушевувачки. Полна е со анимации, слики. Тоа ќе биде висински предизвик за да се направи.
Тоа е сценарио од соништата.Во реалноста,веројатно ќе ве нервира тоа што можеби претходната верзија на дизајнот подобро работела, изгледала подобро додека оваа ново дизајнираната ќе претставува повеќе месеци работа за вас. А програмерите несакаат баш, непотребна работа.
Еден ден во животот на back-end девелопер!
Ајде да поглeднете од другата страна на дилемата во изборот на front-end наспроти back-end девелоперите. Ајде сега да замислиме дека вие сте back-end девелопер во истата компанија. Вашиот ден започнува во истото време, правите утринско кафе, а потоа одите на состанок со CTO на компанијата.
Тој вели дека веб страницата на главниот ваш конкурент има поточни резултати од пребарувањето и неговата веб страна се вчитува побрзо. Вие разговарате за ова прашање и одлучувате дека подобрувањето на алгоритмот за пребарување при рационализирање на процесите на серверот за подобрување на брзината на вчитување е нешто што треба да се направи.
Сега е време да се повлечете и да размислите како да го направите да работи. Тоа нема да биде лесно, но вие сте решени да успеете. Тоа е тешка загатка, но важен е успехот на компанијата. Обожувате да решавате загатки.
За време на ручекот сте слушнале за некое ново обновување на дизајнот на веб сајтот. Предлагате да бидете сигурни дека сите слики се оптимизирани правилно, но не се грижите премногу за нив. Сè додека не ве спречува да ја направите веб-страницата побрза, тоа не е ваш проблем.
Технологии кои треба да ги знаете
Како што веќе откривме, тоа не е front-end наспроти back-end. И двете специјалности би требало да се надополнуваат една со друга, правејќи ја целата веб-страница да работи на клиентот и од страната на серверот, соодветно.Со единствен исклучок, постои јасна разлика во алатките и технологиите што ќе ги користат за да успеат.
Алатки кои ги користат front-end девелоперите
Најнапред, ајде да го погледнеме front-end од проблемот помеѓу front-end наспроти back-end. Front-end алатки кои ги користат девелоперите секојдневно се HMTL, CSS и Java Script. Mark up language се користи за да се направи скелетот на веб страната. CSS се користи како начин на кој треба да му се објасни на пребарувачот/преведувачот за тоа како треба да изгледа. Java Script се користи за да се вметнат анимации, функции и транзиции на елементите.
Иако можете да направите веб сајт само со HTML, CSS и Java Script, тоа ќе биде многу непотребна работа за еден искусен front-end девелопер.
Имено, постојат многу библиотеки како Angular.js, React.js, Boot Strap кои го забрзуваат процесот и ќе ви овозможи да ги пренамените готовите алатки за ваша употреба.
Со тоа, треба да создадете сè од нула пред да си ја олесните работата со библиотеки, барем додека сè уште учите. Овие библиотеки ве спречуваат да научите како да моделирате со JavaScript за да го направите она што го сакате.
Ако не употребувате помош на почетокот ќе научите повеќе. Библиотеките се потпора, кои прават само посилни почетни кодови се додека не се претворат во брзи и силни девелопери. Во тепачка, подобро е да сте брзи и силни. Истово важи и во веб развојот.
Со самото тоа, дизајнот на продавницата за скејтборд на компанијата Х е исклучително фенси-шменси. Ќе бидат потребни многу сопствени скрипти за сето тоа да работи правилно. Како искусен девелопер на front-end, треба да водите сметка за заштеда на вашето драгоцено време и да користите библиотеки како React.js и Angular.js кога е соодветно и потребно.
Алатки кои ги користат back-end девелоперите
Алатките кои ги користат front-end девелоперите се релативно едноставни. Но, тоа не е и случајот со back-end девелоперите.
Јазици за програмирање сервери
Изборот помеѓу различните програмски јазици потекнува од склоноста, од потребите на проектот и од вашето знаење. Има неколку програмски јазици за програмирање на сервер, како што се PHP, JavaScript,Python, Ruby, C#, Java, и други.
Периферните технологии кои се користат во back-end исто така одлучуваат кој јазик ќе го користите. На пример, ако вашата веб страна е создадена во Symfony или Laravel вие ќе го користите РНР јазикот. За Django користењето Python ќе има поголема смисла отколку да го користите Express framework.
Бази на податоци
Постојат два типа на главни бази на податоци, релациона и нерелациона. Изборот на типот на база на податоци ќе одреди кој систем на база на податоци ќе го користи вашиот проект, па дури и програмскиот јазик во кој ќе се кодира целиот проект.Постојат неколку популарни системи за бази на податоци, како MongoDB, MySQL, Oracle, Redis и други.
Различни специјалности за различни интереси
Надвор од вклучените технологии и различните одговорности, изборот на вашиот front-end наспроти back-end девелопер може да се балансира и прилагоди на вашата личност и карактер.
Ако естетиката ви е важна, треба да изберете front-end како своја кариера. Голем дел од она што ќе го направите е да направите сè што корисникот го гледа на веб-страница да изгледа убаво и лесно за употреба.
Одличен front-end девелопер ќе може да разбере и да учествува во „фу“ дизајнот.
Што е всушност дизајнот-фу? Тоа е варијанта Кунг-Фу од 21 век, каде дизајнерите земаат празен документ и прават убава веб-страница.
Аналогно, front-end е одличен избор за луѓе кои сакале да бидат дизајнери некогаш во животот, но никогаш не научиле да цртаат.
Back-end, од друга страна, е сосема поинаков. Единственото нешто со што се занимаваат back-end девелоперите, кога станува збор за естетиката, е пишувањето чист код. Дури и тоа може да се заборави пред закажаниот рок.
Елегантни алгоритми, генијални решенија за тешки проблеми, тоа е она што ги тера back-end девелоперите да обрнуваат големо внимание на своите кодови.
Сега, може да добиете впечаток дека некако ги сметаме back-end девелоперите за генијални. Воопшто не е така. Двете дисциплини се еднакви, само се потребни различни вештини и приоритети.
Некои луѓе имаат природен талент за… визуелни работи, додека други сакаат да размислуваат како функционираат работите. Не избирајте според она што звучи по-кул, тоа е една од најголемите грешки што би можеле да ги направите!
Изберете ја работата што ве интересира најмногу. Ако тоа нема никаква врска со развојот, супер за вас! Нема ништо полошо од тоа да го поминувате целиот ден правејќи работи што ги мразите, дури и ако заработите цело богатство.
За што ќе бидете платени ?
Иако двата вида веб-развивачи се добро платени кога ќе се споредат со националните просеци ширум светот, вашиот избор помеѓу двата сепак може да зависи од тоа што можете да очекувате да направите во двете специјалности.
Ќе ги разгледаме просечните плати на front-end девелоперите наспроти back-end девелоперите во неколку различни земји, што треба да ви овозможи да споредите и да ја изберете својата специјалност, ако тоа е она што е важно за вас.
Плата на front-end девелопери
Според glassdoor.com, просечната плата на front-end девелопер во Њујорк е 111.728 долари, 20% над националниот просек. Ова може да се објасни со фактот дека Њујорк е метропола со една од највисоките трошоци за живот во светот и успешен деловен екосистем.
Во Лондон, Велика Британија, просечната годишна плата на front-end девелоперите е околу 52.000 долари, 22% над националниот просек, според glassdoor.com. Ова е значително намалување од она што може да го очекувате во Њујорк, додека трошоците за живот се слични.
Во Индија, просечната годишна плата на front-end девелоперите е околу 5000 долари. Ова може да изгледа како лага во споредба со она што може да очекувате да го направите во Њујорк, но запомнете, трошоците за живот во Индија не можат да бидат ни прилично споредливи со оние во Њујорк!
Плата на back-end девелопери
Во Њујорк, просечен back-end девелопер може да очекува да заработи околу 133.182 долари, што е за 17% над националниот просек. Како што можеби забележавте, тоа е значително подобрување во однос на платата на front-end девелоперите во истиот град.
Во Лондон, платата на back-end девелоперите скокнува до 74.000 долари, 32% повеќе од националниот просек. Во Индија, можете да очекувате слично покачување на она што може да се очекува да го направите како front-end девелопер.
Заклучок
Што се однесува до парите, дискусијата помеѓу front-end девелоперите наспроти back-end девелоперите е практична во корист на back-end девелоперите. Back-end девелоперите заработуваат повеќе.
Зошто?
Бидејќи работата на back-end девелоперот подразбира многу поголема одговорност. Грешката на back-end девелоперот може да ја чини компанијата многу повеќе од грешка направена од front-end девелоперот.
Ако back-end девелоперот остави сериозен недостаток во неговиот код, целата веб-страница може да пропадне, да се пробие, да се искористи од измамници. Ако front-end девелоперот направи грешка, ништо од тоа нема да се случи затоа што тој не е одговорен за страната на серверот на веб-страницата.
Па, кој да го изберете?
Се надеваме дека имате подобра идеја за тоа како размислувавте во однос на споредбата помеѓу back-end и front-end пред да го погледнете овој туторијал / објаснување.
Ако повеќе ве интересираат естетиките отколку тешките алгоритми и поставувањето комплицирани системи, треба да одите по патеката на front-end девелоперите.
Ова не значи дека е лесно да се биде front-end девелопер. За да бидете одлични, ќе треба да совладате бројни библиотеки. И ќе ви треба долго време да знаете доволно за да придонесете за напредни проекти.
Од друга страна, back-end девелоперите им е малку полесно на почетокот. Под претпоставка дека треба да знаете што треба да имате научено, бидејќи тие се ограничени што треба да знаат додека front-end девелоперите треба да знаат се од програмските јазици: HTML, CSS и JavaScript.
Бидејќи се е јасно, изборот е ваш. Па, што ќе изберете?
Патем…
Обете програми, front-end и back-end девелопер можете да ги следите на далечина со помош на искусни ментори на нашата академија.