Frontend, Backend i Fullstack Developer

Wstęp

Załóżmy, że chcesz zmienić zawód i dopiero zaczynasz swoją przygodę z tworzeniem stron internetowych i programowaniem.

Spoglądasz na oferty pracy z branży IT i widzisz następujące oferty:

  • Web developer
  • Frontend developer
  • Backend developer
  • Fullstack developer

Dobrą strategią byłoby się zdecydować już na samym początku, w którym kierunku się edukować. Tylko najpierw musisz rozszyfrować co te wszystkie określenia oznaczają. Zaczynasz czytać na ten temat i szybko się orientujesz, że co artykuł to opinia. Porównujesz do siebie definicje z kilku źródeł i nie widzisz w tym spójności - nadal twoje pojęcie jest mgliste.

Postaram ci się pomóc i przedstawić wszystkie te specjalności w przystępny sposób, bazując na swoim doświadczeniu. Nie zaserwuję ci tutaj definicji z wikipedii - bądź o to spokojny. Dodatkowo sprecyzuję jakie umiejętności są wymagane.

Web Developer

W pierwszej rozprawimy się z Web Developerem .

Jest to najbardziej ogólne określenie osoby, która ma coś wspólnego z tworzeniem aplikacji internetowych. Czyli tak naprawdę, określenie Web Developer zawiera w sobie pozostałe trzy specjalności. Jeżeli widzisz takie ogłoszenie o pracę, to dopiero po przeczytaniu pełnej treści ogłoszenia będziesz w stanie w 100% stwierdzić, czego tak naprawdę ono dotyczy.

Jednak najczęściej widzę, że ogłoszenia z takim tytułem dotyczą tak naprawdę Frontend Developera .

Frontend Developer

W skrócie: Frontend Developer odpowiada za wszystko co widzisz odwiedzając dowolną stronę internetową.

Zatem kwintesencją pracy Frontend Developera jest budowanie interfejsu użytkownika (UI - User Inteface) i dbanie o jak najlepsze wrażenia użytkownika podczas korzystania ze strony internetowej (UX - User Experience).

Mówiąc prostszym językiem - strona ma dobrze wyglądać oraz korzystanie z niej musi być intuicyjne i komfortowe dla użytkownika.

Frontend Developer podczas swojej pracy musi mieć na uwadze, że użytkownicy posiadają różne urządzenia.

Strona internetowa musi działać prawidłowo zarówno na komputerze stacjonarnym, laptopie, tablecie i telefonie. Mówiąc prawidłowo, mam na myśli, że wygląd i komfort użytkowania powinny stać na wysokim poziomie niezależnie od urządzenia.

Wymagana znajomość:

  • HTML
  • CSS
  • Javascript

Backend Developer

W skrócie: Backend Developer odpowiada za wszystko czego nie widzisz :-).

Aplikacja internetowa to zazwyczaj coś więcej niż tylko ładny i intuicyjny interfejs. Nawet prosta strona internetowa zawiera w sobie elementy, które wymagają obróbki danych czy też zapisania ich.

Pomyśl o prostym formularzu kontaktowym. Kilka pól, które użytkownik wypełnia i klika przycisk "wyślij". Do tego momentu wszystko było pod kontrolą Frontend Developera, ale po kliknięciu przycisku "wyślij" pałeczkę przejmuje Backend Developer.

Co się dzieje dalej z danymi, które wpisał użytkownik?

Są one wysyłane do serwera, a program który stworzył Backend Developer, sprawdza w pierwszej kolejności czy wszystkie wymagane dane zostały uzupełnione i czy są prawidłowe.

Powiedzmy, że w formularzu wymagane jest podanie adresu e-mail. Program musi zatem upewnić się, że adres po pierwsze został w ogóle wpisany a po drugie czy jest to prawidłowy adres e-mail, a nie omyłkowo wpisane nazwisko.

Jeśli walidacja przebiegła pomyślnie i wszystko jest w porządku to nasz program powinien zapisać tą wiadomość w bazie danych i dodatkowo poinformować wyznaczoną osobę o tym, że pojawiło się nowe zapytanie od użytkownika.

Jeśli nasz formularz pozwala użytkownikowi na wysłanie nie tylko tekstu, ale również plików (np. zdjęcia) to program powinien dodatkowo zweryfikować czy to co właśnie otrzymał od użytkownika jest rzeczywiście zdjęciem, czy nie przekracza maksymalnego dozwolonego rozmiaru itp.

To są tak naprawdę bardzo proste przykłady, ale omówmy coś bardziej skomplikowanego. Zapewne korzystasz z programów pomagających ci rozliczenie podatku? Jeśli tak to wiesz, że wszystko co musisz zrobić to wpisać liczby w odpowiednie komórki, kliknąć przycisk "przelicz" i po paru sekundach otrzymasz wypełniony formularz podatkowy. Program zrobił za ciebie całą skomplikowaną robotę - nie musiałeś nawet użyć kalkulatora.

Zadaniem programu w tym przypadku było wczytanie liczb podanych przez użytkownika, sprawdzenie czy wszystkie wymagane dane zostały podane, a na koniec podstawienie tych liczb do licznych reguł i wzorów podatkowych.

Backend Developer musi te wszystkie czynności zaprogramować, aby użytkownik mógł się cieszyć z prawidłowo wyliczonego zeznania podatkowego. Te czynności nazywa się logiką biznesową.

Wymagania:

  • znajomość przynajmniej jednego języka programowania po stronie serwera (Java, PHP, Python, Go)
  • znajomość języka SQL oraz przynajmniej jednego silnika bazy danych (MySQL, PostgreSQL, Oracle, MongoDB)
  • HTML, CSS, Javascript - z mniejszym naciskiem, ale również często wymagana wiedza w przynajmniej podstawowym zakresie.

Fullstack Developer

W skrócie: Fullstack Developer, to osoba o szerokich kwalifikacjach, potrafiąca wcielić się zarówno w rolę Frontend Developera jak i Backend Developera.

Zazwyczaj taka osoba jest dużo "mocniejsza" w jednej z tych dziedzin, ale mimo wszystko w drugiej z nich także się świetnie odnajduje. Często zna się także na administracji serwerów, konfiguracji baz danych itp.

Podsumowanie

Mam nadzieję, że udało mi przystępnie omówić wszystkie specjalności.

Tak naprawdę najważniejsze żebyś zapamiętał różnice pomiędzy Frontend Developerem a Backend Developerem.

Fullstack Developer, upraszczając, posiada kwalifikacje w obu tych obszarach, a Web Developer jest najogólnieszym określeniem programisty, który ma coś wspólnego z tworzeniem aplikacjii internetowych.

Autor
Karol Dworakowski
Programista, który odkrył w sobie pasję dzielenia się wiedzą.
Kontakt

Podobał Ci się ten artykuł?

Jeśli tak, to zapisz się do mojego newslettera!
Otrzymasz informacje o najnowszych wpisach, które poszerzą Twoją programistyczną wiedzę i przybliżą Cię do celu.
*Zero spamu, zero sztuczek - Twój adres jest bezpieczny!