SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Ember.js
07.01.2014

Ein Framework zum Erstellen
von ambitionierten Webanwendungen

Von Samuel Mehrbrodt
Bei Prof. Dr. Kneisel
Technische Hochschule Mittelhessen
Warum ein Javascript-Framework?
●

Klassische Webseite:
–
–

●

Hauptsächlich statisches Anzeigen von Informationen
Evtl. einige Effekte mit Javascript

Webanwendung
–

Programm im Browser

–

Viel Nutzerinteraktion

–

Wie erstellt man eine Webanwendung?
Warum ein Javascript-Framework?
●

Lösungsvorschlag 1: Serverseitiges Framework
–
–

●

Lange Wartezeiten
Großer Overhead

Lösungsvorschlag 2: Serverseitiges Framework, einzelne Teile dynamisch
machen
–

●

Datenkonsistenz: DOM, Javascript-Variablen, Datenbank

Lösungsvorschlag 3: Single-Page-App
–

Logik im Browser (Javascript)

–

Entwicklung mit MVC
→ Ember
Gliederung
●

Vorstellung von Ember

●

Vergleich mit anderen MVC-Frameworks

●

Fazit
Ember – Kernkonzepte
●

Wird zum erstellen von
ambitionierten Webanwendungen
verwendet

●

Convention over Configuration

●

Alles dreht sich um die URL

●

Eine Ember-Anwendung besteht
aus
–

Templates

–

Router

–

Components

–

Models

–

Controllers
Bildquelle:
http://coding.smashingmagazine.com/2013/11/07/an-in-depth-introduction-to
-ember-js
, 04.01.2014
Kernkonzepte – Templates
●

HTML + Handlebars

●

Beinhaltet neben HTML
–

Ausdrücke wie {{firstName}}, um Informationen aus dem Model anzuzeigen

–

