Gerade bei Web-Anwendungen ist es wichtig Anforderungen schnell umsetzen zu können. Dazu sollte der Stack den Entwickler unterstützten und nicht durch unnötige Abstraktionen weitere Hürden aufbauen. Zurück zur Einfachheit ist hier die Devise!
MEAN steht für MongoDB, ExpressJS, AngularJS und Node.js. Server und Frontend werden dank Node.JS in einer gmeinsamen Programmiersprache entwickelt: JavaScript. JSON-Datenstrukturen können ohne größere Umwege mittels ExpressJS aus der Datenbank an AngularJS übergeben werden; ein aufwändiges OR-Mapping entfällt. AngularJS erlaubt es mittels Direktiven das HTML-Subset um anwendungsspezifisches Verhalten zu erweitern.
Dieser Vortrag gibt einen Einblick in die Entwicklung von Web-Anwendungen mit dem MEAN-Stack und zeigt das Zusammenspiel der einzelnen Komponenten.
37. HTML erweitern (Direktiven)
●
eigene Komponentenen definieren
–
●
DOM-Transformation
vorhandene Elemente um neues Verhalten
erweitern
angular.directive();
Kein Produkt oder Standard!
Sammlung von Technologien für den Entwicklung von Webanwendungen
Anlehnung an LAMP-Stack.
Begriff wurde erstmals von Valeri Karpov im April 2013 in einem Blogpost erwähnt.
Single-Page Applikation
UI-Logik wird vom Client berechnet
Server ist zustandslos und liefert nur Daten
HTML Templates, JS, CSS usw. können separat von einem WebServer geliefert werden.
Welche Gründe sprechen für den MEAN-Stack?
JavaScript „Die Sprache des Webs“
Alle Entwickler sprechen die gleiche Sprache
„Don't repeat yourself“. Zahlreiche JavaScript Bibliotheken können sowohl auf dem Client als auch auf dem Server verwendet werden
Einheitliches Datenformat
Client/Server und Datenbank sprechen JSON.
Yeoman: Workflow tool / Scarfolding für WebApps.
Grunt: Build-System für JavaScript
Bower: PackageManager für clientseitige JavaScript Bibliotheken.
Mocha: Testframework für JavaScript