Backend i frontend

Backend, frontend i full stack – czym się różnią?


Backend, frontend i full stack – czym się różnią?

Jednymi z popularnych pojęć, z jakimi możesz spotkać się w branży IT są backend i frontend. Kolejnym, związanym z nimi, jest full stack. Wszystkie dotyczą pracy programisty stron internetowych lub aplikacji. Co oznaczają wspomniane pojęcia i czym się różnią?

 Wybór specjalizacji przez programistę

Praca programistów może się różnić. W zależności od ich specjalizacji skupiają się oni na innych elementach strony internetowej czy aplikacji. Odmienne są zadania programisty frontend, a inne zajmującego się backend. Co więcej – ci specjaliści wykorzystują w swojej pracy inne technologie. Żeby strona WWW mogła działać, potrzebna jest praca obu programistów. Developer frontend odpowiada za to, co widzisz, czyli zajmuje się przygotowaniem wizualnym strony. Natomiast fachowiec od backendu odpowiedzialny jest za operacje po stronie serwera i baz danych. Programista, który rozpoczyna naukę zawodu, musi się zdecydować, w którym kierunku chce pójść. Bardzo często backend developerzy wybierają dalszy rozwój i naukę w kierunku frontend. Wtedy mówimy o full stack developerach, którzy są szczególnie cenieni na rynku IT. Sprawdźmy, co warto wiedzieć o poszczególnych specjalistach, czym dokładnie się zajmują i jakie muszą znać technologie?

Programista backend – co musi umieć?

Specjalista backend dostarcza rozwiązania po stronie serwera, dzięki którym do strony docierają niezbędne dane. Można powiedzieć, że taka osoba zajmuje się wszystkim, czego nie widzisz gołym okiem, a co jest niezbędne do sprawnego działania strony WWW. W przypadku serwisu internetowego backend obejmuje serwer, aplikację i bazę danych. Główne zadania backendowca to:

  • Tworzenie API, czyli interfejsu programistycznego aplikacji.
  • Komunikacja z bazami danych.
  • Wykorzystywanie zewnętrznych baz.
  • Zapewnienie niezakłóconego działania strony WWW czy aplikacji.
  • Troska o bezpieczeństwo danych.
  • Nadawanie funkcjonalności.
  • Monitorowanie i dbałość o wydajność.

Najczęściej programiści backend współpracują ze specjalistami frontend, żeby kod działał w ramach projektu danej strony. Backend developer powinien znać jeden z poniższych języków programowania:

  • PHP – skryptowy język programowania wykorzystywany głównie do tworzenia stron internetowych. Jeden z filarów współczesnych stron WWW.
  • JavaScript – dzięki temu językowi programowania nadajesz stronie interaktywność. W ten sposób możesz zbudować nawet gry, ale także animacje 2D i 3D.
  • SQL – język używany do tworzenia i modyfikowania baz danych. To strukturalny język zapytań, którego znajomość jest niezbędna w przypadku web developerów.
  • jQuery – jest to biblioteka dla języka JavaScript, która wspiera użytkownika przy konstruowaniu aplikacji pisanych w JavaScript.
  • Ruby – obiektowy język programowania. Ma on intuicyjną składnię, dzięki czemu pisanie programów przebiega sprawnie.
  • Python – należy do najpopularniejszych języków programowania. Można go czytać jak zwykły tekst pisany w języku angielskim. To język szczególnie polecany dla tych, którzy rozpoczynają swoją przygodę z programowaniem.

W wymaganiach na specjalistę backend może się pojawić również konieczność posiadania wiedzy z zakresu systemów kontroli wersji, m.in. Git. Programista powinien znać również frameworki, czyli szkielety do tworzenia aplikacji lub pewnej jej części. Można powiedzieć, że są to gotowe komponenty do budowy strony WWW, które przygotowali doświadczeni programiści.

Specjalista frontend

Wiesz już, na czym polegają obowiązki backend developera. Prace, jakie realizuje specjalista frontend są uzupełnieniem zadań backendowca. To on odpowiada za wszystko to, co widzisz, korzystając ze strony internetowej. Mowa o działaniach związanych z wyglądem serwisu. Nie w każdej firmie zadania takiego specjalisty muszą być takie same, ale najczęściej zajmuje się on tworzeniem źródłowej wersji strony w języku HTML i stylizacji w CSS. Główne obowiązki frontendowca to:

  •       Sprawdzenie, jak będzie wyglądać strona.
  •       Weryfikacja tego, jak witryna będzie zachowywać się w różnych sytuacjach.

Od takich specjalistów wymaga się znajomości:

  • HTML,
  • CSS – warto, że specjalista znał preprocesory CSS, takie jak np. Sass oraz Less. Ułatwiają one pisanie kodu.
  • JavaScript – ważna jest znajomość frameworków takich jak np. React JS czy Anguar JS,
  • AJAX – skrót od Asynchronous JavaScript and XML. Nie jest to samodzielna technologia, a technika tworzenia aplikacji internetowych, w których interakcja użytkownika z dokumentem odbywa się bez przeładowania całego dokumentu.
  • User Experience – czyli w skrócie UX, to coraz popularniejsza dziedzina. Chodzi w niej o dostarczenie użytkownikowi jak najlepszego produktu. W przypadku serwisów internetowych podstawowe zasady dotyczące wygody obsługi mówią, że użytkownik musi mieć możliwość prostego zaznajomienia się z interfejsem, łatwego dotarcia do informacji, których szuka i bezproblemowego przejścia przez ścieżkę np. do zakupu produktu.

 

Full stack – co potrafi?

Full stack to połączenie specjalisty backend i frontend. Musi on mieć doświadczenie we wszystkich warstwach rozwoju strony WWW. Taki programista powinien znać języki programowania i posiadać umiejętności wymagane dla backend i frontend developera. W praktyce jednak wszystko zależy od tego, znajomości jakich technologii wymaga firma, w której specjalista ma pracować.U takiego fachowca mile widziana jest znajomość podstaw wirtualizacji (np. platformy Docker) oraz systemu kolejek np. RabbitMQ, który daje możliwość tworzenia wielu kanałów.