Schleifen {{each}}, Bedingte Ausdrücke {{#if}} {{#else}} {{#unless}}

–

Links {{#link-to}}

–

Outlets {{outlet}}, ein Platzhalter für weitere Templates

–

Components, selbsterstellte HTML-Elemente
Kernkonzepte – Router
●

●

Übersetzt die URL in eine Serie von verschachtelten Templates und weist
jedem ein Model zu.
Beim Navigieren hält der Router die URL im Browser aktuell

Bildquelle: http://emberjs.com/guides/routing/defining-your-routes/
07.01.2014
Kernkonzepte – Components
●

Bestehen aus einem Template und zugehöriger JS-Logik

●

Können in andere Templates eingebunden werden
Kernkonzepte – Models
●

●

●

●

●

●

Zu jeder Route gehört ein Model
Model speichert persistente
Daten
Store: Zentraler Datenspeicher
Model: Klasse zur Repräsentation
der Daten
Record: Datensatz, Instanz eines
Model
Adapter: Übersetzt
Datenanfragen in Serveranfragen
Bildquelle:
http://coding.smashingmagazine.com/2013/11/07/an-in-depth-intr
oduction-to-ember-js/
04.01.2014
Kernkonzepte – Controller
●

Dekorieren ein Model mit Logik
für die Anzeige
–

●

z.B. einen bestimmten Bereich
ein- oder ausblenden;
Suchbegriff speichern

ObjectController vs
ArrayController

Bildquelle: http://emberjs.com/guides/controllers/
04.01.2014
Vergleich
Backbone.js

AngularJS

Ember.js

Flexibilität

+

--

--

Erlernbarkeit

+

-

--

Routing Engine

-

+

++

Two Way Bindings

--

++

++

Abbildung von
Datenbank-Relationen im
Model

--

--

+

Programmierproduktivität

-

+

++

Größe der
Entwickler-Community

++

+

+

Geschwindigkeit

+

0

+

Sicherheit vor
Speicherlecks

-

++

++

Automatisch testbar

+

+

++
Quelle: IX Developer 1/2014, S. 76
Fazit
●

Ember ist ein opiononated MVC-Framework – muss man mögen

●

Ember 1.0 im August 2013 erschienen – Ember Data noch Beta

●

Gute Dokumentation – noch kleine Community
→ Ich würd's nehmen!

Quelle: http://www.ohloh.net/p/emberjs
Vielen Dank!
Quellen
●

http://emberjs.com/

●

IX Developer 1/2014: Javascript heute, S. 76-79

●

http://coding.smashingmagazine.com/2013/11/07/an-in-depth-introducti
on-to-ember-js/

Weitere ähnliche Inhalte

Andere mochten auch

Manfred Oppitz: Effizienzsteigerung durch eine Prozess- und Potentialanalyse
Manfred Oppitz: Effizienzsteigerung durch eine Prozess- und PotentialanalyseManfred Oppitz: Effizienzsteigerung durch eine Prozess- und Potentialanalyse
Manfred Oppitz: Effizienzsteigerung durch eine Prozess- und PotentialanalyseInboundLabs (ex mon.ki inc)
 
Windows Azure Platform WAMS v.0.5
Windows Azure Platform   WAMS v.0.5Windows Azure Platform   WAMS v.0.5
Windows Azure Platform WAMS v.0.5Oliver Michalski
 
GEC 2016: Verne Harnish
GEC 2016: Verne HarnishGEC 2016: Verne Harnish
GEC 2016: Verne HarnishMark Marich
 
Above the fold content
Above the fold contentAbove the fold content
Above the fold contentWalter Ebert
 
Final presentation for Ordinance Survey sponsored MSc Project
Final presentation for Ordinance Survey sponsored MSc ProjectFinal presentation for Ordinance Survey sponsored MSc Project
Final presentation for Ordinance Survey sponsored MSc ProjectIris Kramer
 
Using eCognition to improve feature recognition.
Using eCognition to improve feature recognition.Using eCognition to improve feature recognition.
Using eCognition to improve feature recognition.Iris Kramer
 
Terrestrial laser scanning
Terrestrial laser scanningTerrestrial laser scanning
Terrestrial laser scanningIris Kramer
 
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerResponsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerWalter Ebert
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumBenjamin Schmid
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptChristian Heilmann
 
Internet Days - The Depressed Internet
Internet Days - The Depressed Internet Internet Days - The Depressed Internet
Internet Days - The Depressed Internet Christian Heilmann
 
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche IntelligenzZwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche IntelligenzChristian Heilmann
 
Memory leak patterns in javascript
Memory leak patterns in javascriptMemory leak patterns in javascript
Memory leak patterns in javascriptMurali krishna
 
ScreenFridge - Transparent Refrigerator from pilot Screentime (ENGLISH)
ScreenFridge - Transparent Refrigerator from pilot Screentime (ENGLISH)ScreenFridge - Transparent Refrigerator from pilot Screentime (ENGLISH)
ScreenFridge - Transparent Refrigerator from pilot Screentime (ENGLISH)pilot Screentime GmbH
 
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...Christian Heilmann
 
Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043mc_killah
 

Andere mochten auch (20)

Bilder usw...
Bilder usw...Bilder usw...
Bilder usw...
 
Cinema in the Cloud
Cinema in the CloudCinema in the Cloud
Cinema in the Cloud
 
Красноярский журнал о грузовиках Автосила №10(113) 2015
Красноярский журнал о грузовиках Автосила №10(113) 2015Красноярский журнал о грузовиках Автосила №10(113) 2015
Красноярский журнал о грузовиках Автосила №10(113) 2015
 
Manfred Oppitz: Effizienzsteigerung durch eine Prozess- und Potentialanalyse
Manfred Oppitz: Effizienzsteigerung durch eine Prozess- und PotentialanalyseManfred Oppitz: Effizienzsteigerung durch eine Prozess- und Potentialanalyse
Manfred Oppitz: Effizienzsteigerung durch eine Prozess- und Potentialanalyse
 
Web pics
Web picsWeb pics
Web pics
 
Windows Azure Platform WAMS v.0.5
Windows Azure Platform   WAMS v.0.5Windows Azure Platform   WAMS v.0.5
Windows Azure Platform WAMS v.0.5
 
GEC 2016: Verne Harnish
GEC 2016: Verne HarnishGEC 2016: Verne Harnish
GEC 2016: Verne Harnish
 
Above the fold content
Above the fold contentAbove the fold content
Above the fold content
 
Final presentation for Ordinance Survey sponsored MSc Project
Final presentation for Ordinance Survey sponsored MSc ProjectFinal presentation for Ordinance Survey sponsored MSc Project
Final presentation for Ordinance Survey sponsored MSc Project
 
Using eCognition to improve feature recognition.
Using eCognition to improve feature recognition.Using eCognition to improve feature recognition.
Using eCognition to improve feature recognition.
 
Terrestrial laser scanning
Terrestrial laser scanningTerrestrial laser scanning
Terrestrial laser scanning
 
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder wenigerResponsive Videos, mehr oder weniger
Responsive Videos, mehr oder weniger
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit Selenium
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
Internet Days - The Depressed Internet
Internet Days - The Depressed Internet Internet Days - The Depressed Internet
Internet Days - The Depressed Internet
 
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche IntelligenzZwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
 
Memory leak patterns in javascript
Memory leak patterns in javascriptMemory leak patterns in javascript
Memory leak patterns in javascript
 
ScreenFridge - Transparent Refrigerator from pilot Screentime (ENGLISH)
ScreenFridge - Transparent Refrigerator from pilot Screentime (ENGLISH)ScreenFridge - Transparent Refrigerator from pilot Screentime (ENGLISH)
ScreenFridge - Transparent Refrigerator from pilot Screentime (ENGLISH)
 
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
 
Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043
 

Ähnlich wie Vorstellung von Ember.js

Creasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep Dive into ASP.NET MVCCreasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep Dive into ASP.NET MVCCreasoft AG
 
Creasoft Akademie - Deep dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVCCreasoft Akademie - Deep dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVCCreasoft AG
 
Komponentenorientierte Webanwendungen mit wingS 2.0
Komponentenorientierte Webanwendungen mit wingS 2.0 Komponentenorientierte Webanwendungen mit wingS 2.0
Komponentenorientierte Webanwendungen mit wingS 2.0 Benjamin Schmid
 
Creasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der ZukunftCreasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der ZukunftCreasoft AG
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
ASP.NET Core – Troublemaker oder Problemsolver?
ASP.NET Core – Troublemaker oder Problemsolver?ASP.NET Core – Troublemaker oder Problemsolver?
ASP.NET Core – Troublemaker oder Problemsolver?POINT. Consulting GmbH
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresMatthias Jauernig
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
PHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzePHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzeRalf Lütke
 
Progressive Web Apps mit Angular
Progressive Web Apps mit AngularProgressive Web Apps mit Angular
Progressive Web Apps mit AngularJens Binfet
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)André Krämer
 
Vorteile von Webstandards (Historisches Dokument)
Vorteile von Webstandards (Historisches Dokument)Vorteile von Webstandards (Historisches Dokument)
Vorteile von Webstandards (Historisches Dokument)Eric Eggert
 
2. Technologie-Tag - Frontend Architektur
2. Technologie-Tag - Frontend Architektur2. Technologie-Tag - Frontend Architektur
2. Technologie-Tag - Frontend ArchitekturNico Steiner
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurtdasjo
 
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS FrameworkBeschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS FrameworkDieter Ziegler
 

Ähnlich wie Vorstellung von Ember.js (20)

Net@night asp.net mvc
Net@night asp.net mvcNet@night asp.net mvc
Net@night asp.net mvc
 
BizSpark goes Cloud
BizSpark goes CloudBizSpark goes Cloud
BizSpark goes Cloud
 
AngularJs
AngularJsAngularJs
AngularJs
 
Creasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep Dive into ASP.NET MVCCreasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep Dive into ASP.NET MVC
 
Creasoft Akademie - Deep dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVCCreasoft Akademie - Deep dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVC
 
Komponentenorientierte Webanwendungen mit wingS 2.0
Komponentenorientierte Webanwendungen mit wingS 2.0 Komponentenorientierte Webanwendungen mit wingS 2.0
Komponentenorientierte Webanwendungen mit wingS 2.0
 
Creasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der ZukunftCreasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der Zukunft
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
ASP.NET Core – Troublemaker oder Problemsolver?
ASP.NET Core – Troublemaker oder Problemsolver?ASP.NET Core – Troublemaker oder Problemsolver?
ASP.NET Core – Troublemaker oder Problemsolver?
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core Middlewares
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
PHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzePHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-Ansätze
 
Progressive Web Apps mit Angular
Progressive Web Apps mit AngularProgressive Web Apps mit Angular
Progressive Web Apps mit Angular
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
 
Vorteile von Webstandards (Historisches Dokument)
Vorteile von Webstandards (Historisches Dokument)Vorteile von Webstandards (Historisches Dokument)
Vorteile von Webstandards (Historisches Dokument)
 
2. Technologie-Tag - Frontend Architektur
2. Technologie-Tag - Frontend Architektur2. Technologie-Tag - Frontend Architektur
2. Technologie-Tag - Frontend Architektur
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurt
 
Joomla
JoomlaJoomla
Joomla
 
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS FrameworkBeschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
 

Vorstellung von Ember.js

  • 1. Ember.js 07.01.2014 Ein Framework zum Erstellen von ambitionierten Webanwendungen Von Samuel Mehrbrodt Bei Prof. Dr. Kneisel Technische Hochschule Mittelhessen
  • 2. Warum ein Javascript-Framework? ● Klassische Webseite: – – ● Hauptsächlich statisches Anzeigen von Informationen Evtl. einige Effekte mit Javascript Webanwendung – Programm im Browser – Viel Nutzerinteraktion – Wie erstellt man eine Webanwendung?
  • 3. Warum ein Javascript-Framework? ● Lösungsvorschlag 1: Serverseitiges Framework – – ● Lange Wartezeiten Großer Overhead Lösungsvorschlag 2: Serverseitiges Framework, einzelne Teile dynamisch machen – ● Datenkonsistenz: DOM, Javascript-Variablen, Datenbank Lösungsvorschlag 3: Single-Page-App – Logik im Browser (Javascript) – Entwicklung mit MVC → Ember
  • 4. Gliederung ● Vorstellung von Ember ● Vergleich mit anderen MVC-Frameworks ● Fazit
  • 5. Ember – Kernkonzepte ● Wird zum erstellen von ambitionierten Webanwendungen verwendet ● Convention over Configuration ● Alles dreht sich um die URL ● Eine Ember-Anwendung besteht aus – Templates – Router – Components – Models – Controllers Bildquelle: http://coding.smashingmagazine.com/2013/11/07/an-in-depth-introduction-to -ember-js , 04.01.2014
  • 6. Kernkonzepte – Templates ● HTML + Handlebars ● Beinhaltet neben HTML – Ausdrücke wie {{firstName}}, um Informationen aus dem Model anzuzeigen – Schleifen {{each}}, Bedingte Ausdrücke {{#if}} {{#else}} {{#unless}} – Links {{#link-to}} – Outlets {{outlet}}, ein Platzhalter für weitere Templates – Components, selbsterstellte HTML-Elemente
  • 7. Kernkonzepte – Router ● ● Übersetzt die URL in eine Serie von verschachtelten Templates und weist jedem ein Model zu. Beim Navigieren hält der Router die URL im Browser aktuell Bildquelle: http://emberjs.com/guides/routing/defining-your-routes/ 07.01.2014
  • 8. Kernkonzepte – Components ● Bestehen aus einem Template und zugehöriger JS-Logik ● Können in andere Templates eingebunden werden
  • 9. Kernkonzepte – Models ● ● ● ● ● ● Zu jeder Route gehört ein Model Model speichert persistente Daten Store: Zentraler Datenspeicher Model: Klasse zur Repräsentation der Daten Record: Datensatz, Instanz eines Model Adapter: Übersetzt Datenanfragen in Serveranfragen Bildquelle: http://coding.smashingmagazine.com/2013/11/07/an-in-depth-intr oduction-to-ember-js/ 04.01.2014
  • 10. Kernkonzepte – Controller ● Dekorieren ein Model mit Logik für die Anzeige – ● z.B. einen bestimmten Bereich ein- oder ausblenden; Suchbegriff speichern ObjectController vs ArrayController Bildquelle: http://emberjs.com/guides/controllers/ 04.01.2014
  • 11. Vergleich Backbone.js AngularJS Ember.js Flexibilität + -- -- Erlernbarkeit + - -- Routing Engine - + ++ Two Way Bindings -- ++ ++ Abbildung von Datenbank-Relationen im Model -- -- + Programmierproduktivität - + ++ Größe der Entwickler-Community ++ + + Geschwindigkeit + 0 + Sicherheit vor Speicherlecks - ++ ++ Automatisch testbar + + ++ Quelle: IX Developer 1/2014, S. 76
  • 12. Fazit ● Ember ist ein opiononated MVC-Framework – muss man mögen ● Ember 1.0 im August 2013 erschienen – Ember Data noch Beta ● Gute Dokumentation – noch kleine Community → Ich würd's nehmen! Quelle: http://www.ohloh.net/p/emberjs
  • 13. Vielen Dank! Quellen ● http://emberjs.com/ ● IX Developer 1/2014: Javascript heute, S. 76-79 ● http://coding.smashingmagazine.com/2013/11/07/an-in-depth-introducti on-to-ember-js/

Hinweis der Redaktion

  1. Webanwendungen, die mit nativen Anwendungen konkurrieren Jede Ansicht kann durch eine URL erreicht werden – hierin unterscheidet Ember sich von anderen Frameworks
  2. Outlets: Der Router entscheidet, welche Templates in den {{outlet}}s geladen werden Components: später mehr dazu
  3. Beispiel kommt später
  4. Eine Route lädt das Template und stellt das Model zur Verfügung Model: Überbegriff für den Speicher für persistente Daten Store: Enthält alle Datensätze, die in der App verfügbar sind Model: Datentyp, definiert, wie die einzelnen Datensätze aussehen, z.B. Person mit Name + Geburtsdatum Record: Eindeutig identifiziert durch Model-Typ + ID Adapter: Wenn Datensatz nicht im Store. Fixture, LocalStorage, RestAdapter
  5. Template greift auf die Eigenschaften vom Controller zu, Controller hat alle Eigenschaften des Models ArrayController – bei einer Sammlung von Datensätzen ObjectController – bei einzelnen Datensätzen