Co to jest backend?

Autor: Opublikowano

W skrócie: Backend to część aplikacji działająca po stronie serwera: przetwarza żądania, stosuje reguły działania usługi i kontroluje dostęp do danych. Odpowiada na przykład za sprawdzenie hasła, zapis zamówienia czy udostępnienie historii zakupów. Użytkownik zwykle nie widzi go bezpośrednio, lecz korzysta z jego funkcji przez stronę internetową lub aplikację mobilną.

Backend a frontend — gdzie przebiega różnica?

Frontend to część aplikacji, z którą użytkownik bezpośrednio wchodzi w interakcję: formularze, przyciski, menu i widoki danych. W serwisie internetowym działa przede wszystkim w przeglądarce. Backend odbiera przesyłane z niej żądania i decyduje, co można z nimi zrobić.

W formularzu logowania frontend wyświetla pola na adres e-mail i hasło. Backend sprawdza dane uwierzytelniające, a po poprawnym logowaniu umożliwia rozpoznawanie użytkownika przy kolejnych żądaniach. Samo pokazanie ekranu „Zalogowano” nie daje dostępu do konta — ten dostęp musi być kontrolowany po stronie serwera.

Podział nie oznacza, że każdy projekt ma dwie osobne aplikacje. Backend może również przygotowywać gotowy kod strony, który przeglądarka następnie wyświetla. W innych rozwiązaniach przesyła głównie dane, a frontend sam tworzy z nich widok.

Za co odpowiada backend?

Najważniejszym zadaniem backendu jest realizowanie logiki biznesowej, czyli reguł określających działanie usługi. W sklepie mogą one ustalać, czy kupon rabatowy obejmuje dany produkt, a w systemie rezerwacji — czy wybrany termin jest jeszcze dostępny.

Typowe obowiązki backendu obejmują:

Kontrola we frontendzie może ułatwić wypełnianie formularza, ale nie zastępuje sprawdzenia danych przez backend. Żądanie da się wysłać z pominięciem formularza, dlatego serwer nie powinien bezwarunkowo ufać cenom, identyfikatorom kont czy informacjom o uprawnieniach otrzymanym od użytkownika.

Jak działa backend na przykładzie zakupu?

Wyobraź sobie, że kupujesz ostatnią sztukę książki w sklepie internetowym. Po kliknięciu „Zamawiam” aplikacja musi wykonać więcej czynności niż tylko zmienić zawartość ekranu.

  1. Frontend wysyła do backendu żądanie z identyfikatorem produktu, liczbą sztuk i potrzebnymi danymi zamówienia.
  2. Backend sprawdza dostępność książki oraz oblicza należność na podstawie zaufanych danych o cenach i rabatach.
  3. Zapisuje zamówienie i odpowiednio zabezpiecza stan magazynowy, aby równoczesne zakupy nie doprowadziły do sprzedaży tej samej sztuki dwóm osobom.
  4. W typowym zakupie z płatnością online komunikuje się z operatorem płatności i przekazuje frontendowi informacje potrzebne do dalszego kroku.
  5. Po otrzymaniu i zweryfikowaniu potwierdzenia płatności aktualizuje status zamówienia.

API, czyli interfejs programistyczny, określa sposób takiej komunikacji: jakie żądania można wysłać i jak wyglądają odpowiedzi. Ten sam backend może przez API obsługiwać zarówno sklep w przeglądarce, jak i aplikację mobilną. API nie jest jednak synonimem backendu — jest sposobem udostępniania jego funkcji.

Backend, serwer i baza danych to nie to samo

Serwer może oznaczać komputer udostępniający zasoby albo program odpowiadający na żądania. Backend to działająca na takiej infrastrukturze część aplikacji. Nie musi znajdować się na jednym fizycznym urządzeniu: może korzystać z wielu maszyn lub usług chmurowych.

Baza danych to system służący do uporządkowanego przechowywania i odczytywania informacji. Backend korzysta z niej na przykład do zapisania konta klienta, lecz sama baza nie zastępuje reguł dotyczących tego, kto może to konto edytować. Nie każdy backend potrzebuje też własnej bazy — niektóre usługi przetwarzają dane na bieżąco albo pobierają je z innych systemów.

Backend można tworzyć między innymi w Pythonie, Javie, PHP, C# czy JavaScripcie uruchamianym w środowisku Node.js. Wybór języka nie określa automatycznie jakości aplikacji. Przy decyzji liczą się również doświadczenie zespołu, dostępne biblioteki, wymagane integracje oraz koszty utrzymania.

Kiedy potrzebujesz własnego backendu?

Prosta strona wizytówkowa z opisem usług i danymi kontaktowymi może działać bez własnego backendu aplikacyjnego. Hosting nadal dostarcza pliki do przeglądarki, ale nie musi wykonywać indywidualnej logiki dla każdego odwiedzającego. Formularz kontaktowy można natomiast obsłużyć przez zewnętrzną usługę — wtedy potrzebny backend zapewnia jej dostawca.

Konta użytkowników, prywatne dokumenty, rezerwacje czy niestandardowe rozliczenia zwykle wymagają funkcji backendowych. Nie oznacza to konieczności pisania wszystkiego od początku: gotowa platforma sklepowa lub system zarządzania treścią mogą już je oferować. Własne rozwiązanie ma sens przede wszystkim wtedy, gdy dostępne narzędzia nie realizują istotnych reguł projektu.

Przed zamówieniem aplikacji wypisz, jakie dane ma przechowywać, kto może je zmieniać i z jakimi usługami musi się łączyć. Taka lista pozwoli ocenić, czy wystarczy gotowa platforma, czy potrzebne jest zaprojektowanie własnego backendu.

Zobacz też: Co to jest 2FA?

Przeczytaj także

Dowiedz się, jak PHP-FPM obsługuje żądania PHP, czym różni się od serwera WWW i jak dobrać ustawienia procesów do ruchu oraz zasobów hostingu.
Poznaj BIND, otwarte oprogramowanie serwera DNS: sprawdź, jak obsługuje domeny, czym różnią się jego role i kiedy warto samodzielnie go wdrożyć.
Poznaj najważniejsze Security Headers, ich rolę w ochronie strony oraz sposób sprawdzania i wdrażania nagłówków bez blokowania potrzebnych funkcji.