AngularJS

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. május 4-én felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .
AngularJS
Típusú keretrendszer , JavaScript könyvtár és függvénytár
Fejlesztő Google
Beírva JavaScript [1]
Első kiadás 2010. október 20
Hardver platform webes platform
legújabb verzió
Engedély MIT licenc [4] [5]
Weboldal angularjs.org
 Médiafájlok a Wikimedia Commons oldalon

Az AngularJS  egy nyílt forráskódú JavaScript - keretrendszer . Egyoldalas alkalmazások fejlesztésére tervezték [6] . Célja az MVC mintára épülő böngésző alkalmazások kiterjesztése, valamint a tesztelés és fejlesztés egyszerűsítése.

A keretrendszer olyan HTML -kóddal működik , amely további egyéni attribútumokat tartalmaz, amelyeket direktívák írnak le, és az oldalterület bemenetét vagy kimenetét egy olyan modellhez köti, amely szokásos JavaScript-változók. Ezeknek a változóknak az értékeit manuálisan állítják be, vagy statikus vagy dinamikus JSON-adatokból kérik le.

Fejlesztési előzmények

Az AngularJS-t 2009-ben fejlesztette ki Misko Heveri és Adam Abrons a Brat Tech LLC-től, mint egy megabájtos JSON tárolószolgáltatás mögött álló szoftvert, amely megkönnyíti a vállalati alkalmazások fejlesztését. A szolgáltatást a "GetAngular.com" domain tárolta, és több regisztrált felhasználója is volt, mielőtt úgy döntöttek, hogy felhagynak az üzleti ötlettel, és az Angulart nyílt forráskódú könyvtárként adják ki.

Abrons kilépett a projektből, de Heveri, aki a Google -nál dolgozik , folytatta a könyvtár fejlesztését és karbantartását Igor Minarral és Voita Jin-nel.

2014 márciusában jelentették be az AngularJS 2.0 [7] fejlesztését . Az új verzió a nulláról íródott TypeScriptben , és nagyon különbözött az előzőtől, ezért később úgy döntöttek, hogy Angular néven külön keretrendszerként fejlesztik . Az Angular 2 2016. szeptember 15-én jelent meg [8] , míg az első verziót AngularJS néven külön fejlesztették tovább.

2022 áprilisában, a legújabb 1.8.3-as verzió megjelenésével az AngularJS támogatása hivatalosan is megszűnt. [9]

Philosophy of Angular

Az AngularJS-t azzal a meggyőződéssel tervezték, hogy a deklaratív programozás a legjobb a felhasználói felületek felépítéséhez és a szoftverkomponensek leírásához [10] , míg az imperatív programozás nagyszerű az üzleti logika leírásához [11] . A keretrendszer adaptálja és kiterjeszti a hagyományos HTML-t, hogy kétirányú adat-összerendelést biztosítson a dinamikus tartalomhoz, lehetővé téve a modell és a nézet automatikus szinkronizálását. Ennek eredményeként az AngularJS csökkenti a DOM-manipuláció szerepét és javítja a tesztelhetőséget.

Fejlesztési célok

Az Angular az MVC tervezési mintáját követi, és laza összekapcsolást tesz lehetővé a megjelenítés, az adatok és az összetevő logikája között. A függőségi injekció segítségével az Angular a klasszikus szerveroldali szolgáltatásokat, például a nézetfüggő vezérlőket hozza az ügyféloldalra. Következésképpen a szerver terhelése csökken, és a webalkalmazás könnyebbé válik.

Népszerű beépített Angular direktívák

Az AngularJS direktívákkal egyéni HTML-címkéket és attribútumokat hozhat létre bizonyos elemek viselkedésének hozzáadásához. [tizennégy]

