2. Podstawowy podział na warstwy: frontend i backend

Z aplikacji internetowych ludzie korzystają zazwyczaj przy użyciu przeglądarek internetowych uruchamianych na ich urządzeniach takich jak komputery osobiste, tablety czy smartfony. Interakcja z aplikacją rozpoczyna się od wpisania w przeglądarkę adresu, który użytkownik chce odwiedzić, a następnie rozpoczyna się komunikacja z serwerem - przeglądarka wysyła do niego żądania pobrania niezbędnych danych, w szczególności dokumentów HTML, CSS czy kodu JavaScript. W dalszej kolejności pobierane są elementy takie jak czcionki, ilustracje, multimedia.

Taka organizacja wynika wprost z faktu, że najpopularniejsze aplikacje internetowe implementowane są w architekturze klient-serwer, z wykorzystaniem protokołu HTTP (ang. Hypertext Transfer Protocol) lub HTTPS (ang. Hypertext Transfer Protocol Secure). Mamy tu do czynienia z wyraźnym podziałem kodu aplikacji na dwie warstwy: frontend i backend, a także z podziałem architektonicznym wynikającym z miejsca uruchamiania tego kodu: klient i serwer.

Frontend obejmuje warstwę prezentacyjną, czyli wszystko, co jest odpowiedzialne za wygląd i interakcję aplikacji z użytkownikiem. Z kolei 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. Należy zwrócić uwagę Czytelnika, że obecnie nie można już jednoznacznie utożsamiać zagadnień związanych z wizualną stroną aplikacji wyłącznie ze stroną kliencką - otóż w ostatnich latach granica backend/frontend wyraźnie zaciera się. W szczególności wyróżnia się w nomenklaturze techniki renderowania widoku (czyli generowania dokumentu lub elementów dokumentu HTML) po stronie serwera lub klienta.