Mobile Apps für Android, iPhone und Co

Mittlerweile sind Apps für viele Projekte im Bereich der Softwareprogrammierung sehr wichtig geworden und können maßgeblich dazu beitragen, dass ein Projekt erfolgreich wird und zB von der breiten Masse angenommen wird. Durch die App Markets verbreiten sich diese ausserdem recht schnell und unkompliziert für den Hersteller.

In die Programmierung solcher Apps kann man sehr viel Zeit stecken, allein schon weil man für jedes Betriebssystem eine andere Prorgammiersprache beherrschen muss. Für Android braucht man Java Kenntnisse und für iPhone kann man gar nur Objective C auf einem Mac programmieren. Für Symbian braucht man eigene Frameworks und der Rest ist sowies vernachlässigbar. Wichtig ist hier also, dass man wenn möglich eine Technologie verwendet, die alle Plattformen gleichzeitig abdeckt.

Einmal programmieren und auf alle Plattformen ausrollen. Klingt zu gut um war zu sein. Tatsälich gibt es aber einige solcher Möglichkeiten, sie haben aber alle einen gemeinsamen großen Nachteil: Da die Apps auf ein Framework aufsetzen das plattformübergreifend ist ist logischerweise die Performance mit native Apps absolut nicht vergleichbar. Es kommen aber immer stärkere Smartphones auf den Markt, sodass dieser Faktor immer unwichtiger wird.

jQueryMobile für plattformübergreifenede App Programmierung

Das Framework jQueryMobile ist eines der meist verbreitetsten Frameworks mit dem man auf HTML5 / Javascript Basis sehr leicht und schnell Apps implementieren kann die sowohl unter Android, iPhone als auch Blackberry lauffähig sind.

Der Trick, dass die Anwendung dann auf allen mobilen Plattformen lauffähig ist, besteht darin, dass hier kein native Programm kompiliert wird sondern einfach mit HTML5, Javascript und CSS versucht wird, das Verhalten und Aussehen der Betriebssystem nachzuahmen. Im Prinzip ist also die fertige App eine Website die vom Browser des Geräts gerendert wird. Logischerweise laufen solche Anwendungen am Handy nie so schnell wie echte kompilierte Programme die zB in Java für Android programmiert wurden.

Die Entwickler von jQueryMobile haben sich sehr viele Gedanken darüber gemacht, wie man die vorhandenen Programmiermethoden für Websites einfach auf Mobile Apps integrieren kann und haben eine sehr gute Lösung gefunden. Eine App besteht aus einfachen HTML Seiten die untereinander verlinkt sind so wie es auch im Web ist. Das Framework erkennt Links automatisch, fängt einen Klick auf diesen ab und ladet die Unterseite per AJAX im Hintergrund nach. Sobald die Seite vollständig im Browser ist wird eine Animation gestartet die die erste Seite nach links schiebt und die neue Unterseite zum Vorschein bringt. So wie man es aus normalen Apps kennst. Mit dem Back Button wird die alte Seite wieder von links nach rechts geschoben. So entsteht der Eindruck, dass es sich um eine normale Mobile App handelt und keine Unterseiten immer wieder neu geladen werden müssen.

Möchtest du also Apps programmieren die hauptsächlich aus Menüs und Listen bestehen und die hauptsächlich Text, Fotos und Links anzeigen solltest du unbedingt jQueryMobile verwenden! Solltest du Apps programmieren die viele logische Operationen am Client ausführen und eine dementsprechende Performance aufweisen müssen dann solltest du lieber eine native App in der jeweiligen Programmiersprache für das Betriebssystem programmieren!