ng-app Az elemet az alkalmazás gyökérelemeként deklarálja. [tizenöt] ng-köt Automatikusan lecseréli egy HTML-elem szövegét az átadott kifejezés értékére. ng-modell Ugyanaz, mint az ng-bind, csak kétirányú adat-összerendelést biztosít. [16] Az elem tartalma megváltozik - a szög is megváltoztatja a modell értékét. A modell értéke megváltozik - az angular megváltoztatja az elemen belüli szöveget. ng-osztályú Osztályokat határoz meg a dinamikus betöltéshez. ng-vezérlő JavaScript-vezérlőt határoz meg a HTML-kifejezések MVC szerinti kiértékeléséhez. [17] ng-ismétlés Létrehoz egy DOM-példányt a gyűjtemény minden eleméhez. [tizennyolc] ng-show és ng-hide Megjeleníti vagy elrejti az elemet a logikai kifejezés értékétől függően. ng-kapcsoló A kifejezés értékétől függően egy sablon példányát hozza létre a beállítások halmazából. ng-view Az alapdirektíva felelős a JSON-t elfogadó útvonalak [19] kezeléséért , mielőtt a megadott vezérlők által vezérelt sablonokat renderelné. ng-if Egy kifejezés értékétől függően eltávolítja vagy létrehozza a DOM-fa egy részét. Ha az ngIf-hez rendelt kifejezés értéke hamis, akkor az elem eltávolításra kerül a DOM-ból, ellenkező esetben az újonnan klónozott elem bekerül a DOM-ba. [húsz]

Lehetőség van egyéni direktívák létrehozására is, beleértve a sablonok használatát a szkriptcímkében. [21] [22]

Kétirányú adatkötés

A kétirányú adatkötés az AngularJS-ben a legfigyelemreméltóbb funkció: csökkenti a kód mennyiségét azáltal, hogy megszabadítja a szervert a sablonok kezelésétől. Ehelyett a sablonok egyszerű HTML-ként jelennek meg, kitöltve a modellben meghatározott hatókörön belüli adatokkal. Az $scopeAngular szolgáltatása figyeli a modell változásait, és a vezérlőn keresztül módosítja a nézet HTML-kifejezési részét. Ezenkívül a nézet bármilyen változása tükröződik a modellben. Ez megkerüli a DOM-kezelés szükségességét, és megkönnyíti a webalkalmazások inicializálását és prototípus-készítését [23] .

Bővítmény a Chrome-hoz

2012 júliusában az Angular csapata kiadott egy bővítményt a Google Chrome böngészőhöz Batarang [24] néven , amely megkönnyíti az Angularra épített webes alkalmazások hibakeresését. A kiterjesztés megkönnyíti a szűk keresztmetszetek felismerését, és grafikus felületet kínál az alkalmazások hibakereséséhez [25] .

Összehasonlítás a Backbone.js-szal

A Backbone.js  , a Model-View-Presenter (MVP) tervezési mintán alapuló JavaScript -könyvtár, hasonló képességekkel rendelkezik a webalkalmazások fejlesztéséhez a RESTful JSON felület támogatásával. A Backbone egy nagyon könnyű könyvtár (tömörítve és gzip-ben tömörítve, mérete ~6,3 KB), de működéséhez szükség van az Underscore.js könyvtárra , valamint a REST API támogatásához és a DOM elemekkel való munkához ajánlott egy jQuery- mint a könyvtár: jQuery vagy Zepto. A Backbone.js-t Jeremy Ashkenas hozta létre, akit a CoffeeScript megalkotójaként is ismernek .

Vannak azonban jelentős különbségek is:

Kötelező adatok A legszembetűnőbb jellemző, amely elválasztja a könyvtárakat, a modell és a nézet szinkronizálásának módja. Míg az AngularJS támogatja a kétirányú adat-összerendelést, a Backbone.js nagymértékben támaszkodik a sablonkódra a modell és a nézet összekapcsolásához [26] . PIHENÉS A Backbone.js jól támogatja a RESTful háttérrendszert. Nagyon egyszerű a RESTful API-kkal is dolgozni az AngularJS-ben a $resource szolgáltatás használatával. Ugyanakkor az AngularJS rendelkezik egy rugalmasabb $http szolgáltatással, amely a böngésző XMLHttpRequest objektumával vagy JSONP -n keresztül csatlakozik a távoli szerverekhez [27] . Sablonok Az AngularJS egyedi HTML-címkék és kifejezések kombinációját használja sablonként [28] . A Backbone.js különféle sablonokat használ, mint például az Underscore.js [26] .

