Уеб разработчици: Front End, Back End, Full Stack .. Каква е разликата?

Intro

Интересувате се от уеб разработка, но не знаете много за нея? Ако е така, тази статия е за вас!

Хиляди уеб страници се публикуват всеки ден и те са кодирани от уеб разработчици, вероятно вече знаете. От друга страна, това, което може да не знаете, е, че има няколко типа уеб разработчици: основно три вида: Front-End Developers, Back-End Developers и Full-Stack Developers. Всеки от тези видове разработки може да се превърне в истинска специалност.

Следователно тази статия ще дефинира понятията между различните типове и ще ви изложи на инструментите и рамките, които са най-интересни да знаете, ако искате да станете разработчик.

Видове разработчици

Един уеб разработчик има много различни роли. Тя създава и поддържа съдържание за мрежата, насочвайки се към различни платформи, като настолни компютри, таблети и телефони.

Разработчиците на Front-End работят с езици, които работят в браузъра, който също се нарича клиент. По този начин, разработчиците на преден план работят предимно с HTML, CSS и JavaScript. Те са известни като front-end технологии, защото те представляват кой взаимодейства със сайта / приложението.

Динамичните сайтове изискват специален сървър, тъй като определено съдържание се персонализира за всеки потребител въз основа на техните данни. Този тип разработки се наричат ​​бек-енд разработка, тъй като повечето действия не се извършват пред потребителя, а на сървър на заден план.

Някой, който работи с всички различни слоеве на уеб разработката, понякога се нарича разработчик на пълен стек. В действителност всички уеб разработчици трябва да имат добро разбиране на целия стек. Стека е набор от инструменти, както отпред, така и отзад, които една компания използва, за да изгради присъствието си в мрежата. Въпреки това истинските разработчици на пълен стек са доста редки.

Езици и инструменти

Ролята на HTML

Независимо дали сте разработчик от предния, задния или пълния стек, има език, който всеки трябва да овладее, и това е HTML.

HTML: (Hypertext Markup Language) всъщност не е език, а просто начин за добавяне на контекст и структура към текста.

„Хипертекст“ означава, че документите в мрежата не се използват по линеен начин, а са предназначени да бъдат свързани с други документи. Предприемачът трябва да разбере връзката между всички страници на сайта и начина, по който се свързват помежду си. Това се нарича информационна архитектура и това означава да поставите под въпрос най-добрия начин за структуриране на сайт, как потребителят ще се ориентира в този сайт и как потребителите ще преминават от едно съдържание в друго.

Втората част на HTML е «Език за маркиране», представлява набор от тагове, които се добавят към уеб страница, за да се определи структурата му. ролята му е наистина важна. Първо, той определя ролята на всеки елемент от съдържанието; заглавие, докато други ще бъдат навигационни връзки. Някои тагове описват нетекстови елементи като изображения или видеоклипове. Всички уеб разработчици трябва да бъдат внимателни и страстни по отношение на структурата и семантиката.

Езикът за маркиране също прави нещо наистина важно. Той генерира DOM или Document Object Model. DOM описва структурата на страницата и тя е малко като карта на съдържанието в уебсайт.

Независимо дали дизайнът или функционалността на даден сайт, нищо няма да работи, ако HTML кодът не е кодиран правилно. Затова е много важно да научите основите на HTML и да практикувате кодирането с него. Въпреки че има много умения за научаване в уеб разработката, HTML е основен за всеки тип работа в тази област. Има много, които споделиха някои много добри статии за HTML5 и DOM, но препоръчвам да проверите https://www.w3schools.com/html/

Не се притеснявайте! Бъдете щастливи :) Много е лесно да се учи, в началото всичко изглежда преодоляващо (първите няколко часа), след което се случват чудеса, обещавам.

Ролята на CSS

Дизайнът играе важна роля, ключова част от всеки успешен уебсайт, всеки успешен бизнес. това е една от областите, в които ще видите специализации в различните типове разработчици. Има хора, които се интересуват повече от създаването на облика на сайта; те обичат да работят върху потребителското изживяване, което се нарича UX. И тогава има такива, които предпочитат да работят върху функциите на даден сайт, тази специализация се нарича UI.

