Hybrid-Apps sind die Lösung

Wenn’s um Entscheidungen für technische Plattformen geht, spielen oft Erfahrungen eine Rolle, die bereits etliche Jahre alt sind. Ein wunderschönes Beispiel ist WordPress als CMS. Noch heute sagen viele Entwickler, dass WordPress für Blogs wunderbar geeignet sei, aber es „ist halt kein CMS“, wie ich erst kürzlich wieder hören musste. Außerdem ist WordPress „langsam“ oder „unsicher“, dabei setzen inzwischen viele große Unternehmen WordPress höchst erfolgreich als CMS ein. Eine ganz ähnliche Situation ergibt sich nun bei der Entwicklung von Apps. Nur native Apps, also Apps, die in Objective-C oder Java geschrieben wurden, sind gute Apps, so heißt es regelmäßig. Und Hybrid-Apps, also Apps aus HTML5, CSS und Javascript, seien langsam und nicht reaktiv genug.

Natürlich wohnt diesen Vorurteilen ein wahrer Kern inne. So wie WordPress vor zehn Jahren unsicher und für große Projekte nicht geeignet war, so waren Hybrid-Apps bis vor kurzem nur für sehr wenige Szenarien sinnvoll. Doch dank der rasanten Entwicklung der Browser und der besseren Tool-Unterstützung sind Hybrid-Apps heute fast immer die bessere Wahl – von Ausnahmen für besonders hardwarefordernde Anwendungen (Spiele!) einmal abgesehen. Da der App-Markt heute extrem umkämpft ist, müssen Apps schnell fertig gestellt und noch schneller an neue Anforderungen angepasst werden können. Das geht mit Hybrid-Apps, die auf eines der inzwischen etablierten Frameworks wie Ionic, aufsetzen, ganz hervorragend. Neben der Umsetzungsgeschwindigkeit aber gibt es einen weiteren großen Vorteil: Die Apps sind plattformunabhängig, eine Version für eine neue Plattform ist lediglich einen Knopfdruck entfernt.

The biggest mistake we’ve made as a company is betting on HTML5 over native

Mark Zuckerberg, 2012

Auch heute noch gibt es viele Entwickler, die Hybrid-Apps als zu langsam betrachten. Meiner Erfahrung nach liegt dies aber daran, dass es entscheidend darauf ankommt, für Animationen die richtigen CSS-Anweisungen zu nutzen. Statt left und top müssen Objekte mit translate3d animiert werden, damit die GPU für die Berechnung der Grafik genutzt wird. Wer einmal erlebt hat, wie sich eine Hybrid-App nur mit diesem kleinen Trick plötzlich von fürchterlich stotterndzu wahnsinnig flüssig wandelt, der kann verstehen, warum manche gestandenen iOS-Entwickler nun das hohe Lied der HTML5-Apps singen.

Für alle Zweifler gibt es nun React Native. Das ist eine von Facebook als Open-Source bereitgestellte Software, die es ermöglicht, Apps auf Basis von ReactJS zu schreiben. Facebook hat damit die App „Facebook Groups“ als Hybrid-App entwickelt. Facebook und Hybrid-App, war da nicht mal was? Ohja! Mark Zuckerberg hatte 2012 die Entwicklung der Facebook-App mit HTML5 als „den größten Fehler, den sie als Unternehmen gemacht haben“ bezeichnet. Wenn also Facebook nun damit glücklich ist, sollten das alle App-Entwickler sein.