Frontend czy Backend Różnice Programowanie

Ten post dotyczy tematu: Frontend czy Backend czyli jakie są róznice między nimi.

Frontend Backend Różnice

Każda osoba zaczynająca swoją przygodę z programowaniem może spotkać się z wyborem między frontendem a backendem.

Frontend – czy to tylko piękne widoki?

Zanim popularne stały się dojrzałe frameworki javascriptowe frontend dotyczył modyfikacji stron, aby były przyjazne dla oka i przeglądarek oraz dodatkowo były responsywne.
Korzystanie z javascriptu ograniczało się do wykonywania prostych skryptów takich jak np. asynchroniczne wysłanie formularzy czy też wykonanie animacji, na które nie pozwalał sam CSS. Wraz z rozwinięciem się takich technologii jak np. Angular lub React, które pozwalają na budowanie tzw. SPA (Single Page Application), wymagania względem osoby zajmującej się frontendem znacznie wzrosły. O ile wcześniej do wykonywania roli 'frontendowca’ wystarczyła dobra znajomość HTML, CSS (w tym preprocesory CSS takie jak np. SASS albo LESS) i podstawy JavaScript to obecnie aby stać się pełnoprawnym programistą Frontend niezbędna jest znajomość conajmniej jednego z frameworków JS. Oprócz tego trzeba posiadać wiedzę z zakresu tworzenia czystego kodu, zarządzania pamięcią w przeglądarce oraz stosowanych wzorców projektowych. Oczywiście dotyczy to modnych obecnie SPA, gdzie rola backendu sprowadzona jest wyłącznie do wystawiania API czyli interfejsu programistycznego pozwalającego na pobieranie danych z serwera bazodanowego oraz realizacji logiki biznesowej aplikacji. Praca frontendowca potrafi być bardzo wdzięczna, ponieważ w dużej części odpowiada za efekt estetyczny aplikacji i w ten sposób może być bezpośrednio doceniona przez odiorców tworzonej aplikacji czy strony.

Backend – fundament aplikacji internetowych

Ogólnie rzecz biorąc to backend odpowiada za obsługę bazy danych, realizację logiki biznesowej a dodatkowo jeżeli nie jest to projekt korzystających z frameworków frontendowych to jest tutaj również obsługa widoków. To oznacza, że widoki są renderowane po stronie serwera. Renderowanie widoków to proces generowania HTML z szablonów widoków odpowiednich dla silnika renderującego w używanej technologii backendowej. Obecnie najbardziej popularne frameworki backend to:

Jako programista backend można poczuć się niedowartościowanym przez klientów czy inne osoby odbierające oprogramowanie – niestety rzadko kiedy osoby spoza branży potrafią docenić 'piękno’ tworzonego oprogramowania. Wynika to z tego, że użytkownik nie ma świadomości tego co się dzieje, gdy np. wykonuje płatność czy wyszukuje lot – wprowadza niezbędne dane i otrzymuje wynik. Użytkownik nie zdaje sobie sprawy z tego jak długa i skomplikowana droga prowadzi od potwierdzenia wykonania operacji do pokazania wyniku tej operacji.

Frontend czy Backend – co wybrać?

Wybór zależy od indywidualnych preferencji wybierającego i znajomości języków programowania – tworzenie frontendu zwykle ogranicza się do javascriptu i jego pochodnych takich jak np. TypeScript. Jeżeli chodzi o backend to mamy większe pole do wyboru taki jak Java, C#, Ruby, JS czy też PHP oraz oczywiście Python. W przypadku osób, które czują się dobre zarówno we frontendzie i backendzie istnieje rola Fullstack Developera czyli osoby potrafiącej tworzyć aplikację od A do Z.

Frontend czy Backend – Podsumowanie

Najprościej pisząc to frontend dotyczy wszystkiego co dzieje się w przeglądarce użytkownika. Natomiast backend dotyczy wszystkiego co dzieje się po stronie serwera. Zwykle aplikacje internetowe tworzone są za pomocą wzorca projektowego MVC i jego pochodnymi. Czym jest MVC? Skrót pochodzi od Model, View, Controller czyli głównych warstw, na które podzielona zostaje aplikacja. Model odpowiada za bezpośredni kontakt z bazą danych oraz realizację logiki biznesowej. View (widok) to warstwa odpowiedzialna za prezentację danych użytkownikowi. Controller (Kontroler) natomiast służy do pobierania danych od użytkownika a następnie wymienia informacje z warstwa modelu.
W zależności od tego czy w aplikacji korzystamy z frameworków JS to warstwa widoku budowana jest we frontendzie a w przeciwnym wypadku dzieje się to po stronie backendu wykorzystując odpowiednie szablony wybranego silnika renderującego.

Dodaj komentarz