Mobile Application Plattforms Trends in der Kommunikationstechnik DI Franz Geischläger
Agenda Mobile Applications Allgemeine Betrachtung Mobile Betriebssysteme und Plattformen Die wichtigsten Vertreter Googles Android Ein einfacher Einstieg
IDC sagt voraus, dass 2011 fast 25 Milliarden Apps für mobile Geräte heruntergeladen werden. Im Jahr 2010 waren es nur gut 10 Milliarden. dass in den nächsten 18 Monaten mehr mobile Geräte (wie Smartphones und Tablets-PCs) ausgeliefert werden als PCs.
Prognose Smartphone Absatz 2011
Zahlen, Fakten und Prognosen 6.000.000.000 Handys weltweit davon 14% Smartphones Prognose von Qualcomm für 2014: 38% 26% der Weltbevölkerung nutzen das Internet. 69% haben ein Handy. In 10 Jahren soll das Handygeschäft sechs Billionen Dollar umfassen und damit Branchen wie Handel, Nahrung und Waffen übertreffen. (Tomi Ahonen)
Patentschlacht
Mobile Betriebssysteme Apples ios Googles Android Microsofts Windows Phone 7 RIMs Blackberry OS MeeGo Symbian OS HPs webos Samsungs bada LiMo
Marktanteile weltweit Q2 2010 Symbian RIM 13% 5% 3% 43% Android ios Microsoft andere 17% 18%
Apples ios leicht modifizierter Mach-Kernel (Mac OS X) Entwicklung: ios SDK mit Objective-C oder Web und Ajax-Techniken Vertriebskanal: App Store Verwendung: iphone, ipod, ipad und Apple TV
Googles Android Linux Plattform Laufzeitumgebung an Java angelehnt Dalvik VM (Virtual Machine) Plattform als Open Source Verschiedene Hersteller (Dell, HTC, LG ) Vertriebskanal: Android Market Verwendung: Smartphones, Tablets, Googles TV-Plattform, Automobilbereich
Windows Phone 7 kompletter Neuanfang Entwicklung mit Silverlight oder XNA kostenlose Tools einheitliche Displaygrößen keine nativen Anwendungen von Drittanbietern Vertriebskanal: Windows Phone Marketplace
RIM BlackBerry OS Anwendungsentwicklung mit Java (nicht ganz Standard JavaME) Widgets-Entwicklung auch mit HTML, CSS, JavaScript und Ajax Vertriebskanal: App World Eigener Tablet PlayBook mit HTML5 und Flash 10.1
MeeGo Kooperation von Intel und Nokia Linux Betriebssystem (Linux Foundation) Entwicklung in C++ mit MeeGo SDK (basiert auf Nokias Qt 4.7) Vertriebskanäle: Nokias Ovi Store oder Intels AppUp Center Verwendung: Smartphones, Tablet-PCs, Netbooks, netzfähige TV-Geräte
Symbian OS Marktanteil weltweit 2.Quartal 2010: 43% Nokia mittlerweile einziger Hersteller Bereitstellung als Open Source Migration zu Qt als Anwendungsplattform Spekulation, dass MeeGo langfristig Symbian ablöst
HPs webos Im April 2010 wurde Palm von HP übernommen Anwendungsentwicklung mit webos SDK (auf Basis Mojo Application Framework) unterstützt HTML5, CSS und JavaScript Plug-in Development Kit Ares ermöglicht Entwicklung im Browser Verwendung: Phones, Tablets, Drucker
Samsungs bada Anwendungsplattform läuft wahlweise auf Echtzeit-OS oder Linux-Kernel Entwicklung in C++ SDK mit GNU-Tools Vertriebskanal: Samsung Apps Synchronisation mit PC über KIES nur auf Samsung Geräten verfügbar
LiMo (Linux Mobile) LiMo Foundation von Motorola, NEC, NTT DoCoMo, Panasonic, Samsung und Vodafone gegründet modulares hardwareunabhängiges Handybetriebssystem Quellcode teilweise offen Web-SDK geringe Verbreitung
Cross-Plattform-Umgebungen Java ME und JavaFX Mobile Flash Lite und Silverlight Laufzeitumgebung erforderlich Web/Widgets HTML5 BREW Binary Runtime Environment for Wireless eine Anwendungsplattform von Qualcomm Entwicklung mit BREW-SDK in C oder C++
Gründe für die Verwendung von Android Plattform ist Open-Source-Software verschiedene Hersteller von Geräten unterschiedliche Geräteklassen relativ rasche Einarbeitung kostenlose Tools Anzahl der Apps über 100000 starke Verbreitung echtes Multitasking
Entwicklung der Marktanteile
Android Architektur
Dalvik VM (Virtual Machine) basiert auf der quelloffenen Java VM Apache Harmony klassische JVM basiert auf einer Stapeldie DVM auf einer Registermaschine mehrere Instanzen können auch auf kleinen Systemen parallel laufen Lizenztrick: Die JVM und der original Java- Bytecode sind lizenzrechtlich geschützt, die Programmiersprache Java nicht.
Vom Java-Code zur Dalvik VM
Android Komponenten Activity: Activities dienen zur Darstellung und Verwaltung von Oberflächen. Service: Ein Service erledigt Hintergrundprozesse. ContentProvider: Ein Content Provider verwaltet Daten und abstrahiert die darunterliegende Persistenzschicht. BroadcastReceiver: Broadcast Receiver empfängt Systemnachrichten und ermöglicht darauf zu reagieren.
Activity
Sandbox Android führt alle Anwendungen in einer Sandbox aus. Eine Sandbox ist eine eingeschränkte Laufzeitumgebung. Eine Anwendung besitzt einen eigenen Prozess, Betriebssystem-User, DVM, Bereich im Hauptspeicher, Bereich im Dateisystem
Signieren einer Anwendung Der Anwendung wird mit Hilfe eines Zertifikats eine digitale Unterschrift hinzugefügt. Das Android SDK erlaubt das Signieren mit unbeglaubigten Zertifikaten. Durch das Zertifikat wird daher nur sichergestellt, dass verschiedenen Anwendungen vom selben Hersteller stammen. Standardzertifikat reicht für Entwicklung
Berechtigungen Durch die Berechtigung wird der Anwendung der Zugriff auf Systemfunktionen und Resourcen außerhalb der Sandbox ermöglicht. Die Berechtigungen werden im Android- Manifest eingetragen. (AndroidManifest.xml) shareduserid um mehrere Anwendungen in derselben Sandbox auszuführen
Elemente zur Oberflächengestaltung View: Eingabefelder, Buttons und Listen werden als Views bezeichnet. Layout: Views werden mittels Layout am Bildschirm angeordnet. (z.b. LinearLayout, TableLayout) Activity: Die Activity dient zur Darstellung und Verwaltung von Oberflächen.
Quellenverzeichnis Becker, Arno; Pant, Markus: Android - Grundlagen und Programmierung; d.punkt Verlag; Heidelberg; 2009 als pdf gratis downloadbar www.dpunkt.de/buecher/3436/android.html Becker, Arno; Pant, Markus: Android 2 - Grundlagen und Programmierung; d.punkt Verlag; Heidelberg; 2010 Burnette, Ed: Hello, Android; Pragmatic Programmers; 2010 ix Developer 1/2011 Programmieren heute; heise Verlag; Hannover; 2011 www.android.com developer.android.com www.apple.com www.microsoft.com www.blackberry.com meego.com symbian.org www.hp.com www.bada.com www.limofoundation.org www.idc.com www.futurezone.at www.techdirt.com www.tomiahonen.com www.bitkom.org