Въпреки това, всички разработчици трябва да научат как CSS влияе на документ. Уеб дизайнът също изисква добро разбиране за това как хората използват сайтове и разглеждат съдържание. Това означава да научите как навигацията задвижва потребителското изживяване и как да представяте съдържанието на потребителя. На практика при проектирането на уебсайт ще се изисква да се научи да работи с езика на уеб оформлението, наречен CSS. Това е каскадни стилови листове. И като HTML, той е съставен от две части. Първо, CSS се състои от дефиниране на набор от правила или таблици стилове, за да се преведе DOM във визуална форма. Втората част са правилата за каскаден стил. Това са набор от правила, които описват приоритета, с които стиловете се изобразяват на страница. Това означава, че това е и език, който трябва да владеете. CSS има набор от правила, които първо идентифицират частта от страницата, която искате да промените; след като те са на място, можете да направите страницата си да изглежда като всичко, което можете да си представите чрез широк спектър от свойства. Тези свойства могат да бъдат толкова прости, колкото дефинирането на цветове, размери, шрифтове и позволяват да се прилагат класически дизайнерски концепции като контраст, подравняване, близост и т.н. ...

Добър пример за този език е CSS Zen Garden. Този сайт показва как едно и също съдържание може да бъде представено по съвсем различен начин. Сайтът има различни стилове за една и съща HTML страница. Когато изберем друг набор от правила за тази страница, оформлението на сайта се променя. Понякога драматично. Все пак това е абсолютно един и същ HTML код, той е просто представен по различни начини.

CSS също така ще ви позволи да добавите известно движение и дори ниво на интерактивност към вашите дизайни. Ученето на CSS също означава да се научите да работите с елементите на движението и езика на взаимодействие по отношение на графичния дизайн.

С развитието на CSS на езика се появиха неща като променливи, изчисления и по-сложни характеристики. И така, CSS вече има някои сходни функции с тези, които се предлагат в програмните езици. Една от големите разлики в дизайна в мрежата е, че съдържанието трябва да бъде „отзивчиво“. С други думи, той трябва да бъде адаптиран към пропорциите на различни носители като настолни компютри, лаптопи и мобилни устройства. CSS винаги се развива. Проведени са три големи ревизии, а третата, CSS3, е разделена на независими модули, които ще се развиват в бъдеще.

Така че, винаги ще има актуализации на този език. Работата с CSS може да бъде голямо предизвикателство поради сложността на езика, но сложността му е това, което го прави вълнуващо и може да доведе до много възнаграждаваща кариера.

Ролята на JavaScript

Всеки, който работи в света на уеб разработките, трябва да бъде поне удобен за програмиране. За разработката на Front-End това означава познаване на JavaScript, езикът, отговорен за управлението на взаимодействията в браузъра. Това не са само разработчиците от предния край, дори много бек-енд разработчици използват определени форми на JavaScript ежедневно и специално в наши дни JavaScript все повече се използва за бек-енд разработка със сървърна технология, наречена node, заедно я наричаме „ NodeJS ".

JavaScript се използва за обработка на събития, зареждане на медии и създаване, редактиране и изтриване на елементи в DOM страница.

Това е работа за някой, който оценява създаването и проектирането на взаимодействия със съдържание. Имаше няколко редакции на езика с нова версия, която все още е на хоризонта. Както при CSS, това са редовни реализации на нови функции, което означава, че разработчиците трябва постоянно да учат и изследват нови функции и да виждат тяхното влияние върху настоящите и бъдещите проекти. Разработчиците също трябва да са загрижени за проблема с поддръжката от различни браузъри, тъй като тъй като езикът се променя бързо, не всички браузъри интегрират последните промени и подобрения в JavaScript.

JavaScript не се държи по същия начин във всички браузъри и отстраняването на грешки от този код може да бъде особено смущаващо, но е много необходима част от уеб разработката. Някои разработчици пишат код на други езици освен JavaScript, които им позволяват да се възползват от новите техники и подобрения и след това да ги преобразуват в JavaScript. По някакъв начин развитието включва изучаване на JavaScript суперсети като TypeScript и Go.

Както споменах по-рано, JavaScript се прилага и от страна на сървъра и често се използва в работен поток за разработка като начин за управление и контрол на опита за развитие. Това означава да правите неща като компресиране или комбиниране на код, за да работи по-бързо с помощта на инструменти за работа като NodeJS, WebPack и GulpJS.

JavaScript се превърна в начин за стартиране на приложения, които ще направят живота ви, супер лесен.

