Intro

V poslední době se hodně věnuji programování v AngularJS. Jedná se o webový framework od Googlu, který ma za cíl zjednodučit a zefektivnit vývoj SPA aplikací.

AngularJS je jeden z možných frameworků pro UI webových aplikací a je kolem něj docela rozruch. Má velmi početnou skupiny zapřisáhlých odpůrců, kteří mu vyčítají kde co. Vedle toho se bohudík najde asi daleko větší a významnější skupina, která jej dále rozvíjí a pracuje jak na něm, tak v něm.

Významná je i podpora samotného Googlu. AngularJS je dítětem jednoho z jejich programátorů a Google samotný jej hodně používá. Jestli máte email na GMailu, pak jej používáte také, protože GMail jede na Angularu.

Proč AngularJS

Každá webová aplikace se víceméně skládá ze dvou základních částí. Backend: něco se děje na serveru. Tím něco může být příprava dat, nějak naprogramovaná obchodní logika a podobné věci, které třeba ani uživatel nevidí. Frontend: to je přesně to, co pak vidí každý návštěvník webové stránky.

A AngularJS je přesně to, co vám pomůže rozhýbat váš frontend. Stránky ve webovém prohlížeči. Ze statických stránek, respektive stránek plných JavaScriptových knihoven udělá poměrně jednoduchou aplikaci.
Tím nechci říct, že by ze stránek zmizel JavaScript, ale je organizovaný podle nějakých pravidel Angularu.

Ovládněte AngularJS

AngularJs a rychlost učení
Ačkoliv tento obrázek tomu moc neodpovídá, má AngularJS docela strmou a rychlou učící křivku. To znamená, že své SPA aplikace budete schopni psát relativně brzo a rychle.

Rychlý start

K psaní SPA pomocí Angularu budete potřebovat Angular. Abyste mohli začít hned psát své aplikace, budete muste do každé HTML stránky vkládat AngularJS knihovnu. Ten nejednodušší způsb jak toho dosáhnout, je vložit přímo odkaz na CDN, který danou knihovnu Angularu nabízí:

Co pak musíte udělat je říct Angularu kde je vaše aplikace a jak jí má ovládat. Toho docílíte pomocí HTML directiv ng-app a ng-controller.

Direktivou ng-app vytvoříte AngularJS modul a ng-controller vytvoří ovladač, který spojí vrstvy model a view v pomyslném MVC modelu.