Drucken

Vergleich der unterschiedlichen Techniken eine App und eine mobile Webseite zu erstellen

Welchen Kunden möchte ich erreichen?

Bevor man mit der Planung einer Anwendung für mobile Endgeräte beginnt, sollte man sich fragen, welchen Kunden man erreichen möchte. Welche Handys und welche Tabletts sollten unterstützt werden. 

Es gibt heutzutage eine Vielzahl unterschiedlicher Geräte mit unterschiedlichen Display-Größen und ganz unterschiedlichen Auflösungen. Außerdem viele unterschiedliche Betriebsysteme, wie iOS, Android, Blackberry OS und viele andere mehr.

 

Mobile Web vs. Mobile App

Wenn man für mobile Endgeräte eine Anwendung schreiben möchte, muss man sich zunächst entscheiden, ob man eine Webanwendung oder eine App schreiben möchte.

Eine mobile Webanwendung ist eine "Web-Seite" die für mobile Endgeräte optimiert ist. In der Regel wird hier auf der Client-Seite Html 4 und JavaScript verwendet. 
Der Vorteil einer mobilen Webseite ist, dass man die Inhalte schnell austauschen kann und nicht durch den Zulassungsprozess eines Appstores beschränkt ist. Außerdem kann man eine solche Webseite jedem zur Verfügung stellen. Der Anwender muss nicht erst eine App installieren.

Eine mobile App ist eine App wie man sie im Apple App Store oder im Android Market erwerben kann. Eine App kann man mit den nativen Sprachen wie iOS 5 SDK (Objective C) oder Android SDK (Google Java) entwickeln.
Entscheidet man sich für eine solche native Entwicklung, muss separat für iOS und Android entwickeln.
Neben der nativen Entwicklung gibt es auch die Möglichkeit mit Adobe Flex + Air (AS3), Mono (c#) oder PhoneGap(HTML+JavaScript) Anwendungen zu entwickeln, die dann "Cross"-Kompiliert werden und dann auf den unterschiedlichen Betriebsystemen laufen.
Eine App sieht immer hochwertiger aus als eine mobile Webseite. Man kann die App über die App Stores vertreiben. Die Anwendungen können aufwendiger und performanter sein. Außerdem hat man die Möglichkeit eine offline-fähige Anwendung zu schreiben.

Mobile Web

Entscheidet man sich für eine Mobile Web Anwendung gibt es wiederum mehrere Möglichkeiten diese zu realisieren.
Gibt es schon eine bestehende Webseite, kann man für die unterschiedlichen Devices unterschiedliche CSS Dateien erstellen, damit die Seite auch überall gut dargestellt wird.
Bei einer Neuentwicklung sollte man am besten auf ein Framework setzen.
Hier gibt es JavaScript Frameworks, die die Entwicklung beschleunigen. Hier kann man z.B. jQuery einsetzen.
Leider hat JavaScript den großen Nachteil, das die Sprache nicht typsicher ist. Bei kleinen Projekten ist das kein Problem, doch werden in der Regel die Projekte mit der Zeit immer größer. Dann wird die Wartbarkeit solcher Projekte immer schwieriger.
Besser geeignet für große Projekte sind da Frameworks, die auf Java (nicht JavaScript) basieren und beim Kompilieren HTML und JavaScript erzeugen.
Hier eine Übersicht über die bekanntesten Frameworks:

  • GWT (Google Web Toolkit)
  • Vaadin
  • ZK-Framework

Mobile App

Native App

Mobile App lassen sich zum einen "native" erstellen. Hier erstellt man für ein bestimmtes mobiles Betriebsystem eine App. Diese Apps können die kompletten Möglichkeiten der Betriebsysteme ausnutzen und sind meist die Performantesten Lösungen. Zum einen dauert jedoch die Entwicklung einer einzelnen App meist länger als eine nicht-native Entwicklung. Außerdem hat man dann immer erst eine App für ein Betriebsystem entwickelt und muss für ein anderes Betriebsystem noch einmal neu entwickeln. Wenn es aber besonders auf die Performance ankommt ist dies sicher die einzig richtige Wahl. Anders sieht es aus, wenn die Performance ein nicht so große Rolle spielt. Dann hat man andere Möglichkeiten.

Crosscompiling

Mit dem Crosscompiling hat man die Möglichkeit eine Anwendung zu schreiben, die gleich unter mehren Betriebsystem läuft.
Eine besonders elegante Möglichkeit bietet hierzu "Adobe Air + Flex". Zur Klarstellung: Adobe hat zwar die Entwicklung des Flash-Players für mobile Gräte eingestellt, doch wird der hier benötigte Air-Player weiter entwickelt. 
Mit Adobe Flex und Air lassen sich hochansprechende durchdesignte Anwendungen entwickeln, die unter iOS und Android laufen. Hierbei hat man auch die Möglichkeit eine Anwendung zu schreiben, die für ein Tablet und ein SmartPhone unterschiedliche Layouts bereitstellen. 

 

Fazit

Alle oben beschriebenen Techniken haben Ihre Daseinsberechtigung. Es kommt ganz auf das Projekt an, welche Technik die beste ist. Kleine Projekte können gut mit jQuerry umgesetzt werden. Größere Webseiten sollten ein Framework wie ZK-Framework verwenden.
Apps kann man native entwickeln, wenn es auf die Performance ankommt. Ansonsten ist Adobe Flex Air eine tolle Alternative.

Wenn Sie nicht wissen, welche Technologie sie einsteten sollen, können Sie sich gerne von uns beraten lassen. Nehmen Sie einfach Kontakt mit uns auf.

Außerdem bieten wir auch Schulungen zu diesen Themen an.