Mobile App Entwicklung.Ein Vortrag von Johannes Plag, Maximilian Braun & Michael Pötzmediamanevolution //
AgendaApplicationsPlattformenAppsKonzeptionMobilwebsite vs. AppiPhoneEntwicklerprogrammeEntwicklungsprozessEntwicklung mit DemoAndroidÜbersichtEntwicklungHerausforderungenDistributionBesonderheitenTitaniumFactsEntwicklungsprozessCodeLive-DemoDistributionsprozessParallele Entwicklung2
PlattformenSmartphone Marktanteile 2. Quartal 20103
AppsApp = ApplicationEigenständige Anwendungsprogramme für SmartphonesAngepasst an ZielplattformBeispiel:DienstprogrammeNachrichtenNavigationSpieleetc.4
KonzeptionBedienbarkeitKleine BenutzeroberflächeTouch-ScreenTechnische EinschränkungenSpeicherRechenleistungBandbreitBegrenzter InformationsgehaltDarstellbarer InhaltApp-Größe5
Mobile Webseite vs. AppWarum App anstatt (mobile) Webseite?OfflinePerformanceVerfügbarkeitWebtechnologien teils begrenztMittlerweile mögllich: HTML5, CSS3Look andFeelZugriff auf hardwareGeschäftsmodell6
AgendaApplicationsPlattformenAppsKonzeptionMobilwebsite vs. AppiPhoneEntwicklerprogrammeEntwicklungsprozessEntwicklungAndroidÜbersichtEntwicklungHerausforderungenDistributionBesonderheitenTitaniumFactsEntwicklungsprozessCodeDistributionsprozessParallele Entwicklung7
AppleApps auf verschiedenen GeräteniPhone, iPad, iPod touchÜber 225.000 iPhone Apps (Juni 2010)Über 5 Milliarden Downloads insgesammtApple-Kunden mit hoher Kaufkraft2009: 99,4% aller verkauften mobile Apps liefern über Apple8
Entwicklungsprozess9Quelle: Apple
DevelopmentSDK -  Software Development KitxCode // EntwicklungsumgebungProjektmanagementSource-EditorCompilerDebuggerInterface BuilderInterface per Drag & DropSimulatorFür alle Device-Typen10
TestingSimulatorEndgerätInstrumentsDarstellung der LeistungsfähigkeitSpeicherauslastung und – lecksSharkLeistungsopmierungErkennt Engpässe11
Distribution	App Store DistributionIn-House DistributionNur EnterpriceAd-Hoc Distributionmax. 100 DevicesIn-App PurchaseZusätzlicher ContentLite-Versionen12
Genehmigungsprozess // Distributionca. 1 - 3  WochenAuch bei UpdatesKein wirklicher KriterienkatalogKeine Ergänzung // Ersetzung von Systemapplikationen wie Telefon, SMS & Kamera13
App StorePreis selbst bestimmenkostenlos0,99 US-$ bis 999,99 US-$30% behält Apple einMonatliche AuszahlungKeine gebühren für kostenlose AppsKeine Kreditkartengebührenkeine BereitstellungsgebührenKeine Vermarktungsgebühren14
EntwicklungObjective-C als ProgrammierspracheEinbindung von C++ möglichKeine Garbage-CollectionxCode IDE15
Pros und ConsEntwicklungnur auf Mac‘sSehr gute Dokumentation und EntwicklertoolsMehraufwand durch iDevice-TypenKein FlashApp Storeeinfache VermarktungWerbung durch AppleAbhängigkeit von Apple16
AgendaApplicationsPlattformenAppsKonzeptionMobilwebsite vs. AppiPhoneEntwicklerprogrammeEntwicklungsprozessEntwicklung mit DemoAndroidÜbersichtEntwicklungHerausforderungenDistributionBesonderheitenTitaniumFactsEntwicklungsprozessCodeLive-DemoDistributionsprozessParallele Entwicklung17
Übersicht2003 von Firma Android2005 von Google übernommenAuf Linux-Kernel 2.6 bassierendKostenlos für gerätehersteller18
FragmentierungVerschiedene Versionen des Betriebssystems (Stand August 2010)19
EntwicklungApps werden in Java geschriebenEntwicklung in EclipseSDK mit diversen ToolsEmulator für verschiedene GeräteTool zum Signieren der App20
HerausforderungenAndroid lauft auf verschiedenen Geraten, die unterschiedliche Auflösungen besitzen21
HerausforderungenProbleme, die sich daraus ergeben konnenBildressourcen werden verzerrt dargestelltPositionierung von Elementen22480x854px320x480px
Losung: Ressourcen unter Androidautomatisch generierte IDs aller Ressourcen durch die Klasse R verwaltetBeispiel:R.drawable.backgroundreferenziert eine Grafik im Ordner drawable mit Namen background.png23DateinameTyp
Mehrere Ressourcen vorhaltenseit Android 1.6 konnen Ordnernamen auchQualifier enthalten-> mehrere (z.B.) drawable-OrdnerNamen der Ressourcen in den Ordnern müssen gleich seinVerwendete Ressource automatisch aus passendem Ordner24
Auflosungsunabhangig programmierenKeine absoluten Positionierungen verwendenAbsoluteLayout vermeidendensityindependetpixels (dip)wrap_content und fill_parent verwendenIm Android-Manifest Support für verschiedene Screens einstellenschwarze Balken bei zu großen Displays um die App25
Resultierende Ausgabe26480x854 Pixel240 dpi320x480 Pixel160 dpi480x854 Pixel160 dpi
DistributionZentrale Anlaufstelle: AndroidMarketplaceAktuell ca. 120.000 Apps und rasant wachsendAndere MoglichkeitenWebseite der EntwicklerDirekt von der in auftraggebenden FirmaWeitergabe durch Speichermedien27
MarketplaceEinmalig 25 $ AnmeldegebuhrfurMarketplaceAppskonnen nur in der Wahrung des Entwicklers bezahlt werdenKeine (oder nur geringe) Kontrolle durch GoogleKontrolle durch die UserMoglichkeit, Software uber Fernzugriff zu loschenAusblenden von Apps, die nicht auf dem Gerat laufen wurdennicht alle Apps sind sichtbar28
Vorteile bei AndroidFreie DistributionErweiterbarkeit des BetriebssystemsAppskonnen auch Grundfunktionen des Handys ersetzenSMSTelefonetc.Wachsende Community29
AgendaApplicationsPlattformenAppsKonzeptionMobilwebsite vs. AppiPhoneEntwicklerprogrammeEntwicklungsprozessEntwicklung mit DemoAndroidÜbersichtEntwicklungHerausforderungenDistributionBesonderheitenTitaniumFactsEntwicklungsprozessCodeLive-DemoDistributionsprozessParallele Entwicklung30
FactsOpen-SourceMobileiPhoneiPadAndroidBlackberry (Beta)HTML5, CSS3 & JavaScriptBesonders gut geeignet für speicherfreundliche Anwendungen31
Entwicklungsprozess32
Codebeispiel33
Titanium vs. Nativer CodeTitaniumJavaScriptAndroidXML34
Distributionsprozess35
Parallele Entwicklung 36Entwicklung für iPhone // iPad, Android und Blackberry gleichzeitig
Vielen Dank.Maximilian Braunmediamantechnology GmbHRömerpassage 1 55116 Mainz Telefon +49 6131 – 2120 316Dieser Vortrag wurde mit Michael Pötz und Johannes Plag vorbereitet und vorgetragen.Die Inhalte und die Struktur dieser Präsentation sind urheberrechtlich geschützt. Die Vervielfältigung von Informationen oder Daten, insbesondere die Verwendung von Texten, Textteilen oder Bildmaterial, bedarf der vorherigen schriftlichen Zustimmung der mediamantechnology GmbH oder deren Eigentümer.© mediamantechnology GmbH, Mainz. Alle Rechte vorbehalten.  37

Mobile App Entwicklung