Obsah

Angular

Angular je postaven na jazyce TypeScript a je navržen pro vývoj rozsáhlých podnikových (enterprise) aplikací. Poskytuje vývojářům pevně danou strukturu a sadu vestavěných nástrojů pro vše od navigace až po komunikaci se serverem.

1. Klíčové koncepty

TypeScript jako základ

Angular vyžaduje použití TypeScriptu (nadstavba JavaScriptu s datovými typy). To umožňuje odhalit chyby v kódu už během psaní a usnadňuje práci ve velkých týmech, kde je jasně definováno, jaká data kudy proudí.

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

Toto je jedna z nejznámějších funkcí Angularu. Pokud změníte data v kódu, okamžitě se změní v HTML. A naopak – pokud uživatel napíše něco do políčka, data v kódu se ihned aktualizují.

Dependency Injection (Injekce závislostí)

Angular má propracovaný systém pro sdílení částí kódu (služeb). Pokud jedna část aplikace potřebuje data z databáze, Angular jí automaticky „přihraje“ správnou službu, která to umí zařídit. To vede k velmi čistému a testovatelnému kódu.

Modulární systém (NgModules)

Aplikace se dělí na bloky (moduly), které lze načítat postupně (tzv. Lazy Loading). To zajišťuje, že se uživateli nestahuje celý obří systém najednou, ale jen ty části, které zrovna potřebuje.

2. Srovnání: Angular vs. React

Vlastnost Angular React
Typ Kompletní framework Knihovna pro UI
Jazyk TypeScript (povinný) JavaScript / TypeScript
Učení Náročné (strmá křivka) Snazší (postupný růst)
Ekosystém Vše v ceně (Routing, Forms) Nutno doinstalovat knihovny
Výrobce Google Meta (Facebook)

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

Je důležité rozlišovat mezi těmito dvěma verzemi:

4. Ukázka kódu (Komponenta v TypeScriptu)

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

5. Kdy zvolit Angular?

Zajímavost: Angular používá tzv. AOT (Ahead-of-Time) kompilaci. To znamená, že se kód přeloží do stroji srozumitelné podoby už při sestavování aplikace, nikoliv až v prohlížeči uživatele, což výrazně zrychluje start webu.

Zpět na Architekturu