© OPITZ CONSULTING GmbH 2010 Seite 1 Frühling für iPhone-Apps
Stefan Scheidt
Solution Architect
OPITZ CONSULTING GmbH
Spring-basierte Backends für iOS-Applikationen
Frühling für iPhone-Apps
© OPITZ CONSULTING GmbH 2010 Seite 2 Frühling für iPhone-Apps
Wer bin ich?
Software-Entwickler und Architekt
Trainer und Coach
Sprecher und Autor
© OPITZ CONSULTING GmbH 2010 Seite 3 Frühling für iPhone-Apps
Märkte n Java n SOA n ORACLE n BI/DWH n Outtasking
Kunden n Branchen-
übergreifend n Über 600
Kunden
Leistungs- angebot n IT-Strategie n Beratung n Implementierung n Betrieb n Training
Fakten n Gründung 1990 n 400 Mitarbeiter n 8 Standorte in D/
PL/CH
Industrie / Versorger / Telekommunikation
29%
Handel / Logistik / Dienstleistungen 29%
42% Öffentliche Auftraggeber /
Banken & Versicherungen / Vereine & Verbände
© OPITZ CONSULTING GmbH 2010
© OPITZ CONSULTING GmbH 2010 Seite 4 Frühling für iPhone-Apps
Wer sind Sie?
© OPITZ CONSULTING GmbH 2010 Seite 5 Frühling für iPhone-Apps
Apps fürs iOS-Geräte
© OPITZ CONSULTING GmbH 2010 Seite 6 Frühling für iPhone-Apps
Apps fürs iOS-Geräte
browserbasiert
vs
nativ
© OPITZ CONSULTING GmbH 2010 Seite 7 Frühling für iPhone-Apps
Apps fürs iOS-Geräte
plattformspezifisch
vs
„cross plattform“
© OPITZ CONSULTING GmbH 2010 Seite 8 Frühling für iPhone-Apps
Backend für iOS Apps
Viele Apps benötigen ein Backend:
Mail Kalender Kontakte Karten
Twitter-Client RSS-Reader
...
© OPITZ CONSULTING GmbH 2010 Seite 9 Frühling für iPhone-Apps
Gängige Kommunikationsformen
Kommunikationsprotokolle: HTTP(S), FTP
Payload:
HTML, XML, JSON
© OPITZ CONSULTING GmbH 2010 Seite 10 Frühling für iPhone-Apps
Backends für iOS-Apps
Viele Möglichkeiten für die Backend-Entwicklung:
Java (EE)
Groovy/Grails Ruby (on Rails) Microsoft .net
Python ...
© OPITZ CONSULTING GmbH 2010 Seite 11 Frühling für iPhone-Apps
In unserem Beispiel…
+ Hibernate (ORM) + HSQLDB (rel. DB)
© OPITZ CONSULTING GmbH 2010 Seite 12 Frühling für iPhone-Apps
Warum Spring?
© OPITZ CONSULTING GmbH 2010 Seite 13 Frühling für iPhone-Apps
Warum Spring?
It‘s the world‘s most popular
Java Development Framework
© OPITZ CONSULTING GmbH 2010 Seite 14 Frühling für iPhone-Apps
Warum Spring?
Es ist wirklich ein sehr gutes Framework!
Es bietet viele Integrationsmöglichkeiten!
© OPITZ CONSULTING GmbH 2010 Seite 15 Frühling für iPhone-Apps
Warum Spring?
...weil ich es kann...
© OPITZ CONSULTING GmbH 2010 Seite 16 Frühling für iPhone-Apps
Die Beispiel-App: SampleNewsApp
© OPITZ CONSULTING GmbH 2010 Seite 17 Frühling für iPhone-Apps
Entwicklung des Backends
Mit Spring Roo... „Spring Roo is a lightweight developer tool that
makes it fast and easy to deliver instant results.“
...und der SpringSource Tool Suite
„The Best Development Tool for Enterprise Java“
© OPITZ CONSULTING GmbH 2010 Seite 18 Frühling für iPhone-Apps
Entwicklung des Backend
1. Projekt anlegen
2. Persistenzframework auswählen
3. Fachklasse „NewsItem“ mit Attributen anlegen
4. Finder „ByItemNumberGreaterThan“ anlegen
5. Web Controller anlegen und anpassen
© OPITZ CONSULTING GmbH 2010 Seite 19 Frühling für iPhone-Apps
Demo… (bitte Daumen drücken!)
© OPITZ CONSULTING GmbH 2010 Seite 20 Frühling für iPhone-Apps
Entwicklung des Frontend
Mit Xcode Als „Navigation Based Application“
Mit „Core Data for Storage“
© OPITZ CONSULTING GmbH 2010 Seite 21 Frühling für iPhone-Apps
Entwicklung des Frontend
1. Projekt anlegen
2. Datenmodell inkl. Zugriffe anpassen
3. UI anpassen
4. TouchJSON ergänzen
5. News Items per HTTP GET laden
© OPITZ CONSULTING GmbH 2010 Seite 22 Frühling für iPhone-Apps
Das Frontend… (noch mal Daumen drücken!)
© OPITZ CONSULTING GmbH 2010 Seite 23 Frühling für iPhone-Apps
Bemerkenswertes – iOS-Entwicklung
© OPITZ CONSULTING GmbH 2010 Seite 24 Frühling für iPhone-Apps
Bemerkenswertes – iOS-Entwicklung
Ein „geschlossenes“ System...
iOS SDK
Xcode
Mac OS zur Entwicklung
App Store
© OPITZ CONSULTING GmbH 2010 Seite 25 Frühling für iPhone-Apps
Bemerkenswertes – iOS-Entwicklung
Objective C?
Header Files?
Memory Management?
© OPITZ CONSULTING GmbH 2010 Seite 26 Frühling für iPhone-Apps
Bemerkenswertes – iOS-Entwicklung
TDD?
Automatisierter Build?
Continuous Integration?
© OPITZ CONSULTING GmbH 2010 Seite 27 Frühling für iPhone-Apps
Die echten Herausforderungen
© OPITZ CONSULTING GmbH 2010 Seite 28 Frühling für iPhone-Apps
Die echten Herausforderungen
Native Apps sind „anders“:
Screen real-estate
UI Design
Benutzerverhalten
© OPITZ CONSULTING GmbH 2010 Seite 29 Frühling für iPhone-Apps
Die echten Herausforderungen
Native Apps sind „anders“:
„An App is installed on a device and owned by the user!
Any update/ modification is triggered by the user
and requires affirmation.“
André Neubauer „Mobile Application Development in an Enterprise Context“
© OPITZ CONSULTING GmbH 2010 Seite 30 Frühling für iPhone-Apps
Die echten Herausforderungen
Native Apps sind „anders“:
Online
Offline Sync
© OPITZ CONSULTING GmbH 2010 Seite 31 Frühling für iPhone-Apps
Online
Offline Sync
Die Konsequenz...
Native Apps benötigen
einen „dedizierten Endpoint“
© OPITZ CONSULTING GmbH 2010 Seite 32 Frühling für iPhone-Apps
Noch einmal: Warum Spring?
© OPITZ CONSULTING GmbH 2010 Seite 33 Frühling für iPhone-Apps
Spring verbindet…
Spring REST Support
Spring Template
Spring Message Driven POJOs
Spring Integration
Spring Batch ...
© OPITZ CONSULTING GmbH 2010 Seite 34 Frühling für iPhone-Apps
Fazit
© OPITZ CONSULTING GmbH 2010 Seite 35 Frühling für iPhone-Apps
Im Netz...
Beispielcode: https://github.com/stefanscheidt/SampleNewsApp
Screencast der Demo:
http://www.youtube.com/watch?v=Qel-T-NegBk http://www.youtube.com/watch?v=hxkrlU6sBq4
Twitter:
@beezlebug
© OPITZ CONSULTING GmbH 2010 Seite 36 Frühling für iPhone-Apps
Fragen und Antworten
© OPITZ CONSULTING GmbH 2010 Seite 37 Frühling für iPhone-Apps
Kontakt
Stefan Scheidt Solution Architect
OPITZ CONSULTING GmbH Kirchstr. 6, 51647 Gummersbach Tel. +49 (2261) 6001 - 0 [email protected]
Recommended