Wstęp do Angulara – nowoczesny frontend
Dowiesz się czym jest Angular, do czego służy i dlaczego warto go znać. Poznasz pojęcia frameworka, SPA oraz TypeScriptu – podstawy, bez których nie ruszysz dalej.
Czym jest framework?
Zanim napiszesz pierwszą linię kodu w Angularze, musisz zrozumieć jedno słowo: framework. To pojęcie, które będzie towarzyszyć Ci przez całą karierę programisty.
Wyobraź sobie, że budujesz dom. Możesz zacząć od zera – kupić piasek, cement, cegły i samemu mieszać zaprawę. Albo możesz zamówić gotowe prefabrykaty i składać z nich ściany. Prefabrykaty to właśnie framework – gotowe elementy, które przyspieszają budowę i gwarantują, że wszystko do siebie pasuje.
Framework to zestaw gotowych narzędzi, reguł i wzorców, które:
- eliminują żmudne, powtarzalne prace
- wymuszają dobry sposób organizacji kodu
- pozwalają skupić się na tym, co ważne – czyli na logice aplikacji
Znasz już .NET w C# – to też jest framework. Dzięki niemu nie musisz pisać od zera obsługi plików, wątków czy połączeń sieciowych. Angular robi to samo, ale dla aplikacji webowych w przeglądarce.
Backend i Frontend – dwie strony każdej aplikacji
Każda aplikacja webowa – czy to sklep internetowy, panel bankowy czy portal z ogłoszeniami – składa się z dwóch odrębnych warstw. Musisz je rozróżniać.
⚙️ Backend (zaplecze)
Działa na serwerze. Użytkownik go nie widzi.
- Przechowuje dane w bazie danych
- Sprawdza hasła i uprawnienia użytkowników
- Przetwarza zamówienia, płatności, logi
- Udostępnia dane przez API
Technologie: ASP.NET Core (C#), Spring Boot (Java), Django (Python), Node.js
🖥️ Frontend (interfejs)
Działa w przeglądarce. Użytkownik to widzi i klika.
- Wyświetla dane pobrane z backendu
- Obsługuje formularze, klikania, nawigację
- Komunikuje się z backendem przez API
- Odpowiada za wygląd i komfort użytkownika
Technologie: Angular, React, Vue.js, Svelte
Logujesz się do Facebooka. Wpisujesz hasło i klikasz „Zaloguj” – to frontend (Angular, React). Serwer Facebooka sprawdza Twoje hasło i wysyła dane profilu – to backend. W tym kursie zajmujemy się wyłącznie frontendem.
Popularne frameworki – gdzie jest Angular?
Na rynku istnieje wiele frameworków – zarówno backendowych, jak i frontendowych. Oto przegląd najważniejszych z nich.
| Warstwa | Framework | Język | Twórca |
|---|---|---|---|
| Backend | ASP.NET Core | C# |
Microsoft |
| Spring Boot | Java |
Pivotal | |
| Django | Python |
Django Software Foundation | |
| Express.js | JavaScript |
OpenJS Foundation | |
| Frontend | ⭐ Angular | TypeScript |
|
| React | JavaScript/JSX |
Meta (Facebook) | |
| Vue.js | JavaScript |
Evan You | |
| Svelte | JavaScript |
Rich Harris |
Wszystkie trzy główne frameworki (Angular, React, Vue) są wartościowe i używane komercyjnie. Angular wybraliśmy, bo jest kompletny – zawiera wszystko „w pudełku” i wymusza dobry sposób pisania kodu. To idealne środowisko do nauki solidnych podstaw programowania webowego.
Angular – framework od Google
Angular to jeden z najpopularniejszych frameworków frontendowych na świecie. Tworzony i utrzymywany przez Google od 2016 roku.
Angular dostarcza programiście wszystko czego potrzebuje do zbudowania nowoczesnej aplikacji webowej. Nie musisz szukać i dobierać osobnych bibliotek do każdego zadania – wszystko jest gotowe i ze sobą współpracuje:
Kto używa Angulara?
Angular nie jest frameworkiem dla hobbystów – to narzędzie produkcyjne używane przez największe firmy świata:
- Google – Gmail, Google Cloud Console, Google Play
- Microsoft – Xbox, Office Online
- Samsung – aplikacje produktowe
- Deutsche Bank, Forbes, BMW – systemy biznesowe i portale
Google co 6 miesięcy wydaje nową wersję Angulara. Każda wersja ma oficjalne wsparcie przez minimum 18 miesięcy. Nie musisz się bać, że framework nagle „zniknie”.
Co to jest SPA?
Angular służy do tworzenia aplikacji typu SPA (Single Page Application – Aplikacja Jednostronicowa). To zupełnie inny model działania niż klasyczne strony internetowe.
🕰️ Klasyczna strona WWW
Każde kliknięcie = nowa strona z serwera
Klik „Produkty" ↓ Przeglądarka wysyła request ↓ Serwer generuje nową stronę HTML ↓ Strona miga i przeładowuje się ↓ Użytkownik widzi nową stronę
Wolno, widoczne przeładowania, gorsze UX
⚡ Aplikacja SPA (Angular)
Raz załadowana – działa jak aplikacja desktopowa
Pierwsze wejście ↓ Przeglądarka ładuje aplikację (raz) ↓ Klik „Produkty" ↓ Angular podmienia tylko zawartość ↓ Brak przeładowania – szybkie i płynne
Szybko, płynnie, jak aplikacja mobilna
Przykłady SPA, których używasz na co dzień:
- Gmail – klikasz maile bez przeładowania strony
- Google Maps – panujesz po mapie bez odświeżania
- Spotify Web – muzyka gra, nawet gdy przechodzisz do innej sekcji
- Trello – karty przeciągasz bez żadnych przeładowań
TypeScript – język Angulara
Angular jest napisany i wymaga TypeScriptu – języka stworzonego przez Microsoft, który jest JavaScriptem z supermocami.
JavaScript (JS) to język przeglądarek – każda strona internetowa go używa. Jego największa słabość to brak typów danych. Możesz do zmiennej przypisać liczbę, a chwilę później tekst – JavaScript nie protestuje. Błędy wychodzą dopiero gdy program działa, często u użytkownika.
TypeScript (TS) dodaje do JavaScriptu typowanie statyczne – czyli deklarujesz z góry, co przechowuje każda zmienna. Edytor natychmiast wskazuje błędy.
// ❌ JavaScript – brak kontroli typów let wiek = 17; wiek = "siedemnaście"; // Działa! Ale może powodować błędy w logice // ✅ TypeScript – typy chronią Twój kod let wiek: number = 17; wiek = "siedemnaście"; // 🔴 BŁĄD – edytor to wykryje od razu! // Typowanie funkcji – wiesz co wchodzi i co wychodzi function obliczSrednia(oceny: number[]): number { return oceny.reduce((a, b) => a + b, 0) / oceny.length; } obliczSrednia([5, 4, 3, 5]); // ✅ OK – tablica liczb obliczSrednia(["a", "b"]); // 🔴 BŁĄD – tablica stringów, nie liczb
Zalety TypeScriptu dla początkujących
| Cecha | Co to oznacza dla Ciebie? |
|---|---|
| 🔴 Błędy w edytorze | Widzisz problem zanim uruchomisz program |
| 💡 Podpowiedzi (IntelliSense) | Edytor podpowiada metody i właściwości |
| 📖 Samodokumentujący się kod | Typy mówią, czego oczekuje funkcja |
| ♻️ Kompatybilność z JS | Każdy poprawny JavaScript to poprawny TypeScript |
Znasz już typy z C# – int, string, bool.
TypeScript działa podobnie: number, string, boolean.
Przejście z C# na TypeScript jest zaskakująco naturalne!
Angular 21 – nowoczesne podejście
Angular 21 (listopad 2025) to wersja, z którą będziemy pracować. Przyniosła ona ważną zmianę filozofii: prostszy, nowocześniejszy sposób pisania aplikacji.
Standalone Components – domyślne podejście
Wcześniejsze wersje Angulara wymagały organizowania komponentów w tzw. moduły (NgModules). Było to skomplikowane i generowało dużo dodatkowego kodu. W Angular 21 każdy komponent jest samodzielny (standalone) – importuje dokładnie to, czego potrzebuje.
❌ Stary sposób (NgModule)
// app.module.ts – dodatkowy plik wymagany @NgModule({ declarations: [ AppComponent, NaszKomponent // trzeba zarejestrować ], imports: [BrowserModule], bootstrap: [AppComponent] }) export class AppModule {}
✅ Nowy sposób (Standalone – Angular 21)
// Brak app.module.ts – nie potrzebujemy go! @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], // importujemy tylko to, co trzeba templateUrl: './app.component.html' }) export class AppComponent {}
Nowa składnia szablonów – @if i @for
Angular 21 wprowadził nową, czytelniejszą składnię do wyświetlania warunkowego i pętli w szablonach HTML:
<!-- Warunkowe wyświetlanie --> @if (uzytkownik.zalogowany) { <p>Witaj, {{ uzytkownik.imie }}!</p> } @else { <p>Zaloguj się, aby kontynuować.</p> } <!-- Pętla po liście --> @for (produkt of produkty; track produkt.id) { <div class="card">{{ produkt.nazwa }}</div> }
W starym kodzie możesz natknąć się na *ngIf i *ngFor
oraz na pliki app.module.ts. Działają nadal – Angular jest
wstecznie kompatybilny. My jednak uczymy się nowego, zalecanego stylu,
bo taki kod jest prostszy i tak pisze się dziś profesjonalnie.
Wymagania techniczne
Do pracy z Angularem potrzebujesz kilku narzędzi. Na szczęście instaluje się je raz i potem po prostu działają.
| Narzędzie | Do czego służy? | Skąd pobrać? |
|---|---|---|
| Node.js | Środowisko uruchomieniowe JS – Angular CLI tego wymaga | nodejs.org |
| npm | Menedżer pakietów – instaluje Angular i biblioteki | Instaluje się razem z Node.js |
| Angular CLI | Narzędzie wiersza poleceń – tworzy i obsługuje projekt | npm install -g @angular/cli |
| Visual Studio Code | Edytor kodu z rozszerzeniami dla Angulara | code.visualstudio.com |
Przydatne rozszerzenia do VS Code
- Angular Language Service – podpowiedzi w szablonach HTML
- Angular Snippets – szybkie wstawki kodu
- Prettier – automatyczne formatowanie kodu
- Material Icon Theme – czytelne ikony plików
Na komputerach szkolnych (Windows) Angular CLI może się nie uruchomić przez ograniczenia PowerShella. Instalację i rozwiązanie tego problemu omówimy dokładnie w następnym materiale: „Instalacja Angulara”.
Zadanie – sprawdź swoją wiedzę
Odpowiedz na poniższe pytania (pisemnie lub ustnie):
- Czym różni się frontend od backendu? Podaj przykład jednej czynności wykonywanej przez każdą z tych warstw (np. na przykładzie logowania do szkolnego e-dziennika).
- Co to jest SPA? Wymień dwie aplikacje SPA, których używasz na co dzień, i wyjaśnij w jednym zdaniu co odróżnia je od „zwykłych stron”.
- Jaka jest główna zaleta TypeScriptu nad czystym JavaScriptem? Odnieś się do tego, co już wiesz o typach z C#.
- Co zmieniło się w Angular 21 względem starszych wersji? Wyjaśnij w 2 zdaniach, czym jest podejście „standalone”.
W następnym materiale krok po kroku zainstalujemy środowisko: Node.js, Angular CLI i Bootstrap. Rozwiążemy też typowy problem z polityką wykonywania skryptów w PowerShellu Windows.