Dieser Vortrag ist unter der Lizenz der Creative Commons Namensnennung-Nicht-kommerziell-
             Weitergabe unter gl...
Die Android-Plattform
      Java für unterwegs?
Moritz Haarmann                  Benjamin Reimold


Medieninformatik, HdM Stuttgart   Angewandte Informatik, DH BW



    ...
Hallo Android!
Wer seid Ihr?
   Hände hoch!
Agenda

Was ist    Apps für
                      B2B Apps   Technologie
Android   Endkunden
Was fehlt

• eine Einführung in die Programmierung für Android
• Werbung für Google/Android
• Keine Codebeispiele
• Geräte...
Verkaufsanteil Mobiler
   Betriebssysteme
Android     iPhone         Symbian        Other       RIM        Linux
WiMo

   ...
18 erhältlich, 67
                                                                             welt weit



              ...
Versionsverteilung
Android 1.5          Android 1.6              Android 2.1




                                 25 %



...
Apps für Endkunden
Apps für Endkunden

• Größter Anteil an Apps für Android
• Keine Zertifizierung wie bei Apples
  Appstore
• 25$ Registrieru...
Monetarisierung Aktiv

• Aktiv: 30/70, davon 30% des Umsatzes an
  Google
• Zahlung nur über Google Checkout
• Apps können...
Monetarisierung Passiv

• Google Mobile Ads, vorgestellt 2010
• In-App Werbung
• Dauerhafte Einnahmen auch nach Kauf
• Att...
50% der iphone käufer
                                         21% der android user



              Probleme
            ...
Android im
Unternehmen?
Erwartungen
• Einfache Entwicklung von Applikationen
  (Zeit & Kosten)
• Produktivitätssteigerung
• Erreichbarkeit
• Kontr...
Neue Möglichkeiten?

• Geolokalisation
• Internetzugang
• Kamera
• Schnelle Prozessoren
• Lagesensoren
•?
Entwicklung

• Kostenloses SDK, Plugin für Eclipse
• Einfacher Einstieg bei der Entwicklung,
  bekannte IDE (Eclipse),Verw...
Android für Unternehmen?

• Programmier-/Laufzeitumgebung frei wählbar, z.B.
  auch Flash