Lásd még

Jegyzetek

  1. Az angularjs nyílt forráskódú projekt az Open Hubon: Nyelvek oldala - 2006.
  2. Kiadás 1.8.3 – 2022.
  3. 1.8.3 végső búcsú (2022-04-07)
  4. angular.js/LICENSE a master angular/angular.js GitHubon
  5. Az angularjs nyílt forráskódú projekt az Open Hub-on: Licencek oldala - 2006.
  6. Egyoldalas alkalmazás AngularJs használatával. oktatóanyag . Hozzáférés dátuma: 2016. november 6. Az eredetiből archiválva : 2016. november 7.
  7. AngularJS 2.0 . Letöltve: 2015. augusztus 14. Az eredetiből archiválva : 2015. augusztus 25.
  8. Szögletes, 2. verzió: propriocepció-erősítés . angularjs.blogspot.ru. Letöltve: 2016. október 13. Az eredetiből archiválva : 2016. október 12..
  9. szögletes  . _ npm . Letöltve: 2022. október 22.
  10. Az összetevők megértése . Hozzáférés időpontja: 2016. október 20. Az eredetiből archiválva : 2016. október 20.
  11. Mi az Angular? . Letöltve: 2013. február 12. Az eredetiből archiválva : 2013. május 20.
  12. Egységteszt . Letöltve: 2016. október 20. Az eredetiből archiválva : 2016. október 17..
  13. E2E tesztelés . Letöltve: 2016. október 20. Az eredetiből archiválva : 2017. április 12..
  14. Egyszerű utasítást írunk
  15. ngApp . Hozzáférés dátuma: 2016. november 6. Az eredetiből archiválva : 2016. október 22.
  16. Adatkötés . Letöltve: 2016. november 6. Az eredetiből archiválva : 2015. január 3..
  17. Archivált másolat . Letöltve: 2016. november 6. Az eredetiből archiválva : 2016. október 20.
  18. ngRepeat - direktíva az ng modulban . Letöltve: 2016. november 6. Az eredetiből archiválva : 2016. október 20.
  19. Komponens útválasztó . Letöltve: 2016. október 20. Az eredetiből archiválva : 2016. október 21..
  20. ngIf Angular docs . Letöltve: 2016. november 6. Az eredetiből archiválva : 2016. október 20.
  21. AngularJS oktatóanyag: Átfogó útmutató. 2. rész (Egyéni utasítások). . Letöltve: 2016. november 27. Az eredetiből archiválva : 2016. november 28..
  22. Sablonok az utasításokban
  23. 5 fantasztikus AngularJS szolgáltatás . Letöltve: 2013. február 13. archiválva az eredetiből: 2013. május 20.
  24. Batarang honlapja . Letöltve: 2013. május 12. Az eredetiből archiválva : 2015. február 10.
  25. AngularJS: Az AngularJS Batarang bemutatása . Letöltve: 2013. május 12. Az eredetiből archiválva : 2018. február 2..
  26. 1 2 Backbonejs vs Angularjs: A mítoszok megfejtése (downlink) . Letöltve: 2013. február 13. archiválva az eredetiből: 2013. május 20. 
  27. Javascript-keretrendszerek és adatkötés (downlink) . Letöltve: 2013. február 13. archiválva az eredetiből: 2013. május 20. 
  28. script direktíva az ng modulban . Hozzáférés dátuma: 2016. november 27. Az eredetiből archiválva : 2016. november 27.

Irodalom

Linkek