Stefan ScheidtSolution ArchitectOPITZ CONSULTING GmbHSpring-basierte Backendsfür iOS-ApplikationenFrühling für iPhone-Apps
Wer bin ich?Software-Entwickler und ArchitektTrainer und CoachSprecher und Autor
Wer sind Sie?
Apps für iOS-Geräte
Apps fürs iOS-Gerätebrowserbasiertvs.nativ
Apps fürs iOS-Geräteplattformspezifischvs.„cross plattform“
Backend für iOS AppsViele Apps benötigen ein Backend:MailKalenderKontakteKarten Twitter-ClientRSS-Reader...
Gängige KommunikationsformenKommunikationsprotokolle:HTTP(S), FTPPayload:HTML, XML, JSON
Backends für iOS-AppsViele Möglichkeitenfür die Backend-Entwicklung:Java (EE)Groovy/GrailsRuby (on Rails)Microsoft .netPython...
In unseremBeispiel…+ Hibernate (ORM)+ HSQLDB (rel. DB)
Warum Spring?
Warum Spring?It‘stheworld‘smostpopularjavadevelopmentframework.
Warum Spring?Es ist wirklich ein sehr gutes Framework!Es bietet viele Integrationsmöglichkeiten!
Warum Spring?...weil ich es kann...
Die Beispiel-App: SampleNewsApp
Entwicklung des BackendsMit Spring Roo...„Spring Roois a lightweightdevelopertoolthatmakesit fast and easy to deliver instant results.“...und der SpringSource Tool Suite„The bestdevelopmenttoolforenterprisejava“
Entwicklung des BackendProjekt anlegenPersistenzframework auswählenFachklasse „NewsItem“ mit Attributen anlegenFinder „ByItemNumberGreaterThan“ anlegenWeb Controller anlegen und anpassen
Demo… (bitteDaumendrücken!)
Entwicklung des FrontendMit XcodeAls „Navigation BasedApplication“Mit „Core Data forStorage“
Entwicklung des FrontendProjekt anlegenDatenmodell inkl. Zugriffe anpassenUI anpassenTouchJSON ergänzenNews Items per HTTP GET laden
Das Frontend… (noch mal Daumendrücken!)
Bemerkenswertes – iOS-Entwicklung
Bemerkenswertes – iOS-EntwicklungEin „geschlossenes“ System...iOS SDKXcodeMac OS zur EntwicklungApp Store
Bemerkenswertes – iOS-EntwicklungObjective C?Header Files?Memory Management?
Bemerkenswertes – iOS-EntwicklungTDD?Automatisierter Build?Continuous Integration?
Die echten Herausforderungen
Die echten HerausforderungenNative Apps sind „anders“:Screen real-estateUI DesignBenutzerverhalten
Die echten HerausforderungenNative Apps sind „anders“:„An appisinstalled on a deviceand ownedbytheuser!Any update/modificationistriggeredbytheuserand requiresaffirmation.“André Neubauer„Mobile ApplicationDevelopment in an Enterprise Context“
Die echten HerausforderungenNative Apps sind „anders“:
Die Konsequenz...Native Apps benötigeneinen „dedizierten Endpoint“
Nocheinmal: Warum Spring?
Spring verbindet…Spring REST SupportSpring TemplateSpring Message DrivenPOJOsSpring IntegrationSpring Batch...
Fazit
Im Netz...Beispielcode:https://github.com/stefanscheidt/SampleNewsAppScreencast der Demo:http://www.youtube.com/watch?v=Qel-T-NegBkhttp://www.youtube.com/watch?v=hxkrlU6sBq4Twitter:@beezlebug
Fragen und Antworten
Ansprechpartner bei OPITZ CONSULTINGStefan ScheidtSolution ArchitectOPITZ CONSULTING GmbHKirchstr. 6, 51647 GummersbachTel. +49 (2261) 6001 - 0stefan.scheidt@opitz-consulting.com

Spring - Frühling fürs iPhone - Spring-basierte Backends für iOS-Applikationen - OPITZ CONSULTING - Stefan Scheidt