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.

Angular 21 TypeScript SPA Frontend
01

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
gotowe narzędzia
Programista
pisze logikę
Aplikacja
gotowy produkt

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
Analogia do C#

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.

02

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

Jak to wygląda w praktyce?

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.

03

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 Google
React JavaScript/JSX Meta (Facebook)
Vue.js JavaScript Evan You
Svelte JavaScript Rich Harris
Dlaczego Angular a nie React?

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.

04

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:

Komponenty
budulec UI
+
Router
nawigacja
+
HTTP
API calls
+
Formularze
dane od użytkownika

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
Wsparcie długoterminowe

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”.

05

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ń
06

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.

ts/typy.ts TS
// ❌ 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

CechaCo 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
Porównanie do C#

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!

07

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:

html/nowa-składnia.html 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>
}
Co z NgModules i *ngIf?

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.

08

Wymagania techniczne

Do pracy z Angularem potrzebujesz kilku narzędzi. Na szczęście instaluje się je raz i potem po prostu działają.

Node.js
≥ 18.19
npm
wchodzi z Node
Angular CLI
ng new, ng serve
VS Code
edytor kodu
NarzędzieDo 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
Uwaga – PowerShell i polityki bezpieczeństwa

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):

  1. 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).
  2. 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”.
  3. Jaka jest główna zaleta TypeScriptu nad czystym JavaScriptem? Odnieś się do tego, co już wiesz o typach z C#.
  4. Co zmieniło się w Angular 21 względem starszych wersji? Wyjaśnij w 2 zdaniach, czym jest podejście „standalone”.
Następny temat

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.