Platz 9: Cross-Platform-Development für den mobilen Bereich
Der Boom des iPhones eröffnete den Programmierern viele neue Möglichkeiten – die Entwicklung eines Programms, das Körpergeräusche simuliert, dürfte nur eine Randerscheinung sein. Hier spielt Objective-C, eine Sprache, die zunächst mit Steve Jobs NeXT -Computer im Jahr 1988 eingeführt wurde, eine Rolle.
Wenn Sie ein Java-Programmierer sind, können Sie durch das Lernen von Objective-C die Speicherzuordnungen selbst anpasst. Wenn Sie einen JavaScript-Enthusiast sind, müssen Sie erst das Konzept eines Compilers verstehen. Es gibt keine andere Wahl, wenn Sie Code, der von Millionen von iPhone-Besitzer heruntergeladen werden kann, selbst schreiben wollen.
Die Tage, als das iPhone noch das einzige wirklich attraktive Spielzeug seiner Art war, sind zu Ende. Android und BlackBerry-Geräte nutzen Java, unter Nokias Symbian-Betriebssystem funktionieren vielen Programmiersprachen, darunter mehrere Versionen von C und C + +. Zahlreiche Entwickler beobachten diese Entwicklung und sehen eine gemeinsame Strömung: Alle Handys kommen mit Web-Browsern, die ihrerseits HTML, JavaScript und CSS beherrschen. Palms neuer Pre zielt sogar darauf ab, dass Anwendungen gleich für den Browser geschrieben werden.
Warum also nicht mit etwas Einfachen anfangen, das in den Programmiersprachen geschrieben wird, die jeder Web-Entwickler beherrscht? Einer textbasierten Präsentation kann man zum Beispiel ein spezielles Markup hinzufügen, dass das iPhone die Website so installieren lässt, als ob sie eine normale Anwendung wäre. Dieser Code funktioniert dann auch auf anderen WebKit-fähigen Browsern wie dem in Android; auch ist es ist nicht schwer, entsprechende Anwendungen auch auf dem BlackBerry lauffähig zu machen.
Einige Entwickler-Kits gehen über die Möglichkeiten, die ein Browser bietet hinaus, um besseren Zugang zu den tieferen Teilen der Programmierschnittstelle zu ermöglichen. Mit Appcelerator's Titanium Architektur, Nitobi's PhoneGap und LiquidGear fork von PhoneGap können Anwendungen direkt für die wichtigsten Plattformen entwickelt werden, diese beruhen aber auf einer Embedded-Version des Browsers. Die meisten Funktionen sind in JavaScript realisiert und laufen somit direkt im Browser. Der Programmcode hat Zugriff auf Sensoren und GPS, und das obwohl es JavaScript ist.
Andere portieren gängige Sprachen wie Ruby. Das Rhomobile-Tool bettet zum Beispiel einen kompletten Ruby-Interpreter und Web-Server in die Anwendung ein, sodass man alles in Ruby schreiben kann. Die Leute von Apple verlangten hier, dass die Eval-Funktion entfernt werden musste, um den vollständigen Test der Anwendungen zu ermöglichen. Aber abgesehen davon ist es wie die Erstellung einer Website in Ruby. Der Code läuft auf allen großen Plattformen.
Alle diese Ansätze sind überraschend gut - wenn man nicht auf der Suche nach superschneller Leistung und Perfektion ist. Spielentwickler können den Beschleunigungssensor mit diesen Anwendungen verwenden, aber nur für einfache, zweidimensionale Spiele, die keinen Zugang zu den tiefsten Schichten der Video-Hardware benötigen. Schriften und Layouts sind manchmal ein bisschen anders von Plattform zu Plattform, das kann lästig sein. Aber wenn Ihre Anforderungen sich in Grenzen halten und Sie mit Web-Entwicklungs-Sprachen vertraut sind, sind diese Ansätze sehr viel einfacher als das Erlernen von Objective-C.
Für die Unternehmen ist durch die Cross-Plattform-Anwendungen ein wesentliches Hemmnis für die Entwicklung und Bereitstellung mobiler Anwendungen im eigenen Haus überwunden. Es ist schwierig durchzusetzen, dass alle Mitarbeiter das gleiche Smartphone benutzen - doch selbst wenn man das tut, führt die Programmierung von Anwendungen nur für eine bestimmte Plattform irgendwann zu Unflexibilität. Cross-Plattform-Anwendungen kann man einmal schreiben - ohne sich mit Grundlagen und Macken einer bestimmten Plattform auseinandersetzen zu müssen – und sie dann auf vielen Geräten ausführen. Der weitverbreitete Einsatz von mobilen Unternehmensanwendungen könnte so endlich Realität werden.