Лично JavaScript е най-добрият език за програмиране, създаван някога.

Back-End основи

В по-сложни сайтове / приложения, front-end технологиите, които взаимодействат директно с потребителите, стават начин да осигурят персонализирано изживяване. Когато потребителите посещават сайт, всеки получава малко по-различен опит в зависимост от данните, съхранявани от него. За огромно количество информация е невъзможно да се кодира ръчно всяка страница, като се използват само HTML, CSS и JavaScript. Това означава, че трябва да се използва база данни за управление на скоростта на информация, изпратена на потребителя. Това е важна стъпка, за да започнете да разбирате как базите данни се превръщат в основата на програмирането.

Уеб разработчиците трябва да разберат базите данни, как обработват потребителската информация и програмните езици, които използват и показват съдържание въз основа на тези данни. Наборът от инструменти, които всяка компания използва, варира много. Всяка компания избира какво ще работи най-добре за тях. Тъй като тези езици не са свързани с това, което посетителят вижда, тук има много повече възможности за избор. Новите уеб разработчици трябва да изучават поне една от платформите за разработка на Back End и поне един език за обработка на данни.

И ако трябва да избера един набор, за да започна да уча, това ще е комбинацията от PHP и SQL. Тази комбинация е най-популярната. Независимо от това, познаването само на тези два езика ще ограничи местата, където можете да работите, и мисиите, които ще ви бъдат предложени. Така че, започнете с PHP и след това проучете някои от другите опции като Node.js (Моят любим досега), .NET или Ruby on Rails. Важно е да бъдете многостранни, когато сте начинаещ, но след като имате опит, ще бъде още по-важно (и ще платите повече) да се специализирате в една среда, в която ще станете експерт в правенето на сложни неща в любимата си технология.

Back-end е друго бързо движещо се поле; инструментите, с които работите, също ще преминават през редовни актуализации. Сега иновативните подходи и постоянно развиващите се технологии оставят разработчиците постоянно да учат, което повишава тяхната конкурентоспособност и ефективност. Това е и това, което прави back-end развитието вълнуваща кариера.

Сървъри

Когато имате достъп до уебсайт / приложение, компютърът ще стартира специален софтуер, който изпраща съдържание във вашия браузър. Тези компютри се наричат ​​сървъри, защото обслужват информация. По принцип те изпращат HTML, CSS, JavaScript и файлове, които потребителят иска. Сървърът е отговорен и за управлението на взаимодействието между данните и начина, по който данните се представят на потребителите. Сървърът често изгражда страници, които са персонализирани според различните настройки, които уеб-разработчиците контролират.

Повечето сайтове / приложения правят това чрез софтуера, който управлява работещата организация на съдържанието. Създателите на бек-енд или пълния стек отговарят за изграждането и поддържането на тези системи. Разработчиците на Front End, от друга страна, биха могли да управляват дизайна и да помогнат за създаването на функционалността на тези страници.

Има най-различни форми, размери на сървъри, работещи с различни операционни системи. Отново като уеб разработчик трябва да имате опит с поне една от тези машини и поне с една от тези операционни системи, но все пак, за да станете по-конкурентоспособни, можете да изследвате повече от едно решение, да бъдете многостранни и след това да се специализирате.

След овладяването на една от тези платформи, изучаването на нови технологии е като изучаването на различни езици, просто много по-лесно. Всеки език използва различен синтаксис, за да обясни едни и същи понятия. След като научите един, преминаването към друг език е само въпрос на изучаване на нов набор от команди.

Някои платформи работят с конкретни системи и има два основни избора, Windows и Linux. Linux е по-често срещан и по-евтин, докато Windows сървърите са популярни при големите компании. Microsoft е известен с разработването на големи среди и комунални услуги и прие голям брой проекти с отворен код. Ние обаче считаме средата на Microsoft за доста скъпа среда. Linux, от друга страна, е напълно отворен код и се поддържа от активна общност от разработчици.

Освен ако не се специализирате в задния край, няма да е необходимо да правите много със самия сървър. Все пак може да бъде полезно да разберете някои от концепциите и да разберете инструментите. Добър начин да започнете с това е да инсталирате локална версия на PHP сървър и MySQL сървър в собствената си работна станция. Статии за инсталиране на Apache, MySQL и PHP могат да ви помогнат да започнете да научавате. В Windows е лесно да инсталирате такива сървъри локално със софтуер като WAMP или XAMPP. В Mac, еквивалент ще бъде MAMP и LAMP за Linux.

