СПОДЕЛИ
Вашиот веб сајт или веб апликација е купче со слоеви, структура, дизајн и содржина, и функционалност. Технологијата и програмирањето кои го управуваат сајтот, оној дел од сајтот кој корисниците не го гледаат, се нарекува back-end. Содржи сервер, база на податоци и апликации од серверска страна и ја претставува функционалноста во позадина, мозокот на сајтот. Ова е еко системот на администраторот на бази на податоци и back-end програмерот. Да погледнеме која е улогата на back-end програмерите: нивните обврски, околината во која работат, технологиите кои ги употребуваат и сите вештини кои се поврзани со back-end.

Што е Back-еnd: Додавање функција на форма

Вack-end е машината која го води сајтот. Корисникот не ја гледа, ниту е во директна интеракција со неа како со технологијата од клиентска страна, но таа секогаш работи во позадина, притоа обезбедувајќи ви функционалност, десктоп искуство и информации од базата на податоци директно во прелистувачот.

ОСНОВИ НА BACK-END РАЗВОЈОТ

Back-end-dev-logo

  • Back-end кодот додава употребна вредност на сè што креира front-end дизајнерот.
  • Back-end-от е комбинација на база на податоци и софтвер напишан со јазик од серверска страна, која работи на веб услуги, сервери во облак или хибридна комбинација од двете. Поставувањето на мрежниот сервер може да варира, со поделување на работата од серверска страна на неколку машини (пр. дедициран сервер за хостирање на базата на податоци).
  • Оваа апликација од серверска страна е во директна интеракција со базата на податоци преку API, кој ги извлекува, зачувува и менува податоците.
  • Податоците се враќаат и се конвертираат во front-end код со кој корисникот потоа е во интеракција: пополнување формулар, креирање профил, пазарење на интернет, итн.
  • Всушност, сето она што го гледате на еден сајт е овозможено од back-end кодот, кој постои на серверот и се управува од серверот.

АЛАТНИК НА BACK-END РАЗВИВАЧИТЕ

Back-end развивачите ја креираат и оддржуваат целата back-end функција која ја опишавме погоре. Тие го земаат завршениот front-end код и му даваат работна функционалност, на пр. овозможувајќи вредности во паѓачка листа преку креирање на инфраструктура која ги извлекува вредностите од базата на податоци.

Другите нивни обврски би вклучувале

  • Креирање на база на податоци, интеграција и управување, на пр. MySQL, SQLite, PostgreSQL, и MongoDB. SQLite е лесен и брз, што го прави многу популарна алтернатива на поголемиот MySQL.
  • Употребување на back-end работни рамки за градење на софтвер од серверска страна, како Express.js
  • Веб сервер технологии, како на пример, J2EE, Apache, Nginx (популарни за статична содржина, како слики, HTML или CSS датотеки), и IIS
  • Интеграција со услуги во облак, на пр. јавни обезбедувачи како Amazon Web Services, или приватни околини во облак.
  • Програмски јазици од серверска страна како Python, Perl, PHP, Ruby, и JavaScript, кога се имплементирани со околина за развој на серверска страна, Node.js
  • Оперативни системи: Linux и Unix, MacOS X, Windows Server
  • Развој на CMS (Систем за управување со содржина), закачување и одржување
  • API интеграција
  • Параметри за безбедност и спречување на хакирања
  • Извештаи, генерирање на аналитики и статистики, како системски извештаи за оптеретување на серверот, број на посетители, географија на посетители, итн.
  • Backup и технологии за враќање на датотеките на веб сајтот и базата на податоци.

СЕРВЕРСКИ ПРОГРАМСКИ ЈАЗИЦИ И РАБОТНИ РАМКИ

