Obsah

Angular

Angular je robustní, open-source frontendový framework postavený na jazyce TypeScript, jehož hlavním tvůrcem a správcem je společnost Google. Je od základu navržen pro vývoj rozsáhlých, vysoce výkonných a udržovatelných podnikových (*enterprise*) aplikací.

Na rozdíl od knihoven, které řeší pouze vykreslování uživatelského rozhraní, poskytuje Angular vývojářům pevně danou architekturu, jednotné standardy a obrovskou sadu vestavěných nástrojů – od pokročilého routování a správy formulářů až po HTTP komunikaci se serverem.


1. Klíčové koncepty a architektura

TypeScript jako pevný základ

Angular striktně vyžaduje použití TypeScriptu – silně typované nadstavby JavaScriptu. Statická typování a moderní OOP prvky (třídy, rozhraní, generiky) přinášejí řadu výhod:

Obousměrná vazba dat (Two-way Data Binding)

Jedna z nejznámějších a nejmocnějších funkcí Angularu (implementovaná pomocí direktivy `[(ngModel)]` a syntaxe „box-and-banana“).

Dependency Injection (Injekce závislostí)

Angular disponuje extrémně propracovaným, hierarchickým systémem pro injektáž závislostí. Služby (*Services*), které obsahují business logiku nebo komunikují s API, jsou spravovány samotným frameworkem.

Modulární systém a Lazy Loading

Aplikace jsou logicky členěny na stavební bloky (moduly, resp. komponenty a samostatné feature moduly).


2. Srovnání: Angular vs. React

Vlastnost Angular React
Typ Kompletní framework (all-inclusive) Knihovna zaměřená na UI
Jazyk TypeScript (povinný standard) JavaScript / TypeScript
Křivka učení Strmější (náročnější na začátku, pevná pravidla) Pozvolnější (velká svoboda volby)
Ekosystém Vše v ceně (Routing, Forms, HTTP klient) Nutno doinstalovat externí knihovny
Výrobce / Zázemí Google Meta (Facebook) + silná komunitní open-source podpora

3. Historické okénko: AngularJS vs. Angular

V historii vývoje tohoto nástroje existuje zásadní předěl, který je nutné mít na paměti:


4. Ukázka kódu: Základní komponenta

Následující ukázka demonstruje minimalistickou komponentu v TypeScriptu s definovaným selektorem a inline šablonou:

import { Component } from '@angular/core';

@Component({
  selector: 'app-pozdrav',
  template: '<h1>Ahoj, {{ jmeno }}!</h1>'
})
export class PozdravComponent {
  jmeno: string = 'Vývojáři';
}

5. Kdy se vyplatí zvolit Angular?

Zajímavost pod kapotou: Angular využívá pokročilou AOT (Ahead-of-Time) kompilaci. To znamená, že celý zdrojový kód (TypeScript a HTML šablony) se zkompiluje do čistého JavaScriptu a optimalizovaných instrukcí ještě předtím, než je aplikace distribuována uživateli. Prohlížeč tak stahuje již hotový, rychlý kód, což bleskurychle zrychluje start celé aplikace.

Zpět na Architekturu