Ember.js

Allikas: Vikipeedia
Ember.js
Autor Yehuda Katz
Viimane väljalase 3.5.1 / 29.10.2018[1]
Litsents MIT litsents[2]
Veebisait Ember.js

Ember.js on avatud lähtekoodiga JavaScripti raamistik veebirakenduste loomiseks. See põhineb Model-View-Controlleri (MVC) arhitektuurimustril.[3]

Ember on peamiselt mõeldud skaleeritavate ja üheleheliste veebirakenduste (ingl single-page application) loomiseks, kuid see võimaldab luua ka arvuti- ja mobiilirakendusi. Emberi raamistikku kasutavad veebilehed nagu LinkedIn, Netflix, Heroku, Microsoft ja TED.[4] Üks silmapaistvamaid näiteid arvutirakendusest on Apple Music.[5]

Arhitektuur[muuda | muuda lähteteksti]

Ember on võimalik liigitada viieks kihiks.

Marsruudid[muuda | muuda lähteteksti]

Marsruudid (ingl routes) ehk veebiaadressid on Emberi üks tähtsaim osa. Ember kasutab veebiaadresse selleks, et defineerida mudelid, mida komponendid hiljem kasutama ja kuvama hakkavad.[6]

Veebiaadresse saab määrata mitmel viisil:

  • rakenduse esmasel laadimisel;
  • veebiaadressis manuaalselt muudatusi tehes;
  • klõpsates rakendusesisest linki;
  • tehes rakenduses konkreetse toimingu.

Pärast veebiaadressi määramist antakse aadress edasi vastavale töötlejale (ingl route handler), mis kas visualiseerib (ingl rendering) valmis malli või laadib mudeli.[7]

Mallid[muuda | muuda lähteteksti]

Mallid (ingl templates) on mõeldud selleks, et organiseerida HTML-koodi ja visualiseerida kasutajaliidest. Ember kasutab Handlebars mallide teeki (ingl handlebars templating library), mis sisaldab staatilist HTML-i ja võimaldab loogeliste sulgude vahel välja kutsuda dünaamilist sisu.[8] Sellist dünaamilise sisu kasutamist nimetatakse andmete sidumiseks (ingl data binding). Muutuja või atribuut, mida loogeliste sulgude vahel kasutatakse, defineeritakse väljaspool HTML-i. Uuendades muutuja väärtust, uuendatakse automaatselt ka malli.[9]

Näide[8]:

app/templates/application.hbs

Tere hommikust, <strong>{{eesnimi}} {{perenimi}}</strong>!

app/controllers/application.js

import Controller from '@ember/controller';

export default Controller.extend({
  eesnimi: 'Yehuda',
  perenimi: 'Katz'
});

Mudelid[muuda | muuda lähteteksti]

Mudelid on objektid, mis sisaldavad kasutajaliideses kuvatavaid andmeid. Erinevalt levinud lahendusest laadida ja salvestada mudelid serverisse (ning sealt andmed omakorda andmebaasi), võimaldab Ember mudelid salvestada mällu nii, et serveri hostimine pole vajalik.[10]

Mudeleid on võimalik käsitleda ka läbi Ember Data, mis on Emberi projektide andmete haldamise teek. Küll aga ei ole see projektide puhul kohustuslik element.[10]

Komponendid[muuda | muuda lähteteksti]

Komponendid kontrollivad kasutajaliidest ja koosnevad kahest osast – Handlebarsi süntaksit kasutades kirjutatud mallist ning JavaScriptis kirjutatud lähtekoodist. Lähtekood määrab komponendi käitumise ehk sisaldab rakenduse funktsionaalsuse tagamiseks vajalikke meetodeid ja atribuute.[7]

Komponendi põhiideeks on muuta märgistuskeel ja kujundus korduvkasutatavaks koodiks.[11]

Hooks[muuda | muuda lähteteksti]

Hookid on Emberi raamistiku meetodid, mis kutsutakse välja automaatselt programmi käivitudes. Hookid seavad rakenduse tööks valmis kõik eelnevad kihid ehk marsruudid, mallid, mudelid ja komponendid.[7]

Ember CLI[muuda | muuda lähteteksti]

Ember CLI on ametlik käsurea utiliit (ingl command line utility), mis on välja töötatud Emberi rakenduste arendamiseks, haldamiseks ja testimiseks. Ember CLI tagab kasutajale standardse projekti struktuuri, arendamiseks vajalikud tööriistad ja addon süsteemi. Selle eesmärgiks on lasta kasutajal keskenduda kohe rakenduse arendamisele, mitte niivõrd rakendust jooksutava süsteemi seadistamisele.[12]

Ember CLI toetab nii npm-i kui ka yarn-i.[12]

Viited[muuda | muuda lähteteksti]

  1. Ember.js. Ember.js Release Cycle. emberjs.com. Kasutatud 03.11.2018.
  2. Ember licence. github.com/emberjs. Kasutatud 03.11.2018.
  3. Sourav Lahoti, Robert Nyman. Ember.JS – What it is and why we need to care about it. hacks.mozilla.org. Kasutatud 03.11.2018.
  4. Ember.js. https://www.emberjs.com/ember-users/. emberjs.com. Kasutatud 03.11.2018.
  5. Blimp. Ambitious web applications built using Ember.js. builtwithember.io. Kasutatud 03.11.2018.
  6. Ember Igniter. 5 Essential Ember Concepts You Must Understand. emberigniter.com. Kasutatud 03.11.2018.
  7. 7,0 7,1 7,2 Ember.js. Core Concepts. guides.emberjs.com. Kasutatud 03.11.2018.
  8. 8,0 8,1 Ember.js. Handlebars Basics. guides.emberjs.com. Kasutatud 03.11.2018.
  9. Ember.js. Bindings. guides.emberjs.com. Kasutatud 28.11.2018.
  10. 10,0 10,1 What are Ember Data models? . guides.emberjs.com. Kasutatud 03.11.2018.
  11. Ember.js. Defining a Component. guides.emberjs.com. Kasutatud 03.11.2018.
  12. 12,0 12,1 Overview of Ember CLI. ember-cli.com. Kasutatud 03.11.2018.