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.
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í.
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í.
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.
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.
| 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 | Meta (Facebook) |
Je důležité rozlišovat mezi těmito dvěma verzemi:
@Component({
selector: 'app-pozdrav',
template: '<h1>Ahoj, {{ jmeno }}!</h1>'
})
export class PozdravComponent {
jmeno: string = 'Vývojáři';
}
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.