Detect Mobile Browser: Mobile Browser erkennen und umleiten

Detect Mobile Browser

Man könnte argumentieren, dass es seit dem iPhone keine speziellen Websites für mobile Endgeräte mehr brauche – schliesslich besitzt das iPhone einen vollwertigen Browser und gute Zoom-Funktionen, so dass im Prinzip jede Website benutzbar ist (sofern sie kein Flash voraussetzt). Trotzdem wissen Smartphone-Benutzer auch heute noch eine für mobile Geräte optimierte Website zu schätzen. Eine solche Mobile Website zu bauen ist das eine – die Aufrufe von Smartphones korrekt umzuleiten das andere. Für letzteres bietet sich die Mobile Browser Detection von Chad Smith an, die man als kleines Skript für Apache, ASP, ASP.NET, ColdFusion, C#, JSP, JavaScript, jQuery, PHP, Python und Rails herunterladen kann. Zudem kann man die Website detectmobilebrowser.com gleich zum Testen eines bestimmten Browsers nutzen.

Firefox mit User Agent Switcher: Ich bin auch ein Internet Explorer (ein iPhone)

image

Wenn ein Web Browser eine Webseite lädt, dann teilt er vorher dem Web Server seinen User Agent mit. Der User Agent ist eine Kennung, welche den Browser-Typ, die Browser-Version und das zugrundeliegende Betriebssystem enthält. Auf dieser Grundlage entscheidet der Web Server, welche Version einer Webseite er ausliefern soll (sofern unterschiedliche Versionen existieren). Meldet sich beispielsweise ein Browser mit dem User Agent Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16, dann handelt es sich um Safari auf einem iPhone, und entsprechend wird Version für Mobile Devices ausgeliefert.

Möchte man dieses Verhalten testen, dann ist es etwas mühsam, ständig verschiedene Browser oder gar Geräte zu benutzen. Viel einfacher ist die Installation der Firefox-Extension User Agent Switcher, mit der man den User Agent nach Belieben modifizieren kann. Hierzu kann man Presets definieren, die sich dann im Bedarfsfall rasch aus dem Menü “Extra” abrufen lassen.

image

Eine grosse Einschränkung gibt es allerdings: Mit dem User Agent Switcher behauptet Firefox zwar, er sein ein Safari auf dem iPhone – aber deswegen ist er natürlich noch lange kein Safari. Dies bedeutet, dass die Seiten nach wie vor mit der Gecko-Engine des Firefox gerendert werden. Mit dieser Methode sieht man also nur, was der Web Server einem anderen User Agent schickt – nicht aber, wie jener die Seite letztlich darstellt.

Apps für iPhone, Android und Blackberry entwickeln – mit HTML und JavaScript

image 

PhoneGap heisst ein Open Source Entwickler-Framework, dank dem man Applikationen für iPhone OS, Android und Blackberry allein mit HTML und JavaScript entwickeln kann. Dies bedeutet einerseits, dass man als Web Developer keine neue Programmiersprache lernen muss. Und es bedeutet andererseits, dass eine App auf mehreren Mobile-Plattformen laufen kann.

image

Im Unterschied zu Webseiten, die auf einem Smartphone angezeigt werden, können Apps auf die API des Telefons zugreifen und dessen Funktionalität nutzen, beispielsweise den GPS-Empfänger, den Vibrations-Alarm oder das Adressbuch. Obige Tabelle zeigt, welche dieser Funktionalitäten derzeit auf welcher Plattform unterstützt werden.

Der Ansatz klingt interessant, auch wenn z.B. Symbian und Windows Mobile noch komplett fehlen und diverse andere API-Funktionen noch nicht unterstützt werden. Dank PhoneGap wird die Entwicklung von Smartphone Apps wesentlich vereinfacht. Nicht umsonst titelt Brady Forrest im O’Reilly Radar: PhoneGap, the Mobile Platform Democratizer.