• Philosophie der Offenheit (kei...
Android für Unternehmen?

 • Anbindung an Exchange
  • Sync von Adressen & E-Mails
  • Kein Sync von Kalender
 • Unabhängi...
Froyo für Unternehmen?
• Starker Schritt in Richtung
                                        remote wipe -> aus der
      ...
Froyo für Unternehmen?
                                          push to phone,
                                          ...
Nachteile

• Starke, unbekämpfte Plattformfragmentierung
• Falls Nutzung mit Google-Account: Sicherheit,
  Datenschutz
• G...
Zukunft
• Entwicklung des Marktes (iPhone,
  Blackberry, WinPhone7, Symbian, MeeGo,
  WebOS, Bada?)
• Android Integration ...
Fazit
• Einfache Entwicklung von Applikationen
  (Zeit & Kosten)
• Mit Froyo (2.2) gesteigerte
  Businesstauglichkeit
• An...
Die Dalvik VM
Hintergrund
• Dalvík: Hafenstadt in Island
• Entwickelt unter der Führung von Dan
  Bornstein, seit 2005 bei Google
• VM m...
Laufzeitverhalten

• Jede Applikation läuft in eigenem Prozess
  mit eigenem Speicher
• Sandboxing wichtig wegen
 • Stabil...
Unterschiede zur JVM


• Dalvik benutzt DEX-Binaries, die aus .Class
  Dateien kompiliert werden
• .Class und .dex sind ni...
DEX-Format
• „Captain Obvious“ meldet: DEX = Dalvik
  Executable
• Größte Optimierung statischer Art: globaler
  Constant ...
Garbage Collector
• Prinzipiell: Mark and Sweep
• Problematisch: Kommt der GC, ist für
  (geräteabhängig, da die Prozessor...
Java für Android?
Java für Android?
• Grundsätzlich vollkommen anderes
  Gesamtkonzept verglichen mit der Java ME
• „abgespeckte“ Java SE, b...
Bestandteile
         AWT,
                                   Android
         Swing,     Java API
                       ...
Java für Android?
• Exzessiver Gebrauch von final, static
• Vermeidung von Iteratoren, Collections,
  Enums, übermäßiger O...
UI-Entwicklung

• Kein Swing, kein AWT
• Prinzipiell: Deklarativ mittels XML (wie in
  Silverlight oder JavaFX), oder
  pr...
Fazit
• Bekannte Technologie, neue Anwendung
• Java als Köder?
• Revolutionär: Hochoptimierte VM inklusive
  eigenem Bytec...
Fragen?
Danke!
Moritz Haarmann                Benjamin Reimold


 m.haarmann@gmail.com          benjamin.reimold@aformatik.de

   @derwil...
Die Android Plattform
Nächste SlideShare
Wird geladen in …5
×

Die Android Plattform

3.307 Aufrufe

Veröffentlicht am

Präsentation von Benjamin Reimold und Moritz Haarmann beim Java Forum Stuttgart 2010.

Veröffentlicht in: Technologie, Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
3.307
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
349
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Die Android Plattform

  1. 1. Dieser Vortrag ist unter der Lizenz der Creative Commons Namensnennung-Nicht-kommerziell- Weitergabe unter gleichen Bedingungen 3.0, Deutschland veröffentlicht http://creativecommons.org/licenses/by-nc-sa/3.0/de/
  2. 2. Die Android-Plattform Java für unterwegs?
  3. 3. Moritz Haarmann Benjamin Reimold Medieninformatik, HdM Stuttgart Angewandte Informatik, DH BW Nolte&Lauth GmbH aformatik @derwildemomo @elektrojunge
  4. 4. Hallo Android!
  5. 5. Wer seid Ihr? Hände hoch!
  6. 6. Agenda Was ist Apps für B2B Apps Technologie Android Endkunden
  7. 7. Was fehlt • eine Einführung in die Programmierung für Android • Werbung für Google/Android • Keine Codebeispiele • Geräte verschenken • auch nicht am Ende
  8. 8. Verkaufsanteil Mobiler Betriebssysteme Android iPhone Symbian Other RIM Linux WiMo 4 % 7 % 10 % 19 % 15 % 1 % 44 % Quelle: Gartner, Weltweiter Verkauf mobiler Betriebssysteme, Q1/10
  9. 9. 18 erhältlich, 67 welt weit Versionsgeschichte iPhone 3G iPhone 3GS iPad OHA Cupcake 1.5 Eclair 2.0 Froyo 2.2 announces Android 1.0 Android Android 1.1 Donut 1.6 Eclair 2.1 2008 2009 2010
  10. 10. Versionsverteilung Android 1.5 Android 1.6 Android 2.1 25 % 50 % 25 % Quelle: Google, Zugriffe auf Android Market, Juni 2010
  11. 11. Apps für Endkunden
  12. 12. Apps für Endkunden • Größter Anteil an Apps für Android • Keine Zertifizierung wie bei Apples Appstore • 25$ Registrierungsgebühr für Market • Regional begrenzte Verteilung möglich
  13. 13. Monetarisierung Aktiv • Aktiv: 30/70, davon 30% des Umsatzes an Google • Zahlung nur über Google Checkout • Apps können binnen 24h zurückgegeben werden, volle Rückerstattung inklusive
  14. 14. Monetarisierung Passiv • Google Mobile Ads, vorgestellt 2010 • In-App Werbung • Dauerhafte Einnahmen auch nach Kauf • Attraktiver für Endkunden? • Nicht in jedem App-Konzept realisierbar
  15. 15. 50% der iphone käufer 21% der android user Probleme quelle: admob • Im Moment sind die Kunden weniger kauffreudig als bei Apple • Illegale Verbreitung von Apps? • Paid Market nicht überall verfügbar! • Kauf nur über Google Checkout • Hardwarefragmentierung
  16. 16. Android im Unternehmen?
  17. 17. Erwartungen • Einfache Entwicklung von Applikationen (Zeit & Kosten) • Produktivitätssteigerung • Erreichbarkeit • Kontrolle • Sicherheit
  18. 18. Neue Möglichkeiten? • Geolokalisation • Internetzugang • Kamera • Schnelle Prozessoren • Lagesensoren •?
  19. 19. Entwicklung • Kostenloses SDK, Plugin für Eclipse • Einfacher Einstieg bei der Entwicklung, bekannte IDE (Eclipse),Verwendung von Java(-Syntax) & XML • Plattformunabhängig (Linux, Mac, Windows)
  20. 20. Android für Unternehmen? • Programmier-/Laufzeitumgebung frei wählbar, z.B. auch Flash • Philosophie der Offenheit (keine privaten APIs) • Kein Desktop-Client à la iTunes notwendig • Zugriff auf Gerätespeicher mittels Dateimanager • Android ist im Kern Open Source (Security,…)
  21. 21. Android für Unternehmen? • Anbindung an Exchange • Sync von Adressen & E-Mails • Kein Sync von Kalender • Unabhängige Verteilung von Apps ohne Google & Android Market • Vollständig anpassbare GUI
  22. 22. Froyo für Unternehmen? • Starker Schritt in Richtung remote wipe -> aus der ferne löschen Unternehmseinsatz • Verbesserte MS Exchange Integration • Password Policies, • Address Lookup • Kalendersynchronisation • Device Policy Management API
  23. 23. Froyo für Unternehmen? push to phone, vertriebsbeispiel • Remote Wipe • Auto-Update von Applikationen • Push-to-Phone Feature (Cloud 2 Device Messaging)
  24. 24. Nachteile • Starke, unbekämpfte Plattformfragmentierung • Falls Nutzung mit Google-Account: Sicherheit, Datenschutz • Google bietet keinen direkten Support • Anpassungen verhindern native OS-Updates • Keine native Vollverschlüsselung
  25. 25. Zukunft • Entwicklung des Marktes (iPhone, Blackberry, WinPhone7, Symbian, MeeGo, WebOS, Bada?) • Android Integration mit Enterprise Backends (SAP, Lotus, ...) • Web-Applikationen sollen sich immer mehr wie native Apps anfühlen, HTML5 (Zugriff auf Kamera, Lagesensor, etc.) • Android 3.0 (Gingerbread)? Langsamere Release-Zyklen?
  26. 26. Fazit • Einfache Entwicklung von Applikationen (Zeit & Kosten) • Mit Froyo (2.2) gesteigerte Businesstauglichkeit • Android wird zunehmend interessant für die Anwendung im Enterprise-/Business- Umfeld • Anpassungen notwendig, nicht zu unterschätzen
  27. 27. Die Dalvik VM
  28. 28. Hintergrund • Dalvík: Hafenstadt in Island • Entwickelt unter der Führung von Dan Bornstein, seit 2005 bei Google • VM mit Fokus auf resourcenbeschränkte Umgebungen • Keine Java VM!
  29. 29. Laufzeitverhalten • Jede Applikation läuft in eigenem Prozess mit eigenem Speicher • Sandboxing wichtig wegen • Stabilität • Sicherheit!
  30. 30. Unterschiede zur JVM • Dalvik benutzt DEX-Binaries, die aus .Class Dateien kompiliert werden • .Class und .dex sind nicht binär kompatibel • Lizenzfrage?
  31. 31. DEX-Format • „Captain Obvious“ meldet: DEX = Dalvik Executable • Größte Optimierung statischer Art: globaler Constant Pool für alle Klassen eines Pakets. • Andere Opcodes (2 byte statt 1 byte) • Dx-tool konvertiert JAR nach DEX • Bei der Installation wird noch optimiert, z.B. bei Byte Order, Inline Functions, Static linking...
  32. 32. Garbage Collector • Prinzipiell: Mark and Sweep • Problematisch: Kommt der GC, ist für (geräteabhängig, da die Prozessorleistung variiert) ca. 200ms Pause • GC fernhalten: Eigener Programmierstil • Vgl. iPhone: Kein GC!
  33. 33. Java für Android?
  34. 34. Java für Android? • Grundsätzlich vollkommen anderes Gesamtkonzept verglichen mit der Java ME • „abgespeckte“ Java SE, basierend auf Apache Harmony (Open Sorce Java Runtime) • Keine Java ME-Klassen • Generics und Annotations • Reflection
  35. 35. Bestandteile AWT, Android Swing, Java API Packages JDBC • Konsistente API auf allen Geräten mit gleicher Version • Rasche Weiterentwicklung (von Google bestimmt)
  36. 36. Java für Android? • Exzessiver Gebrauch von final, static • Vermeidung von Iteratoren, Collections, Enums, übermäßiger Objektallokation (Reuse, StringBuilder) • Unterschied: Sehr bewusster Umgang mit Speicher notwendig, saubere Entwicklung.
  37. 37. UI-Entwicklung • Kein Swing, kein AWT • Prinzipiell: Deklarativ mittels XML (wie in Silverlight oder JavaFX), oder programmatisch unter Benutzung von android.* • Wenig Gemeinsamkeiten mit der traditionellen UI-Entwicklung in Java, abgesehen vom Event-Handling
  38. 38. Fazit • Bekannte Technologie, neue Anwendung • Java als Köder? • Revolutionär: Hochoptimierte VM inklusive eigenem Bytecode • Nicht vergleichbar mit Java ME • Resourcen: http://tinyurl.com/jfs2010
  39. 39. Fragen?
  40. 40. Danke!
  41. 41. Moritz Haarmann Benjamin Reimold m.haarmann@gmail.com benjamin.reimold@aformatik.de @derwildemomo @elektrojunge http://gtugna.gtugs.org

×