AngularJS | |
---|---|
Tyyppi | puitteet , JavaScript- kirjasto ja funktiokirjasto |
Kehittäjä | |
Sisään kirjoitettu | JavaScript [1] |
Ensimmäinen painos | 20. lokakuuta 2010 |
Laitteistoalusta | web-alusta |
uusin versio |
|
Lisenssi | MIT-lisenssi [4] [5] |
Verkkosivusto | angularjs.org |
Mediatiedostot Wikimedia Commonsissa |
AngularJS on avoimen lähdekoodin JavaScript - kehys . Suunniteltu yksisivuisten sovellusten kehittämiseen [6] . Sen tavoitteena on laajentaa MVC -malliin perustuvia selainsovelluksia sekä yksinkertaistaa testausta ja kehitystä.
Kehys toimii HTML :n kanssa , joka sisältää muita mukautettuja attribuutteja, jotka kuvataan direktiiveillä, ja sitoo sivualueen syötteen tai lähdön malliin, joka on tavallisia JavaScript-muuttujia. Näiden muuttujien arvot asetetaan manuaalisesti tai noudetaan staattisista tai dynaamisista JSON-tiedoista.
AngularJS:n kehittivät vuonna 2009 Misko Heveri ja Adam Abrons Brat Tech LLC:ssä megatavun JSON -tallennuspalvelun takana olevaksi ohjelmistoksi helpottamaan yrityssovellusten kehitystä. Palvelua isännöi "GetAngular.com" -verkkotunnus, ja sillä oli useita rekisteröityneitä käyttäjiä, ennen kuin he päättivät luopua liikeideastaan ja julkaista Angular avoimen lähdekoodin kirjastona.
Abrons jätti projektin, mutta Googlella työskentelevä Heveri jatkoi kirjaston kehittämistä ja ylläpitoa muiden Google-työntekijöiden Igor Minarin ja Voita Jinin kanssa.
Maaliskuussa 2014 julkistettiin AngularJS 2.0 [7] -kehitys . Uusi versio kirjoitettiin tyhjästä TypeScriptillä ja erosi suuresti edellisestä, joten myöhemmin se päätettiin kehittää erilliseksi viitekehykseksi nimeltä Angular . Angular 2 julkaistiin 15. syyskuuta 2016 [8] , kun taas ensimmäisen version kehittämistä jatkettiin erikseen nimellä AngularJS.
Huhtikuussa 2022, kun uusin versio 1.8.3 julkaistiin, AngularJS:n tuki lopetettiin virallisesti. [9]
AngularJS on suunniteltu uskoen, että deklaratiivinen ohjelmointi on paras käyttöliittymien rakentamiseen ja ohjelmistokomponenttien kuvaamiseen [10] , kun taas pakottava ohjelmointi sopii erinomaisesti liiketoimintalogiikan kuvaamiseen [11] . Kehys mukauttaa ja laajentaa perinteistä HTML:ää tarjoamaan kaksisuuntaisen tiedon sidonnan dynaamiselle sisällölle, mikä mahdollistaa mallin ja näkymän automaattisen synkronoinnin. Tämän seurauksena AngularJS vähentää DOM-manipuloinnin roolia ja parantaa testattavuutta.
Angular noudattaa MVC-suunnittelumallia ja rohkaisee löyhää kytkentää esityksen, datan ja komponenttilogiikan välillä. Riippuvuuden lisäyksen avulla Angular tuo klassiset palvelinpuolen palvelut, kuten näkymästä riippuvat ohjaimet, asiakaspuolelle. Tämän seurauksena palvelimen kuormitus vähenee ja verkkosovellus kevenee.
AngularJS-käskyjen avulla voit luoda mukautettuja HTML-tageja ja -attribuutteja lisätäksesi käyttäytymistä tietyille elementeille. [neljätoista]
ng-app Ilmoittaa elementin sovelluksen juurielementiksi. [viisitoista] ng-sidos Korvaa automaattisesti HTML-elementin tekstin välitetyn lausekkeen arvolla. ng-malli Sama kuin ng-bind, tarjoaa vain kaksisuuntaisen tiedonsidon. [16] Elementin sisältö muuttuu - kulma muuttaa myös mallin arvoa. Mallin arvo muuttuu - Angular muuttaa tekstiä elementin sisällä. ng-luokka Määrittää luokat dynaamista lataamista varten. ng-ohjain Määrittää JavaScript-ohjaimen HTML-lausekkeiden arvioimiseksi MVC:n mukaan. [17] ng-toista Luo DOM-ilmentymän jokaiselle kokoelman elementille. [kahdeksantoista] ng-show ja ng-hide Näyttää tai piilottaa elementin loogisen lausekkeen arvon mukaan. ng-kytkin Luo mallin esiintymän joukosta vaihtoehtoja lausekkeen arvon mukaan. ng-näkymä Perusdirektiivi vastaa JSON-protokollan hyväksyvien reittien [19] käsittelystä ennen määritettyjen ohjaimien ohjaamien mallien hahmontamista. ng-if Poistaa tai luo osan DOM-puusta lausekkeen arvon mukaan. Jos ngIf:lle määritetyn lausekkeen arvo on epätosi, elementti poistetaan DOM:sta, muuten vasta kloonattu elementti lisätään DOM:iin. [kaksikymmentä]On myös mahdollista luoda mukautettuja ohjeita, mukaan lukien mallien käyttäminen komentosarjatunnisteessa. [21] [22]
Kaksisuuntainen tiedonsidonta AngularJS:ssä on merkittävin ominaisuus: se vähentää koodin määrää vapauttamalla palvelimen mallien käsittelystä. Sen sijaan mallit hahmonnetaan tavallisena HTML-muodossa, joka on täytetty mallissa määritetyn laajuuden sisällä. Angular- palvelu $scopetarkkailee mallin muutoksia ja muuttaa näkymän HTML-lausekeosaa ohjaimen kautta. Myös kaikki näkymään tehdyt muutokset näkyvät mallissa. Tämä ohittaa DOM-käsittelyn tarpeen ja helpottaa verkkosovellusten alustusta ja prototyyppien luomista [23] .
Heinäkuussa 2012 Angular-tiimi julkaisi Google Chrome -selaimelle laajennuksen nimeltä Batarang [24] , joka helpottaa Angularille rakennettujen verkkosovellusten virheenkorjausta. Laajennus helpottaa pullonkaulojen havaitsemista ja tarjoaa graafisen käyttöliittymän sovellusten virheenkorjaukseen [25] .
Backbone.js , JavaScript - kirjasto, joka perustuu Model-View-Presenter (MVP) -suunnittelumalliin, sisältää samanlaiset ominaisuudet verkkosovellusten kehittämiseen RESTful JSON -rajapinnan tuella. Backbone on erittäin kevyt kirjasto (pakattu ja gzip-pakattu kooltaan ~6,3 kt), mutta se vaatii toimiakseen Underscore.js -kirjaston , ja REST API:n tukemiseksi ja DOM-elementtien kanssa toimimiseen on suositeltavaa sisällyttää jQuery- kuten kirjasto: jQuery tai Zepto. Backbone.js:n loi Jeremy Ashkenas , joka tunnetaan myös CoffeeScriptin luojana .
On kuitenkin myös merkittäviä eroja:
Tietojen sitominen Merkittävin kirjastot erottava ominaisuus on tapa, jolla malli ja näkymä synkronoidaan. Vaikka AngularJS tukee kaksisuuntaista tiedonsidontaa, Backbone.js luottaa suurelta osin mallikoodiin sitoakseen mallin ja näkymän [26] . LEVÄTÄ Backbone.js tukee RESTful- taustaohjelmaa hyvin. On myös erittäin helppoa työskennellä RESTful API:iden kanssa AngularJS:ssä käyttämällä $resurssipalvelua. Samaan aikaan AngularJS:ssä on joustavampi $http-palvelu, joka muodostaa yhteyden etäpalvelimiin käyttämällä selaimen XMLHttpRequest -objektia tai JSONP :n kautta [27] . Mallit AngularJS käyttää mallina mukautettuja HTML-tageja ja lausekkeita [28] . Backbone.js käyttää erilaisia mallinnusohjelmia, kuten Underscore.js [26] .JavaScript | |
---|---|
Ideoita | |
Kääntäjät | |
Moottorit | |
Kirjastot ja puitteet | |
Toimittajat | |
Työkalut |
|
Liittyvät tekniikat | |
Ihmiset | |
Kategoria |
ECMAScript | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Murteet |
| ||||||||||||
Moottorit ( vertailu ) |
| ||||||||||||
Kehykset , kirjastot |
| ||||||||||||
Ihmiset | |||||||||||||
Muut |
|