Ако искате да проучите друга опция, използвайки Node.js като сървър, можете да разгледате статии за изграждането на уебсайт с Node.js и Express.js. Ако бек-ендът стане ваша специалност, ще трябва да изпълнявате задачи като внедряване на база данни, създаване на потребители, настройка на производителността, управление на достъпа, сигурност и сигурност. поддръжка.

Скриптови езици от страна на сървъра

Задните разработчици работят с друг тип език, който се нарича скриптов език от страна на сървъра (или просто език на сървъра). Както подсказва името, това означава работа върху код, който работи директно на сървър. Този код управлява данните на сървъра и го превръща в информация, която браузърът може да показва. Това вероятно е една от най-големите области на разграничаване между разработчиците. Въпреки че има много различни платформи, те по принцип правят едно и също нещо. Докато научавате уеб разработката, важно е да имате опит в повече от една от тези платформи, за да можете да намерите тази, която искате да овладеете.

Основните скриптови езици от страна на сървъра са PHP, NodeJS, .NET, ASP.NET, Ruby и Python. Сега някои от тях са свързани с конкретен тип сървърна операционна система. .NET, например, е сървърна платформа само за Windows сървъри. Някои, като PHP, могат да работят на всяка платформа и операционна система, но има някои малки разлики в прилагането на сървърната основа. Предлагам да започнете с PHP.

Това е най-популярната платформа и ще ви отвори още врати в началото. NodeJS е друга популярна платформа. Тази платформа работи с JavaScript като език на сървъра. Ако искате да работите в среда на сървър на Windows, тогава разгледайте ASP.NET. Езиците на скрипт на сървър може да изглеждат малко обезсърчаващи в началото, но те наистина ускоряват начина, по който работите с по-големи сайтове. Ще оцените какво можете да направите, като добавите един от тези езици в своята кутия с инструменти.

Езици на базата данни

За да работят с бек-енд данни, уеб разработчиците трябва да се запознаят с отделен език, който позволява на техния код да заявява бази данни за извличане на информация. В зависимост от нивото, където работите в „стека“, ще трябва да знаете как да получите достъп до данните и да ги включите чрез езика на сървъра в оформлението си. За щастие има малко стандартизация в тази среда. Повечето сървъри използват вариант на система за управление на релационна база данни или RDBMS, наречена Sequel, или SQL. Този език работи, като създава поредица от таблици, като електронни таблици на Excel, с различни полета, които могат да се свързват заедно, за да създадат връзки между данните.

Ето защо те се наричат ​​релационни. Най-популярните реализации са Oracle, MySQL, MS SQL и PostgreSQL. Въпреки това, както при много неща за уеб разработката, има и други популярни методи. Един от най-големите е NoSQL. Докато SQL насърчава разработчиците да разделят данни в различни таблици, NoSQL позволява записи без конкретна структура.

Това е много различен начин на поведение, но това е популярен метод и се използва в езиците на базата данни, като Голямата таблица на Google, която захранва неща като тяхната търсачка, Google Analytics, Карти и Gmail.

Други съществуващи популярни езици на NoSQL са например MongoDB, Couch Base и Couch DB. Сега все още има други, но научете по-малко SQL, използвайте една от платформите NoSQL и вече ще имате добър преглед на езиците на базата данни.

заключение

Затова видяхме в тази статия разликата между Full-Stack, Front-End и Back-End разработчиците, както и различните инструменти, които трябва да овладеете, ако искате да се специализирате в един от тези клонове за уеб разработка. Очевидно тази статия представя различните съществуващи езици, за да ви даде следи, ако искате да започнете в уеб разработката. Ако този ви е насочил към специализация или тип език, препоръчвам ви да започнете да търсите статии, видеоклипове в YouTube, които са по-малко приветливи и повече ориентирани към практиката, където четете / гледате и кодирате едновременно. Udemy е добър начин да започнете да научавате там, където купувате курсове за едва 12 долара.

От своя страна се надявам, че ще продължа да пиша статии, посветени на обучението и обучението. Аз също ще се съсредоточа повече върху практикуването, отколкото да говоря.

Надявам се тази статия да ви е харесала и вие да решите да станете уеб разработчик!

Кажете ми дали имате въпроси в секцията за коментари :)

Това е първата ми статия някога.