ipdc10: spring backends für ios apps

37
© OPITZ CONSULTING GmbH 2010 Seite 1 Stefan Scheidt Solution Architect OPITZ CONSULTING GmbH Spring-basierte Backends für iOS-Applikationen Frühling für iPhone-Apps

Upload: stefan-scheidt

Post on 13-May-2015

929 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: ipdc10: Spring Backends für iOS Apps

© 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

Page 2: ipdc10: Spring Backends für iOS 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

Page 3: ipdc10: Spring Backends für iOS Apps

© 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

Page 4: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 4 Frühling für iPhone-Apps

Wer sind Sie?

Page 5: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 5 Frühling für iPhone-Apps

Apps fürs iOS-Geräte

Page 6: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 6 Frühling für iPhone-Apps

Apps fürs iOS-Geräte

browserbasiert

vs

nativ

Page 7: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 7 Frühling für iPhone-Apps

Apps fürs iOS-Geräte

plattformspezifisch

vs

„cross plattform“

Page 8: ipdc10: Spring Backends für iOS Apps

© 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

...

Page 9: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 9 Frühling für iPhone-Apps

Gängige Kommunikationsformen

Kommunikationsprotokolle: HTTP(S), FTP

Payload:

HTML, XML, JSON

Page 10: ipdc10: Spring Backends für iOS Apps

© 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 ...

Page 11: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 11 Frühling für iPhone-Apps

In unserem Beispiel…

+ Hibernate (ORM) + HSQLDB (rel. DB)

Page 12: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 12 Frühling für iPhone-Apps

Warum Spring?

Page 13: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 13 Frühling für iPhone-Apps

Warum Spring?

It‘s the world‘s most popular

Java Development Framework

Page 14: ipdc10: Spring Backends für iOS Apps

© 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!

Page 15: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 15 Frühling für iPhone-Apps

Warum Spring?

...weil ich es kann...

Page 16: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 16 Frühling für iPhone-Apps

Die Beispiel-App: SampleNewsApp

Page 17: ipdc10: Spring Backends für iOS Apps

© 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“

Page 18: ipdc10: Spring Backends für iOS Apps

© 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

Page 19: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 19 Frühling für iPhone-Apps

Demo… (bitte Daumen drücken!)

Page 20: ipdc10: Spring Backends für iOS Apps

© 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“

Page 21: ipdc10: Spring Backends für iOS Apps

© 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

Page 22: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 22 Frühling für iPhone-Apps

Das Frontend… (noch mal Daumen drücken!)

Page 23: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 23 Frühling für iPhone-Apps

Bemerkenswertes – iOS-Entwicklung

Page 24: ipdc10: Spring Backends für iOS Apps

© 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

Page 25: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 25 Frühling für iPhone-Apps

Bemerkenswertes – iOS-Entwicklung

Objective C?

Header Files?

Memory Management?

Page 26: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 26 Frühling für iPhone-Apps

Bemerkenswertes – iOS-Entwicklung

TDD?

Automatisierter Build?

Continuous Integration?

Page 27: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 27 Frühling für iPhone-Apps

Die echten Herausforderungen

Page 28: ipdc10: Spring Backends für iOS Apps

© 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

Page 29: ipdc10: Spring Backends für iOS Apps

© 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“

Page 30: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 30 Frühling für iPhone-Apps

Die echten Herausforderungen

Native Apps sind „anders“:

Online

Offline Sync

Page 31: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 31 Frühling für iPhone-Apps

Online

Offline Sync

Die Konsequenz...

Native Apps benötigen

einen „dedizierten Endpoint“

Page 32: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 32 Frühling für iPhone-Apps

Noch einmal: Warum Spring?

Page 33: ipdc10: Spring Backends für iOS Apps

© 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 ...

Page 34: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 34 Frühling für iPhone-Apps

Fazit

Page 35: ipdc10: Spring Backends für iOS Apps

© 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

Page 36: ipdc10: Spring Backends für iOS Apps

© OPITZ CONSULTING GmbH 2010 Seite 36 Frühling für iPhone-Apps

Fragen und Antworten

Page 37: ipdc10: Spring Backends für iOS Apps

© 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]