Evolution

Alles und jeder muss mobil sein – vom Arbeitnehmer bis hin zu seinem Kommunikationsmedium. Ein großer Markt für App-Entwickler.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 7 Min.
Von
  • Kai König

Entwicklungen im weiten Feld der Informationstechnik erfolgen in der Regel kontinuierlich. Ab und an jedoch lassen sich mit Evolutionssprüngen vergleichbare Ereignisse beobachten, die zu weitreichenden Änderungen in Nutzerverhalten oder Akzeptanz von Technik führen.

Momentan passiert das im Bereich der Mobilfunktechnik, insbesondere, was die Nutzung mobiler Endgeräte aller Art betrifft. Seit vielen Jahren versprechen Gerätehersteller und Netzbetreiber das mobile Internet mit Geräten, die sich problemlos in das Alltagsleben integrieren lassen und zu jedermanns Begleiter werden. Realität sind SMS, WAP und eher unhandliche Apparaturen mit circa 12 bis 15 Tasten – da macht das Schreiben einer E-Mail oder eines Facebook-Status-Update wenig Spaß. Die Übersicht auf Handy-sammler.de ermöglicht eine interessante Zeitreise.

Nicht unerwartet handelt es sich bei dem Evolutionssprung um Apples iPhone, dessen erste Version 2007 in den USA erschien. Hier sollen nicht Vor- und Nachteile von iOS oder Apples Herangehensweise an das Mobilfunkgeschäft diskutiert werden, es ist jedoch unbestritten, dass Apples Erfolg mit dem iPhone und dessen Nachfolger iPhone 3G den Markt für mobile Endgeräte auf den Kopf gestellt hat.

Teil dieses Erfolgs sind ebenso unbestritten die „Apps“, kurz für den englischen Begriff Applications. Dabei handelt es sich um in der Regel auf einen dedizierten und eher kleinen Anwendungsbereich beschränkte Applikationen für iOS oder andere Betriebssysteme auf mobilen Geräten. Im Folgenden geht es um Aspekte der nativen Anwendungsentwicklung für mobile Geräte.

Die erste Frage, die sich angehende Entwickler für Mobilgeräte stellen sollten, ist die nach den potenziellen Zielplattformen. Eine Übersicht zum Einstieg bietet teltarif.ch. Bei näherer Betrachtung zeigt sich, dass es im Wesentlichen nur eine Handvoll Betriebssysteme für mobile Plattformen gibt, die neben einer angemessenen Werkzeug-Infrastruktur für Entwickler sowohl Möglichkeiten zum Vermarkten und Verkaufen von Applikationen bieten als auch hinreichend verbreitet sind, um Entwicklungsprojekte kommerziell rechtfertigen zu können.