Back-end развивачите употребуваат низа на програмски јазици и работни рамки при својата работа, во согласност со нивниот работен стил и специфичните барања на сајтот. Исто така, може да работат и со јазик во софтверски комплет. Популарни back-end технологии се:

  • Ruby: Одличен за градење на комплицирана логика на страната на базата на податоци. Ruby ги дава заедно back-end и функционалностите на базата на податоци, кои PHP и SQL може да ви ги понудат како пар. Одличен за стартап компании, лесен за одржување и погоден за потребите на висока стапка на сообраќај. Ја бара Ruby on Rails работната рамка, која има огромни библиотеки со код за лесен развој. Сајтови во Ruby: Hulu и Twitter 
  • Java:  Како подгрупа на C јазикот, Java доаѓа со огромен еко систем на дополнителни компоненти за софтвер. Во основа, Java е варијација на C++ со полесна крива на учење. Нејзината платформа е независна благодарение на Java Virtual Machine. “Компајлирај еднаш, пушти секаде” е нивното мотото. Одлична за големи апликации, сајтови со густ сообраќај и Android апликации.
    • Работните рамки се: Struts и Hibernate
  • C#: C# е подобрена верзија од втора генерација на C јазикот. C# е објектно ориентирана верзија, која е посебно развиена од Microsoft за .NET работната рамка.
  • Python: Со помалку редови код, Python јазикот е брз јазик, што совршено одговара кога сакате нешто набрзина да ставите во употреба. Акцентот е ставен на неговата читливост и едноставност, па затоа е одличен за почетници. Тој е најстариот од сите јазици за пишување на скрипти. Моќен е, и одлично работи во објектно ориентирани дизајни. Сајтови направени со Python: YouTube, Google
    • Работни рамки: Django, Flask, и Pyramid
  • PHP: Најпопуларниот јазик од серверска страна, PHP е дизајниран за да извлекува и уредува информации во базата на податоци. Најчесто е групиран со бази на податоци кои се напишани во SQL јазик. PHP е уникатен заради тоа што е изграден за веб-от, а не е прилагоден на него. Тој е најчесто употребуваниот јазик и има голем број на модерни работни рамки.
  • Perl: Со 27 години на ревизии и измени зад себе, Perl 5 е интерпретиран јазик од високо ниво за интеграција на бази на податоци со Oracle, Sybase, MySQL, и повеќе. Работи на повеќе од 100 платформи и, како и Python и Ruby, е објектно ориентиран и open-source.
  • Erlang: Станува збор за програмски јазик за општа намена кој е конкурентен, т.е паралелен, што значи дека повеќе процеси може да бидат пуштени во исто време на ниво на јазик, без да има потреба од поддршка од надворешна библиотека. Се употребува во LYME и LYCE комплетите, голем број на CMS и бази на податоци, GitHub, и платформата на Goldman Sachs, поддржувајќи ги барањата за висока фрекфентност.
  • Node.js: Дел од MEAN комплетот управуван од JavaScript, тој му дозволува на front-end JavaScript јазикот да се употребува во апликации од серверска страна со Express.js работната рамка.

BACK-END КОМПЛЕТИ СОФТВЕР

Во зависност од тоа кој комплет ќе го избере, еден back-end развивач ќе треба да има познавање од повеќе компоненти.

Што е софтверски комплет? “Комплет” е група на софтвер за различни аспекти на вашиот сајт во back end, комбинирана за нивна компатибилност и функционалност, со единствена цел да го олесни развојот. Компонентите вклучуваат оперативен систем, веб сервер, база на податоци, и  јазик на скрипти од серверска страна. Не сте ограничени на компонентите во комплетот, бидејќи тие се високо прилагодливи и може да се менуваат во зависност од вашите потреби.

ДВА НАЈПОЗНАТИ КОМПЛЕТИ

1. LAMP: Linux/Apache/MySQL/PHP

LAMP се состои од бесплатни, open-source софтверски компоненти кои се добри за динамички веб сајтови и апликации. Ова е најтрадиционалниот комплет, со неколку варијанти за различни опции на оперативни системи, сервери и бази на податоци. Во LAMP комплетот, PHP може да се замени со Python и Perl.

Предности на LAMP: флексибилен, прилагодлив, лесен за развивање, безбеден. Дополнително, доаѓа со огромна заедница за поддршка бидејќи е open source.

2. MEAN: MongoDB/Express.js/AngularJS/Node.js

MEAN е JavaScript  управувана замена за традиционалниот LAMP комплет. Одличен е за бизниси кои бараат агилност и скалабилност. Нуди флексибилност со MongoDB базата на податоци која се базира на документи, и има многу опции за градење на апликации од една или повеќе страници. Употребувајќи JavaScript во front и back end, развивачите кои работат на клиентска страна ќе може лесно да го разберат серверскиот код, што води до поголема продуктивност на тимот.

Предности на MEAN: употребен е еден јазик, поддржува MVC модел, употребува JSON за пренос на податоци, нуди пристап до JavaScript модуларната библиотека на Node.js и работната рамка Express.js. И тој доаѓа со огромна заедница за поддршка бидејќи е open source.


Сакаш да станеш Back-end девелопер? Запиши се на студии на веб академијата Еверест!

Ти се допадна овој напис?
Се согласувам моите податоци да бидат префлени на MailChimp ( повеќе информации )
Стани член на клубот на веб професионалци Еверест и прв добивај информации кои можат да ти помогнат за твојот натамошен професионален развој.
И ние како и ти ги мразиме спамерите. Твојата email адреса никогаш нема да биде (про)дадена некому. Чесен збор.