• Like
  • Save

Rapid Application Development mit Grails und AngularJS

  • 739 views
Uploaded on

http://www.opitz-consulting.com/go/3-4-894 …

http://www.opitz-consulting.com/go/3-4-894

In ihrem Vortrag bei der OOP2014 in München zeigten unsere Solution Architects Stefan Scheidt und Stefan Glase am konkreten Beispiel, wie sich durch Kombination von Server- und Client-seitigen Application Development Frameworks eine höchst produktive Plattform für die Entwicklung individueller Rich Client Web Apps zusammenstellen lässt.

--
Ü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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
739
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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