Michal edited Used technologies.tex  about 9 years ago

Commit id: 9fab5c8c7ed279e2f275633215d4a3b2e510ac65

deletions | additions      

       

Mean stack je soubor technologií (MongoDB, Express, AngularJS, Node.js), založených na JavaScriptu, které se používají k tvorbě webových aplikací. Umožňujě tvořit servery i klienty. Klient komunikuje se serverem pomocí rest api. Mezi hlavní přednosti patří rychlost, jednoduchost a testovatelnost.  \subsubsection{AngularJS}  Angular je MVC framework pro tvorbu webových aplikací. Výrazně usnadňuje práci a také podporuje vysokou modularitu a testovatelnost. Vzhled prezentační vrstvy můžeme ovládat pomocí direktiv. Direktivy určují, jak bude zacházeno s modelem. Zapisujeme je jako atributy HTML značek. Pokud máme například model items a chceme položky vypsat do seznamu, použijeme direktivu ng-repeat.   \verb|
     \verb|
      \verb| 
    • items'>{{item}}
    |
     items'>{{item}}|  \verb|
|
  Angular umožňuje i tvorbu uživatelských direktiv, což zjednodušuje znovupoužitelnost kódu. Další výhodou angularu je two-way data binding. Two-way data binding zajišťuje synchronizaci modelu a prezentační vrstvy. Změna modelu se tedy okamžitě projeví na obrazovce. Angular za nás také řeší závislosti mezi jednotlivými komponentami pomocí dependenci injection.  \subsubsection{Node.JS}  Node je prostředí, umožňující běh JavaScriptu mimo webový prohlížeč, využívané zejména pro běh back-end serverů pro webové aplikace. Node běží vždy jen v jednom vlákně, souběžnost zajišťuje architektura řízená událostmi. Pokud vlákno provede nějaký požadavek (například dotaz do databáze), vlákno se nezablokuje, ale může vykonávat něco jiného. Pokud příde odpověď na náš požadavek, vyvolá se událost a provede se kód, který na událost reaguje. Například získání uživatele z databáze provedeme takto: