Diese Abschlussarbeit behandelt Aspekte der Entwicklung mobiler Applikationen. Es werden grundlegende Fragestellungen zu Charakteristika von mobilen Applikationen beantwortet, wie "Was sind mobile Applikationen - 'Apps' - überhaupt? Wie grenzen sie sich von anderen Applikationstypen ab?", "Was sind die mobilen Plattformen auf denen Apps laufen?", etcetera. Weiterführend werden Fragen der Entwicklung mobiler Applikationen betrachtet, die im Ergebnis einen grundlegenden Überblick über Entwicklungs-Werkzeuge, -Methoden und -Sprachen vermitteln. Ebenso werden Fragen der Vermarktung mobiler Applikationen beantwortet: "Welches sind die Geschäftsmodelle für Apps?", "Welche Vertriebskanäle gibt es?", "Welche Umsätze werden im Markt der mobilen Applikationen erzielt?".
Der Fokus der Betrachtungen liegt auf den drei führenden Systemen Google Android, Apple iOS und Microsoft Windows Phone.
Ein wesentliches Ergebnis dieser wissenschaftlichen Arbeit ist ein detaillierter Vergleich der drei Plattformen unter schwerpunktmäßigen Gesichtspunkten der Entwicklung.
Inhaltsverzeichnis
1. Einleitung
1.1. Motivation und Zielsetzung
1.2. Vorgehen und Abgrenzung
2. Grundlagen
2.1. Definition des Begriffs „App“
2.2. Mobile Endgeräte
2.3. Mobile Betriebssysteme
2.3.1. Google Android
2.3.2. Apple iOS
2.3.3. Microsoft Windows Phone
2.3.4. Nokia Symbian
2.3.5. Research In Motion Blackberry OS
2.4. Mobile Applikationen
2.4.1. Geschichte und Akzeptanz der mobilen Applikationen
2.4.2. Abgrenzung zu Desktop-Anwendungen
2.4.3. Abgrenzung zu mobilen Web-Applikationen
2.4.4. Kategorien und Beispiele innovativer Apps
3. Entwicklung
3.1. Android
3.1.1. System-Architektur
3.1.2. Laufzeitverhalten
3.1.2.1. Lebenszyklus einer Android Anwendung
3.1.2.2. Dalvik Virtual Machine und Multitasking
3.1.2.3. Sandbox und Datenaustausch
3.1.3. Entwicklungsumgebung und -Werkzeuge
3.1.3.1. Werkzeuge für das GUI-Design
3.1.3.2. Debugger und Emulator
3.1.4. Aufbau eines Android-Projekts
3.1.5. Basiskonzepte der Android-Entwicklung
3.1.5.1. Activities
3.1.5.1.1. Zustandssicherung
3.1.5.1.2. Menüs
3.1.5.1.2.1. Optionen-Menü
3.1.5.1.2.2. Kontext-Menü
3.1.5.1.3. Spezielle Activities
3.1.5.1.3.1. ListActivity
3.1.5.1.3.2. PreferenceActivity
3.1.5.1.4. Exkurs: Benachrichtigungen
3.1.5.1.4.1. Toasts
3.1.5.1.4.2. AlertDialogs
3.1.5.2. Intents
3.1.5.2.1. Explizite Intents
3.1.5.2.2. Implizite Intents und Intent-Filter
3.1.5.2.3. Broadcast Receiver
3.1.5.2.4. Broadcast Intents
3.1.5.2.5. Statischer Broadcast Receiver
3.1.5.2.6. Dynamischer Broadcast Receiver
3.1.5.3. Service
3.1.5.3.1. Lebenszyklus
3.1.5.3.2. Services, Prozesse und Threads
3.1.5.3.3. Interaktion mit Services
3.1.5.3.3.1. Local Service
3.1.5.3.3.2. Remote Service
3.1.5.4. Content Provider
3.1.5.4.1. Content Resolver
3.1.5.4.2. Adapter und AdapterViews
3.1.5.4.3. Content Provider und Datenhaltung
3.1.5.4.3.1. SQLite Datenbank
3.1.5.4.3.2. Implementierung des Content Providers
3.1.5.5. Android Manifest
3.1.6. Weitere Konzepte der Android Entwicklung
3.1.6.1. Location Based Services
3.1.6.2. Zugriff auf Hardware-Komponenten
3.1.6.3. Grafik
3.1.7. Socket-Programmierung in Android
3.1.8. Programmstruktur der Android Beispiel-Anwendung
3.2. iOS
3.2.1. System-Architektur
3.2.2. Laufzeitverhalten
3.2.2.1. Lebenszyklus einer iOS Anwendung
3.2.2.2. Sandbox und Datenaustausch
3.2.2.3. Multitasking und Interapplikations-Kommunikation
3.2.2.4. Memory Management
3.2.3. Entwicklungsumgebung und -Werkzeuge
3.2.3.1. Werkzeuge für das GUI-Design
3.2.3.2. Debugger und Simulator
3.2.4. Aufbau eines iOS-Projekts
3.2.5. Basiskonzepte der iOS-Entwicklung
3.2.5.1. Delegation
3.2.5.2. Target Action
3.2.5.3. Model View Controller
3.2.6. Socket-Programmierung in iOS
3.2.7. Programmstruktur der iOS Beispiel-Anwendung
3.3. Windows Phone
3.3.1. Windows Phone und Windows Mobile
3.3.2. System-Architektur
3.3.3. Laufzeitverhalten
3.3.3.1. Lebenszyklus einer Windows Phone Anwendung
3.3.3.2. Sandbox und Datenaustausch
3.3.3.3. Multitasking
3.3.4. Entwicklungsumgebung und -Werkzeuge
3.3.4.1. Werkzeuge für das GUI-Design
3.3.4.2. Debugger und Emulator
3.3.5. Aufbau eines Windows Phone Projekts
3.3.6. Basiskonzepte der Windows Phone Entwicklung
3.3.6.1. Datenbindung
3.3.6.1.1. Datenbindung zwischen GUI-Elementen
3.3.6.1.2. Datenbindung zwischen GUI-Element und Datenmodell
3.3.6.2. Model-View-ViewModel-Entwurfsmuster
3.3.7. Socket-Programmierung in Windows Phone
3.3.8. Programmstruktur der Windows Phone Beispiel-Anwendung
4. Vertrieb und Vermarktung
4.1. Der Markt der mobilen Applikationen
4.2. Monetarisierung
4.2.1. Geschäftsmodelle für mobile Applikationen
4.2.1.1. Pay-per-download
4.2.1.2. In-App Werbung
4.2.1.3. Premium Versionen und In-App Käufe
4.2.1.4. Abonnements
4.2.2. Umsatzerwartung
4.2.3. Lukrative App-Entwicklungsfelder
4.3. Vertriebsmöglichkeiten
4.3.1. Google Android Market
4.3.1.1. Spezifikationen
4.3.1.2. Veröffentlichung
4.3.2. Apple App Store
4.3.2.1. Spezifikationen
4.3.2.2. Veröffentlichung
4.3.3. Microsoft Windows Phone Marketplace
4.3.3.1. Spezifikationen
4.3.3.2. Veröffentlichung
5. Abschlussbetrachtung
5.1. Zusammenfassung und Vergleich
5.1.1. Allgemeine Kriterien und Merkmale
5.1.2. Entwicklungs-Umgebung und -Werkzeuge
5.1.3. Entwicklungskonzepte
5.1.4. Wirtschaftliche Kriterien und Merkmale
5.2. Fazit und Ausblick
Zielsetzung & Themen
Das Hauptziel dieser Diplomarbeit ist die Untersuchung und der Vergleich der drei führenden mobilen Betriebssysteme Android, iOS und Windows Phone unter besonderer Berücksichtigung ihrer Entwicklungsumgebungen und Konzepte. Die Forschungsfrage fokussiert dabei auf die technischen und wirtschaftlichen Aspekte der App-Erstellung sowie die Anforderungen, die Entwickler bei der Realisierung innovativer mobiler Anwendungen auf diesen Plattformen erfüllen müssen.
- Vergleichende Analyse der Architektur, des Laufzeitverhaltens und der Entwicklungswerkzeuge von Android, iOS und Windows Phone.
- Erläuterung fundamentaler Entwicklungskonzepte für mobile Applikationen, wie Activity-Lifecycle, Intent-Handling und Datenpersistenz.
- Demonstration plattformspezifischer Entwicklungsansätze anhand praktischer Demonstrations-Anwendungen mit TCP-Client-Server-Struktur.
- Untersuchung des App-Marktes, gängiger Monetarisierungsmodelle und Vertriebsstrategien für Entwickler.
- Zusammenfassender Vergleich technischer und wirtschaftlicher Rahmenbedingungen als Entscheidungshilfe für Entwickler.
Auszug aus dem Buch
3.1.5.4.3.1. SQLite Datenbank
Android stellt mit der Integration der SQLite-Programmbibliothek eine leichtgewichtige Datenbank-Lösung bereit, welche keine Client-/Server-Architektur benötigt. Stattdessen wird die komplette Datenbank in einer einzigen *.db-Datei im Verzeichnis /data/data/
Für die Arbeit mit einer SQLite-Datenbank empfiehlt es sich die Android-Klasse SQLiteOpenHelper zu erweitern. Diese stellt Methoden für die Erzeugung und Modifikation der Datenbank und der Datenbank-Tabellen bereit. Die Definition der Datenbank-Tabellen kann in bekannter SQL-Syntax erfolgen. Der folgende Code-Ausschnitt aus der Beispiel-Applikation demonstriert die Erstellung einer Datenbank users.db mit der Tabelle user:
public class DBManagerClass extends SQLiteOpenHelper {
private static final String DB_NAME = "users.db";
private static final int DB_VERSION = 1;
private static final String DB_USER_TABLE_NAME = "user";
private static final String DB_USER_TABLE_CREATE =
"CREATE TABLE "+DB_USER_TABLE_NAME+" ("+
"_id INTEGER PRIMARY KEY AUTOINCREMENT, "+
"user VARCHAR(30), "+
"modified VARCHAR(30))";
public DBManagerClass(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
public void onCreate(SQLiteDatabase arg0) {
arg0.execSQL(DB_USER_TABLE_CREATE);
}
}
Zusammenfassung der Kapitel
1. Einleitung: Motivation, Zielsetzung und methodisches Vorgehen der Arbeit werden dargelegt, wobei ein besonderer Schwerpunkt auf dem Vergleich der App-Entwicklung zwischen Android, iOS und Windows Phone liegt.
2. Grundlagen: Es werden der Begriff "App" definiert, die mobile Hardwareumgebung beschrieben und ein historischer sowie aktueller Überblick über die wichtigsten mobilen Betriebssysteme gegeben.
3. Entwicklung: Dieses Kernkapitel untersucht detailliert die Systemarchitekturen, Laufzeitmodelle, Entwicklungswerkzeuge und Basiskonzepte für die Plattformen Android, iOS und Windows Phone anhand von Demonstrations-Apps.
4. Vertrieb und Vermarktung: Die Dynamik des App-Marktes wird analysiert, aktuelle Kennzahlen werden aufgezeigt und verschiedene Monetarisierungsmodelle sowie Vertriebsmöglichkeiten der großen App-Stores besprochen.
5. Abschlussbetrachtung: Die gewonnenen Erkenntnisse werden strukturiert zusammengefasst, in vergleichenden Tabellen gegenübergestellt und kritisch bewertet, bevor ein Fazit zur Zukunft der mobilen App-Entwicklung gezogen wird.
Schlüsselwörter
Android, iOS, Windows Phone, App-Entwicklung, mobile Applikationen, Software-Architektur, IDE, Eclipse, Xcode, Visual Studio, Monetarisierung, App-Store, In-App-Werbung, Fremium-Prinzip, Datenbindung
Häufig gestellte Fragen
Worum geht es in dieser Diplomarbeit grundsätzlich?
Die Diplomarbeit befasst sich mit den Grundlagen der Entwicklung von mobilen Applikationen sowie deren Vermarktung auf den drei gängigen Plattformen Android, iOS und Windows Phone.
Was sind die zentralen Themenfelder der Arbeit?
Die Arbeit deckt die technische Seite der App-Erstellung, wie Betriebssystemarchitekturen und Entwicklungskonzepte, sowie die ökonomische Seite des App-Marktes und dessen Monetarisierung ab.
Was ist das primäre Ziel oder die Forschungsfrage der Arbeit?
Das Ziel ist es, technische Unterschiede und Gemeinsamkeiten der drei Plattformen aufzuzeigen und einen praxisnahen Leitfaden für Entwickler zu bieten, inklusive monetärer Aspekte.
Welche wissenschaftlichen Methoden werden verwendet?
Die Arbeit nutzt eine literaturbasierte Analyse aktueller Marktstudien kombiniert mit einem praxisorientierten Vergleich der Entwicklungskonzepte anhand von selbst erstellten Demonstrations-Applikationen.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in drei Abschnitte für Android, iOS und Windows Phone, in denen Architektur, Laufzeitverhalten, Entwicklungstools und spezifische Programmierkonzepte für jede Plattform erläutert werden.
Welche Schlüsselwörter charakterisieren diese Diplomarbeit?
Android, iOS, Windows Phone, App-Entwicklung, Software-Architektur, App-Store, Monetarisierung, Entwicklungsumgebung, mobile Endgeräte.
Wie unterscheidet sich die Entwicklung von Android-Apps von der für iOS?
Während Android auf Java basiert und eine offenere, komponentenbasierten Architektur bietet, setzt iOS auf die Sprache Objective-C, ein restriktiveres Sandbox-Modell und das MVC-Entwurfsmuster.
Welche Rolle spielt die Datenbindung in der Windows Phone Entwicklung?
Die Datenbindung ist ein zentraler Automatismus bei Windows Phone, der die UI-Elemente direkt an Datenmodelle koppelt, um eine strikte Trennung von Logik und Design gemäß des MVVM-Musters zu erleichtern.
- Citation du texte
- Harald Koppay (Auteur), 2011, Entwicklung und Vermarktung von Handy-Apps: Einstieg in die Welt der mobilen Applikationen, Munich, GRIN Verlag, https://www.grin.com/document/197300