Nodea — logo

Angular

Angular to otwartoźródłowy framework frontendowy rozwijany przez zespół Google, przeznaczony do budowy rozbudowanych aplikacji internetowych typu SPA (single-page application). Napisany w języku TypeScript i mocno na nim oparty, Angular dostarcza kompletny zestaw narzędzi: system komponentów, routing, obsługę formularzy, klienta HTTP oraz wbudowane mechanizmy testowania — w odróżnieniu od bibliotek, które te elementy pozostawiają do samodzielnego doboru.

Jak działa Angular?

Podstawową jednostką aplikacji jest komponent: klasa TypeScript połączona z szablonem HTML i stylami, opisująca fragment interfejsu. Komponenty składa się w drzewo, a przepływ danych kontrolują mechanizmy wiązania (property binding, event binding) oraz system wykrywania zmian — w nowszych wydaniach oparty o sygnały (signals), które aktualizują tylko te fragmenty widoku, których stan faktycznie się zmienił. Charakterystyczne cechy frameworka to:

  • wstrzykiwanie zależności (dependency injection) — usługi współdzielone między komponentami zarządzane przez kontener DI;
  • Angular CLI — narzędzie generujące strukturę projektu, komponenty i konfigurację buildów;
  • kompilacja AOT — szablony kompilowane do wydajnego JavaScriptu już na etapie budowania;
  • RxJS i programowanie reaktywne — strumienie zdarzeń do obsługi asynchroniczności.

Zastosowanie w praktyce

Angular najlepiej sprawdza się w dużych, długożyjących projektach: panelach administracyjnych, systemach bankowych i ubezpieczeniowych, rozbudowanych aplikacjach B2B czy intranetach korporacyjnych. Narzucona struktura, silne typowanie i przewidywalny cykl wydań (nowa wersja główna co ~6 miesięcy z jasną ścieżką migracji) ułatwiają utrzymanie kodu przez wieloosobowe zespoły. Dla mniejszych stron i prostych widgetów lżejszy Vue.js lub React często okazują się szybsze w starcie.

Od strony wdrożeniowej zbudowana aplikacja Angular to statyczne pliki JS/CSS/HTML, które można serwować z dowolnego hostingu lub VPS; wariant Angular Universal (SSR) wymaga dodatkowo środowiska Node.js po stronie serwera, co warto uwzględnić przy wyborze planu hostingowego.

Powiązane pojęcia

Najczęstsze pytania

Czym różni się Angular od Reacta i Vue?

Angular jest kompletnym frameworkiem — routing, formularze, klient HTTP i testy dostaje się w standardzie, a językiem bazowym jest TypeScript. React i Vue to lżejsze biblioteki/frameworki, w których architekturę składa się z wybranych samodzielnie pakietów. Angular narzuca strukturę, co ułatwia pracę dużym zespołom.

Czy Angular i AngularJS to to samo?

Nie. AngularJS (wersje 1.x, JavaScript, wzorzec MVC) został wycofany ze wsparcia w 2022 roku. Angular (od wersji 2 wzwyż) to napisany od nowa framework oparty na TypeScript i komponentach — kod AngularJS wymaga migracji, nie zwykłej aktualizacji.