Frontend i backend — gdzie kod się wykonuje i jak się komunikują
Klient, serwer, baza danych i API między nimi
Wstęp
Gdy korzystasz z aplikacji internetowej, w rzeczywistości grają dwa programy. Frontend to ten, który działa w twojej przeglądarce i to, co widzisz i klikasz. Backend działa na serwerze w innym miejscu i obsługuje dane, reguły i dostęp. Obaj rozmawiają ze sobą przez sieć.
Frontend — strona klienta
Frontend składa się z HTML, CSS i JavaScript, które przeglądarka pobiera i wykonuje. Tutaj znajduje się interfejs użytkownika i bezpośrednia interakcja. Ponieważ kod działa u użytkownika, nie można polegać na nim pod względem bezpieczeństwa — wszystko, co pochodzi od klienta, musi być sprawdzane ponownie na serwerze.
Backend — strona serwera
Backend obsługuje logikę biznesową, kontrolę dostępu i dane. To tutaj typowo pracujesz z bazą danych, sprawdzasz poprawność danych wejściowych, sprawdzasz czy użytkownik ma prawo do działania, i upewnij się, że dane są bezpiecznie przechowywane i pobierane. Backend działa na serwerze, do którego użytkownik nie ma bezpośredniego dostępu.
API pomiędzy
Frontend i backend komunikują poprzez interfejs API (Application Programming Interface). Powszechnym stylem jest web-API, gdzie frontend wysyła żądanie, a backend odpowiada danymi — często w formacie JSON. W ten sposób zarówno witryna internetowa, aplikacja mobilna i inne systemy mogą używać tego samego backendu, ponieważ mówią tym samym uzgodnionym językiem.
- 01Frontend: interfejs użytkownika, działa w przeglądarce, nie można mu zaufać bezpieczeństwo
- 02Backend: logika i dane, uruchamiane na serwerze, waliduje wszystko
- 03API: uzgodniona umowa dotycząca sposobu wymiany danych
- 04Baza danych: gdzie dane są przechowywane trwale, dostępne z backendu
Typowy przepływ danych
Wyobraź sobie użytkownika, który zapisuje profil: frontend zbiera pola i wysyła je do interfejsu API backendu. Backend sprawdza, czy użytkownik jest zalogowany i ma uprawnienia, waliduje pola, zapisuje je w bazie danych i odpowiada wynikiem. Frontend pokazuje potwierdzenie. Każda strona robi dokładnie swoją część pracy.