SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Rapid Application Development
mit Grails und AngularJS
Stefan Glase
Stefan Scheidt
Ihre Sprecher
Stefan.Glase@opitz-consulting.com
twitter/stefanglase
github/codescape
Stefan.Scheidt@opitz-consulting.com
twitter/stefanscheidt
github/stefanscheidt
© OPITZ CONSULTING GmbH 2011 Seite 3<Präsentationstitel – bitte im Folienmaster ändern>
Mission
Wir entwickeln gemeinsam mit allen
Branchen Lösungen, die dazu führen, dass
sich diese Organisationen besser entwickeln
als ihr Wettbewerb.
Unsere Dienstleistung erfolgt
partnerschaftlich und ist auf eine langjährige
Zusammenarbeit angelegt.
Leistungsangebot
Business IT Alignment
Business Information Management
Business Process Management
Anwendungsentwicklung
SOA und System-Integration
IT-Infrastruktur-Management
Märkte
Branchenübergreifend
Über 600 Kunden
29%
Industrie / Versorger /
Telekommunikation
29%
Handel / Logistik /
Dienstleistungen
42%
Öffentliche Auftraggeber / Banken und
Versicherungen / Vereine und Verbände
Eckdaten
Gründung 1990
400 Mitarbeiter
9 Standorte
Frontend-Architekturen
"Multi-Page Web Apps"
Browser Server
Model
View
Controller
Backend
HTML-Page
UI Values
Data
Request
Response
HTML
"Single Page Web Apps"
Browser Server
Model
View
Controller
BackendData
Laufzeit-Sicht "Single Page"
Web Server
REST
Endpoints
Browser
HTML
+ CSS
+ JavaScript
HTML
+ CSS
+ JavaScript
Request
Response:
JSON, HTML
Initiales
Laden
JavaScript
aktualisiert DOM
erleichtern
interaktives UI
unterstützen
"Thin Server Architecture"
bedeuten
Client-Server-Entwicklung
ermöglichen
Offline-Betrieb
sind bereits
länger im Einsatz
ermöglichen SEO
erleichtern
Bookmarking
Multi-Page-Apps Single-Page-Apps
Grails
"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
Spring Groovy
Hibernate SiteMesh
Grails
Technologie-Unterbau
grails-app
- conf
- controllers
- domain
- i18n
- services
- taglib
- utils
- views
lib
scripts
src
- groovy
- java
test
- integration
- unit
web-app
Einheitliche Verzeichnisstruktur
grails-app/conf/
hibernate/
spring/
resources
ApplicationResources
BootStrap
BuildConfig
Config
DataSource
UrlMappings
Konfiguration
Fachklassenmodellierung
class Person {
String firstname
String lastname
String email
static constraints = {
firstname(blank: false)
lastname(blank: false)
email(unique: true, email: true)
}
String toString() {
"$firstname $lastname ($email)"
}
}
„Groovyness“
new File('beispiel.txt').eachLine {
line -> println line
}
new Person(
firstname: 'Max', lastname: 'Mustermann'
).save()
100.times {
println 'Hello World'
}
Plugins
Demo: Grails
http://www.flickr.com/photos/dissolved/2514697398/
AngularJS
"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
AngularJS im Überblick
Declarative
UI Templates
Framework
MVC with
Dependency Injection
Two-Way
Data Binding
Demo: AngularJS
Grails
&
AngularJS
Aufgabenverteilung
Web Server
REST
Endpoints
Browser
HTML
+ CSS
+ JavaScript
Request Response: JSON
AngularJS
Grails
Optionen für die Integration bei der
Entwicklung:
Separate Projekte
AngularJS-App eingebettet als Asset
Demo
Bewertung und Fazit
Fazit (1)
Grails ermöglicht die produktive Entwicklung von Multi-
Page-Apps und des Backends für Single-Page-Apps.
AngularJS ermöglicht eine produktive Entwicklung von
Single-Page-Apps als Konsument eines REST-Backends.
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.
Beispiel-Code
https://github.com/opitzconsulting/tasklist-grails-angular
Links
http://grails.org
http://angularjs.org
Grails in Action, 2nd Ed., Ch. 14
http://angular-tips.com/blog/2013/08/
my-workflow-with-lineman/
Herzlichen Dank für
Ihre Aufmerksamkeit!
youtube.com/opitzconsulting
twitter.com/OC_WIRE
slideshare.net/opitzconsulting
xing.com/net/opitzconsulting

Weitere ähnliche Inhalte

Ähnlich wie Rapid Application Development mit Grails und AngularJS

Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Jakob
 
Erp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinausErp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinaus
Dedagroup
 
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
OPITZ CONSULTING Deutschland
 

Ähnlich wie Rapid Application Development mit Grails und AngularJS (20)

WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJSWebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
 
Top 10 Internet-Trends
Top 10 Internet-TrendsTop 10 Internet-Trends
Top 10 Internet-Trends
 
Eine Referenzarchitektur für das Digitale Produkt
Eine Referenzarchitektur für das Digitale ProduktEine Referenzarchitektur für das Digitale Produkt
Eine Referenzarchitektur für das Digitale Produkt
 
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
Hybride Mobile Apps entwickeln mit AngularJS und Ionic
Hybride Mobile Apps entwickeln mit AngularJS und Ionic Hybride Mobile Apps entwickeln mit AngularJS und Ionic
Hybride Mobile Apps entwickeln mit AngularJS und Ionic
 
AngularJS
AngularJSAngularJS
AngularJS
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
 
PLM-Zukunftsthemen
PLM-ZukunftsthemenPLM-Zukunftsthemen
PLM-Zukunftsthemen
 
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-Optimierungen
 
Microprofile.io
Microprofile.io Microprofile.io
Microprofile.io
 
Cloud Computing aus Sicht der Wirtschaft
Cloud Computing aus Sicht der WirtschaftCloud Computing aus Sicht der Wirtschaft
Cloud Computing aus Sicht der Wirtschaft
 
Erp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinausErp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinaus
 
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
 
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
 
Big Data Webinar (Deutsch)
Big Data Webinar (Deutsch)Big Data Webinar (Deutsch)
Big Data Webinar (Deutsch)
 
Microprofile.io - Cloud Native mit Java EE
Microprofile.io - Cloud Native mit Java EEMicroprofile.io - Cloud Native mit Java EE
Microprofile.io - Cloud Native mit Java EE
 
Data is the new Oil! - Paradigmenwechsel im Arbeiten und Verwalten von Daten
Data is the new Oil! - Paradigmenwechsel im Arbeiten und Verwalten von DatenData is the new Oil! - Paradigmenwechsel im Arbeiten und Verwalten von Daten
Data is the new Oil! - Paradigmenwechsel im Arbeiten und Verwalten von Daten
 
.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1
 
Clickstream Analysis with Spark
Clickstream Analysis with Spark Clickstream Analysis with Spark
Clickstream Analysis with Spark
 

Mehr von OPITZ CONSULTING Deutschland

Mehr von OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 

Rapid Application Development mit Grails und AngularJS