Der offensichtliche erste Kandidat ist das erwähnte iOS. Es existiert in verschiedenen Versionen, vom eher betagten 1.0 bis hin zur aktuellen Version 4.3.5. iOS 5 befindet sich zurzeit im Betastadium, und eine Veröffentlichung wird für Herbst 2011 erwartet. Hier stellt sich die Frage, welche dieser Betriebssystem-Versionen in der Realität von Bedeutung sind. Verschiedene Studien und Auswertungen von Betreibern diverser gut besuchter Webseiten und Marktforschungsinstitute (beispielsweise Chitika Insights und Macnotes.de legen einen Marktanteil von deutlich mehr als 90 Prozent für iOS 4 nahe, die Version 3 liegt in diesen Statistiken bei 5 bis 10 Prozent Marktanteil. Ältere Versionen des Betriebssystems haben keine praxisrelevante Bedeutung mehr – sofern Entwickler nicht aus anderweitigen Gründen iOS 2 unterstützen müssen.

Die Entwicklung nativer Anwendungen für iOS erfolgt in der Regel mit Apples XCode-IDE und dem iOS-SDK. Die Sprachen der Wahl sind Objective-C sowie C für eher systemnahe Aufgaben. Gute Materialien zum Einstieg in Objective-C und die iOS-Entwicklung befinden sich im Angebot Massachusetts Institute of Technology (MIT) und der Stanford University.

Apples Plattform für Entwicklung, Vermarktung und Verkauf von iOS-Apps ist iTunes. Mit der Nutzung seiner bereits etablierten Umgebung zum Vertrieb von Musik und anderen Medien hat Apple als erstes Unternehmen einen einfachen und im Wesentlichen gut funktionierenden Vertriebskanal für mobile Anwendungen zur Verfügung gestellt. Die manchmal intransparente Vorgehenweise beim Begutachten und Freigeben von Anwendungen für den iTunes-Store hat im Lauf der letzten Jahre allerdings berechtigte Kritik hervorgerufen. Das Unternehmen hat daraus gelernt und mittlerweile klarere Richtlinien veröffentlicht, die beschreiben, welche Kriterien bei der Begutachtung der in den iTunes-Store eingestellten Anwendungen angewendet werden. Es sei dahingestellt, inwieweit die Bestrebungen der Europäischen Union, eine Untersuchung wegen Missbrauchs von Apples Marktposition einzuleiten, zu dieser Öffnung beigetragen haben (siehe WinFuture).

Angehende Android-Entwickler beschäftigen sich üblicherweise mit Java – die Sprache der Wahl, um native Anwendungen für Googles Smartphone-Betriebssystem zu erstellen. Trotz der klaren Anlehnung an die Java-Welt basiert die Laufzeitumgebung nicht direkt auf dieser Programmiersprache. Genauer gesagt: Android-Anwendungen laufen nicht auf einer Java Virtual Machine (JVM), sondern auf der sogenannten Dalvik Virtual Machine. Eine gute Einführung in die der Dalvik VM zugrunde liegenden Konzepte bietet der Artikel „How the Dalvik VM Works on Google Android“.

Der erste Anlaufpunkt für Android-Programmierer sollte hingegen Googles Entwickler-Portal sein. Hier sind neben einer Vielzahl von Tutorials und API-Referenzen die Software Development Kits zu finden. Die aktuelle Version des Android SDK ist r12. Einer der gängigsten Wege zum Einstieg besteht darin, wie im Entwickler-Portal dokumentiert, das Android SDK und Komponenten für verschiedene Plattformen in Eclipse zu installieren (in Google-Lingo ist mit dem Begriff „Plattform“ die Android-Version, also zum Beispiel 2.3.4 oder 3.2, gemeint). Ein sehr zu empfehlendes Tutorial stellt Lars Vogel kostenlos zur Verfügung. Bemerkenswert ist, dass der Autor dieses Tutorial seit 2009 regelmäßig aktualisiert, indem er Änderungen der Android SDKs und APIs einarbeitet.

Natürlich gibt es auch Anlaufstellen für Entwickler, die „erste Hilfe“ benötigen. Plattformübergreifend und international ist XDA-Developers. Im deutschsprachigen Umfeld bietet Android-Developers die mit Abstand aktivste Entwickler-Community mit Foren und einem Wiki.

Seit am Jahresanfang Nokia und Microsoft eine Partnerschaft eingegangen sind, steht Windows Phone 7 als Betriebssystem für Smartphones aus dem Hause Nokia in den Startlöchern. Wer sowohl Nokia als auch Microsofts Bemühungen im Mobilfunkmarkt bereits abgeschrieben hatte, mag demnächst eines Besseren belehrt werden; zumindest Windows Phone 7 hat bislang eher positive Resonanz unter Fachkritikern und Nutzern erfahren. Für Entwickler befindet sich der übliche Einstiegspunkt im MSDN.

Ähnlich wie die Entwicklung für Apples iOS-Plattform nur mit Mac OS möglich ist, sind angehende Windows-Phone-Entwickler in der Wahl ihrer Umgebung beschränkt, in diesem Fall auf Windows 7. Microsoft stellt dazu die kostenlose Umgebung Visual Studio 2010 Express für Windows Phone zur Verfügung, das SDK lässt sich jedoch auch problemlos in Visual Studio 2010 einrichten. Neben den offiziellen Informationen von Microsoft ist PocketPC ein empfehlenswerter Foren-Thread, der Tutorials, E-Books und andere Informationen für Einsteiger sammelt.

Es stellt sich die berechtigte Frage nach Plattformen zur Entwicklung von mobilen Anwendungen im Web oder solchen, die Webtechniken zum Paketieren von nativen Anwendungen nutzen. Mit diesem Thema wird sich eine der nächsten Ausgaben der Internet-Infos im Detail beschäftigen. (ka)