http://www.opitz-consulting.com/go/3-4-11
Die ruhrjug traf sich sich am 27.11.2014 am Essener Standort unserer IT-Beratung für einen Vortrag zur schnellen Entwicklung von Web-Applikationen mit Grails und AngularJS. Die Session hielten unsere Java-Experten Stefan Glase und Stefan Scheidt.
Weitere Infos: http://www.ruhrjug.de/
--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5
5. "Multi-Page Web Apps"
Browser Server
Model
View
Controller
Backend
HTML-Page
UI Values
Data
Request
Response
HTML
6. "Single Page Web Apps"
Browser Server
Model
View
Controller
Data Backend
7. Laufzeit-Sicht "Single Page"
Web Server
REST
Endpoints
Browser
HTML
+ CSS
+ JavaScript
HTML
+ CSS
+ JavaScript
Request
Response:
JSON, HTML
Initiales
Laden
JavaScript
aktualisiert DOM
9. "AngularJS is a structural framework for dynamic web
apps. [...] It attempts to minimize the impedance
mismatch between document centric HTML and what
an application needs by creating new HTML
constructs."
http://docs.angularjs.org/guide/introduction
10. AngularJS im Überblick
Framework
Declarative
UI Templates
Two-Way
Data Binding
MVC with
Dependency Injection
13. "Grails is an Open Source, full stack, web application
framework for the JVM. It takes advantage of the
Groovy programming language and convention over
configuration to provide a productive and stream-lined
development experience."
http://grails.org
28. Asset Pipeline Plugin
The Asset-Pipeline is a plugin used for
managing and processing static assets
in Grails applications.
http://bertramdev.github.io/asset-pipeline/
31. Fazit (1)
AngularJS ermöglicht eine produktive Entwicklung von
Single-Page-Apps als Konsument eines REST-Backends.
Grails ermöglicht die produktive Entwicklung von Multi-
Page-Apps und des Backends für Single-Page-Apps.
32. Fazit (2)
Eine Trennung in separate Projekte erlaubt die
Entkopplung von Frontend und Backend bei
Entwicklung und im Betrieb.
Da AngularJS optional nur Teile einer Page
"kontrollieren" kann, ist auch eine Mischung von Multi-
Page- und Single-Page-Architektur möglich.
35. Herzlichen Dank für
Ihre Aufmerksamkeit!
youtube.com/opitzconsulting
twitter.com/OC_WIRE
slideshare.net/opitzconsulting
xing.com/net/opitzconsulting
Hinweis der Redaktion
Same-Origin-Policy erklären!
Single Page Apps ...
- erlauben interaktive Web-Applikationen ("Rich Internet Applications")
- "entlasten" den Server und erlauben "Thin Server Architectures"/(nahezu) zustandslose Server-Apps
- werden wie Client-Server-Applikationen entwickelt
- können prinzipiell offline betrieben werden
Nachteile bei ...
- Search Engine Optimization - mögliche Lösung: SPA für Menschen, Seiten für Crawler
- Bookmarking - mögliche Lösung: "URL hash fragments", HTML 5 History API
- Page visit counters
Fazit sollte sein: Hybride Lösungen sind wünschenswert
Links:
- http://itsnat.sourceforge.net/php/spim/spi_manifesto_en.php
Angular ist – genau wie Grails – "opinionated"
... Ist das gut oder schlecht?
Grails ist – genau wie Angular – "opinionated"
... Ist das gut oder schlecht?
Same-Origin-Policy erklären!
siehe auch http://addyosmani.com/blog/making-maven-grunt/
Gegebenenfalls zusätzliche Schritte beim Build einer SPA unter anderem:
- Linting der JavaScript/CSS/HTML Sourcen
- Konkatinieren und Minifizieren von JavaScript/CSS/HTML Sourcen
siehe auch http://addyosmani.com/blog/making-maven-grunt/
Gegebenenfalls zusätzliche Schritte beim Build einer SPA unter anderem:
- Linting der JavaScript/CSS/HTML Sourcen
- Konkatinieren und Minifizieren von JavaScript/CSS/HTML Sourcen
siehe auch http://addyosmani.com/blog/making-maven-grunt/
Gegebenenfalls zusätzliche Schritte beim Build einer SPA unter anderem:
- Linting der JavaScript/CSS/HTML Sourcen
- Konkatinieren und Minifizieren von JavaScript/CSS/HTML Sourcen