Angular

Angular (tuntud ka kui angular 2+) on TypeScriptis kirjutatud avatud lähtekoodil põhinev veebirakenduste raamistik. Angulari arendajateks on Angulari enda meeskond Googlis ja muud arendajad erafirmadest ja ka erainimesed. Angular on AngularJS-i järglane.
Erinevused AngularJS-ist.
Angular on AngularJS-i täielik ümberehitus. Suurimad erinevused Angulari ja AngularJS-i vahel on järgmised:
Arhitektuur.
Angulari raamistik on loodud dünaamiliste üheleheküljeliste veebilehtede ehitamiseks. Angular alustala on "component" ehk komponent, mis lehe funktsionaalsuse ja loogiga DOM-iga. Igal Angular projektil on vähemalt üks komponent milleks on "root" ehk juur komponent. Selle sidumise jaoks on fail, kus asub selle komponendi "view"-i kontrolliv template ja selle "template"-i käitumist kontrolliv loogika.
Eelneva süsteemi ära tundmiseks ja ülesehituseks kasutatakse "metadata"t, ehk metaandmeid. Need on koodi osad mis annavad Angulari koodi kompileerijale teada mis struktuuriga on tegemist.
Lisaks kasutavad komponentid veel "service-e"id. "Service" on koodi osa mis ei ole seotud mitte ühegi "view"-ga otseselt, vaid neid saab lisada teistesse komponentitesse neid "inject"-ides. "Service" kui struktuur aitab ka muuta Angularli rohkem objektorienteerituks.
Komponendid ja "service"-id on pakendatud kokku "module"'iteks ehk mooduliteks. Moodul on nagu pakend, mille sees on lehel samas kohas paiknevad elemendid, samaks kasutuseks vajalik loogika või samu väliseid teeke kasutav kood. Igal Angulari veebilehel on oma alus moodul, milleks on "root, ehk" juur"," moodul. Läbi selle alustab rakendus oma tööd ja seal defineeritakse ära tööks vajalikud järgnevad moodulid. Moodulid saab ka importida teistesse moodulitesse. Nii on Angularis kasutusel objekt orienteeritud struktuur, kus enkapsuleeritud moodulid kutsuvad välja üksteist.
"Routing" on viis kuidas Angular proovib kasutaja kogemust lehel teha kiiremaks ilma tema märkamata. "Routing" on mingi "view" muutmine, kui kasutaja seda nõuab, muutes URL-i. See toimub läbi veebilehitseja lehe muutmise töö muutmise. See töötab igal viisil nagu alamlehele minemine veebibrauseris, aga on kiirem, sest ei laadita iga kord uut lehte, vaid lihtsalt muudetakse "view" ja seda tehes DOM.
"Routing"ule saab rakendada ka kasutaja kontrolle. Kui uus veebiaadressi nõue tuleb rountingusse, siis Angularlis on olemas valvurid ehk "guard"-id. Neid saab kasutada tuues sisse "Routing" moodul, ja lasevad mugavalt implementeerida kasutaja õigusi.
Versioonide ajalugu.
Nimetamine.
Algselt kutsuti seda ümberkirjutust Angular neljaks kui see 2016. aastal välja kuulutati. Peale seda otsustati kutsuda Angular 1.x versioone angularJs ja kõik alates Angular 2.0 saati lihtsalt Angulariks.
Angular 3.
Kolm jäeti vahele, sest see oleks tekitanud segadust juba varem avaldatud ruutimispaketiga, mis oli kolmanda versiooni peal.
Angular 4.
Angular 4 avaldati 2017. aasta märtsis. See oli tagurpidi ühilduv Angular kahega ja ei olnud sellest väga erinev.
Angular Universal.
Angular Universal on Angulari eelrenderduslahendus. Angular Universal võimaldab nurgapõhiste veebisaitide jaoks serveripoolset renderdamist. Vaikimisi renderdab Angular rakendusi brauseris. Angular Universal võimaldab Angularil renderdada rakendust serveris, genereerides staatilise HTML-i, mis näitab rakenduse olekut. Kui HTML on brauseris renderdatud, laadib Angular rakenduse ja kasutab uuesti serveris loodud HTML-is saadaolevat teavet.