Podręcznik
2. Podstawowy podział na warstwy: frontend i backend
2.2. Backend
Backend to "niewidoczna" część aplikacji, która jest odpowiedzialna za logikę biznesową, przechowywanie i przetwarzanie danych a także za komunikację (integrację) z systemami zewnętrznymi.
Kluczowe aspekty backendu:
- Serwery: Backend działa na serwerach, które obsługują żądania przesyłane przez przeglądarki internetowe (np. pobranie danych do wyświetlenia na stronie).
- Bazy danych: Backend obsługuje komunikację z bazą danych, zapisując, pobierając i przetwarzając dane. Popularne bazy danych to np. MySQL, PostgreSQL, MongoDB.
- Logika biznesowa: Backend implementuje logikę działania aplikacji, np. uwierzytelnianie użytkowników, przetwarzanie zamówień w sklepie internetowym, obliczenia matematyczne, generowanie raportów itp.
- API (Application Programming Interface): Backend dostarcza interfejsy API, które pozwalają frontendowi na wymianę danych z serwerem. Dobrze zdefiniowane API jednoznacznie określa sposób wykorzystania protokołu HTTP i formatów danych jak JSON czy XML do wymiany informacji pomiędzy frontendem a backendem.
- Bezpieczeństwo: Backend odpowiada za autentykację użytkowników aplikacji, autoryzację dostępu do zasobów oraz ochronę danych przed nieautoryzowanym dostępem.
- Technologie backendowe:
- Języki programowania: Typowe języki to Python, Java, Ruby, PHP, C#. Od kilku lat także JavaScript przy okazji użycia środowiska Node.js.
- Frameworki backendowe: Ułatwiają budowanie aplikacji serwerowych, np. Django (Python), Spring (Java), Express.js (Node.js), Ruby on Rails (Ruby), Laravel (PHP).
- Język zapytań do baz danych: SQL (ang. Structured Query Language) służy do definiowania operacji wykonywanych na bazie danych, np. utworzenia, usunięcia, modyfikacji lub dodania rekordu.
Backend jest odpowiedzialny za przetwarzanie danych, zarządzanie nimi oraz zapewnienie, że aplikacja działa zgodnie z określonymi zasadami i logiką.