Viele Smartphones,
viele Plattformen
viele Plattformen
Die Nachfrage der Zielgruppen hat es längst klar bestätigt: Eine App – ob in iOS, Android, als Web App, native oder hybrid entwickelt – bereichert bestehende Services, vereinfacht veraltete Prozesse und erhöht zudem die Kundenzufriedenheit.
Doch Vorsicht: Schnell stürzen sich Unternehmen in die App Entwicklung und kommen durch viele technischen Fragen, hohen Budgets und fehlende Klarheit über Ziele und Zielgruppe kaum voran.
Viele Smartphones, viele Plattformen und drei Möglichkeiten eine App zu entwickeln: Cross-Plattform kompatibel als webbasierte App, mit der Königsdisziplin native Apps oder mit der hybriden App als Mischlösung. Je nach Anforderungen sind diese drei Arten der App-Entwicklung mal mehr, mal weniger geeignet. Wir geben einen kurzen Überblick als Entscheidungshilfe.
Grundlegend stellt sich die Frage bei einer App-Entwicklung natürlich nach den Anforderungen und den gewünschten Plattformen. Kombiniert mit dem verfügbaren Budget ergibt sich aus dieser einfachen Rechnung die letztendliche Entwicklungs-Strategie.
Doch welche Entwicklungsansätze stehen denn nun zur Verfügung und welche Vor-/Nachteile haben diese Ansätze? Zum Ersten gibt es die webbasierten Apps, die wie der Name bereits sagt auf reinen Webtechnologien (HTML 5, CSS 3, Javascript) aufbauen. Als Königsdisziplin dürfte die Entwicklung von nativen Apps in der jeweiligen Plattform-Technologie (z.B. Objective-C, Java, C#) gelten und als Mischform beider Welten kommen die hybride Apps ins Spiel.
Webbasierte Apps
Der große Vorteil einer webbasierten App ist die relativ einfache Umsetzung einer Cross-Plattform-Unterstützung. Wer allerdings bereits die Browserproplematiken auf Desktop-Systemen kennt, ahnt welche Stolpersteine bei den unzähligen mobilen Systemen warten können. Hier sind umfangreiche Tests einzuplanen. Viele Anbieter bieten dafür Emulatoren oder andere Testmöglichkeiten an. Hervorzuheben dürfte hierbei sicherlich Nokia sein, die für registrierte Developer den Zugriff auf einen Pool von unzähligen echten (an einen Server angeschlossenen) Endgeräten bietet (RMA = Remote Device Access)!
Webbasierte Apps werden sicherlich oftmals für mobile Webseiten eingesetzt. Darüberhinaus lassen sich durch die neuen Funktionen von HTML5 & Co. auch viele andere Anforderungen abbilden:
- lokale Speicherung von Daten
- Zugriff auf geobasierte Funktionen
- Unterstützung von Touchgesten
- Nachahmung von typischen App-Oberflächen durch CSS3
Darüber hinaus allerdings sind vor allem in Bezug auf den Gerätezugriff (Sensoren, Kamera,…) die Möglichkeiten derzeit noch stark eingeschränkt. Zudem kann die Performace und GUI naturgemäß natürlich nicht mit echten Apps mithalten. Als großen Nachteil empfinden viele die fehlende Verbreitungsmöglichkeiten von webbasierten Apps über die App Stores (Apple App Store, Android Market,…).

Agile App Entwicklung
In unserer agilen App Entwicklung nehmen wir uns Zeit, Deine Zielgruppe zu verstehen und eine individuelle Lösung zu finden, die alle Anforderungen erfüllt. Je nach Zeit und Budget erstellen wir eine klare Roadmap und starten dann mit dem individuell zusammengestellten Team und Projektmanagement. Eine transparente Dokumentation des Projektfortschritts und Einsicht sind dabei für uns selbstverständlich.
Was uns sonst noch wichtig ist? Das liest du hier – wir stellen unsere Arbeitsweise vor.
Native Apps
Bevor wir näher auf die Mischlösung der hybriden Apps eingehen, betrachten wir zunächst kurz die High-End-Variante der nativen Apps. Diese werden in der entsprechendenTechnologie der jeweiligen Plattform umgesetzt.
- Objective-C/Cocoa für die iOS-Plattform
- Java für Android
- C#, Silverlight und/oder XNA für Windows Phone
Entsprechend aufwendig ist die Umsetzung einer App, insbesondere wenn dies für mehrere Plattformen verfügbar sein soll. In diesem Fall sind durch die unterschiedlichen Technologien kaum Codebestandteile plattformübergreifend wiederverwendbar, für jede Plattform muss in etwa der gleiche Entwicklungsaufwand gerrechnet werden. Darüberhinaus sind die zugrunde liegenden Programmiersprachen zum Großteil deutlich anspruchsvoller wie die bekannten Webtechnologien. Java auf der Android-Seite stellt bereits eine andere Ebene wie beispielsweise HTML/PHP-Entwicklung dar, in Objective-C muss man sich darüber hinaus sogar noch mit Pointer-Arithmetik und Speicherverwaltung (iOS unterstützt keine automatische Garbage Collection) beschäftigen.
Als Dank für die deutlich komplexere Entwicklung erhält man aber dann Zugriff auf alle zur Verfügung gestellten Geräteeigenschaften/-funktionen und hat bei der GUI und Perfomance die gesamte Macht in seinen Händen. Und hält man sich an die Vorgaben der Hersteller (insbesondere Apple) steht einer Veröffentlichung in den Markets und Stores dieser mobilen Welt nichts mehr im Wege.
Hybride Apps
Will man sich nun für keine der beiden genannten Varianten entscheiden, könnte ein Mischweg die goldene Mitte darstellen. Die hybride Umsetzung vereint das Beste beider Welten und stellt oftmals eine gute Alternative dar. Hybride Apps werden von nahezu allen App-Stores akzeptiert und es bestehen deutlich mehr Zugriffsmöglichkeiten auf Geräteeigenschaften als bei der webbasierten Umsetzung. Dazu können Cross-Plattform-Apps (meist für iPhone und Android) mit einem deutlich überschaubareren Aufwand als bei der nativen Lösung umgesetzt werden. Die hybride App-Umsetzung wird in den Medien meist in einem Aufwasch genannt, es gibt allerdings zwei sich deutlich unterscheidende Varianten:
Webbasierte Hybride Apps
Die eigentliche Funktionalität der App wird webbasiert umgesetzt. Im Anschluss wird um diese webbasierte App ein nativer Rahmen gestülpt. Durch diesen nativen Rahmen kann im webbasierten Kern auf mehr Geräteeigenschaften zugriffen werden, die Perfomance und GUI bleibt aber weiterhin auf die webbasierten Möglichkeiten beschränkt. Die bekannteste Möglichkeit webbasierte Apps zu ummanteln bietet PhoneGap.
Native hybride Apps
Die App wird in einer bestimmten Skripsprache (z.B. Javascript) entwickelt. Dieser Code wird dann im Anschluss in eine echte native App auf die verschiedenen Plattformen umgewandelt. So stehen deutlich mehr Geräteeigenschaften als bei der webbasierten hybriden Umsetzung zur Verfügung, die Performance/GUI kann sich an der echten nativen Umsetzung orientieren. Allerdings stößt man bei umfangreicheren/komplexeren Anforderungen auch hier an seine Grenzen, zudem werden neue Funktionen auf den Plattformen erst verzögert in die entsprechenden Übersetzungsprogramme integriert. Als typische Vertreter hierfür sind das Titanium Mobile Projekt oder das Cocona SDK für 2D-Spieleentwicklung zu nennen.

Jetzt Kontakt aufnehmen
Egal ob Du ein konkretes Software-Projekt im Kopf hast oder Du Antworten auf offene Fragen suchst – wir sind da, um Dir weiterzuhelfen.
Vereinbare hier einen unverbindlichen Gesprächstermin und lass uns gemeinsam die passende .NET Lösung für Dein Projekt finden.