Native App vs. hybride App Entwicklung – eine Entscheidungshilfe
Seit der Entstehung von hybriden Apps als Alternative zu nativen Apps herrscht ein vehementer Meinungskrieg. Was sind hybride Apps? Was können die? Sollte man hybride App Entwicklung überhaupt einsetzen? Wann machen native Apps mehr Sinn?
Ich habe schon viele Meinungen dazu gehört. Vor einigen Jahren klagten die meisten App Entwickler hybride Apps an: das seien keine richtigen Apps, zu langsam, auf Hardware kann man gar nicht zugreifen… ich habe alles gehört. Aber haben sie damit Recht? Und wie sieht es heute aus – hat sich im Bereich hybride Apps viel getan? Sind hybride Apps eine echte Alternative zu nativen Apps?
Meine Antwort lautet ganz klar: JA!
Wichtig ist hier gleich anfangs zu erwähnen: das ist kein pauschales Ja. Es hängt nämlich stark vom Projektumfang und den Anforderungen ab, für welche Art der Umsetzung man sich entscheiden sollte. Aber starten wir ganz am Anfang: was ist überhaupt der Unterschied zwischen hybriden und nativen Apps?
Inhaltsverzeichnis
Native Apps – App Entwicklung für iOS oder Android
Unter nativen Apps versteht man Applikationen speziell für ein Betriebssystem, z.B. Android oder iOS. Sie werden in einer plattformspezifischen Programmiersprache geschrieben. Bei iOS handelt es sich um Swift oder Objective C, während Apps für Android mit Java entwickelt werden. Auch das Design ist plattformspezifisch. Das bedeutet, dieselbe App sieht für iOS etwas anders aus als die Android-Version:
Bild von tapfame.com
Links die App Facebook für Android, rechts für iOS (Bild von <a href=“https://tapfame.com“>tapfame.com</a>)
Man kann auf den Bildern einen leichten Unterschied zwischen Android und iOS erkennen. iOS User haben etwas andere Gewohnheiten als die Android Fans. Bei nativen Apps kann gezielt auf diese verschiedenen Bedürfnisse eingegangen werden.
Native Apps können flüssig mit Hardwarekomponenten von Smartphones kommunizieren, wie zum Beispiel einer Kamera, Bluetooth oder auch anderen nativen Apps. Der Zugriff und die Nutzung erfolgt außerordentlich schnell und benutzerfreundlich.
Da native Apps für jede Plattform eigens entwickelt werden müssen, entstehen natürlich auch einige Nachteile. Wenn man annimmt, das ein Kunde seine neue App für iOS, Android und Windows Phone haben möchte, muss man dieselbe App drei mal entwickeln – jeweils für iOS, Android und Windows Phone. Das ist natürlich aufwändig, teuer und zeitintensiv. Im schlimmsten Fall muss man auch händeringend nach einer Agentur suchen, die für alle drei Plattformen entwickelt bzw. die Entwickler für alle Plattformen finden.
Hat man dann sein Prachtexemplar für diese Plattformen in den Stores, folgt auch schon der nächste Kostenfaktor. Natürlich muss eine App auch weiterentwickelt und geupdated werden, auch hier muss man dieselben Updates für jede Plattform einzeln umsetzen.
Aber was ist die Alternative? Na, hybride App Entwicklung natürlich!
Hybride Apps – Entwicklung von Apps mit einer Codebasis
Hybride Apps werden mit einem Framework bzw. einer Library wie Cordova/Phonegap entwickelt und in Javascript, HTML5 und CSS3 geschrieben – die selben Programmier- und Auszeichnungssprachen wie für Websites und Webapps! Das heißt, ein guter Webprogrammierer kann auch eine hybride App entwickeln. Hierbei muss betont werden, dass die Entwicklung von hybriden Apps einiges an Erfahrung in diesem Bereich benötigt.
Ist die Basis für die App fertiggestellt wird die App sozusagen in einen nativen Container verpackt. Dadurch erhält man ebenfalls Zugriff auf Hardwarekomponenten und kann die App in die jeweiligen App Stores hochladen.
Der große Vorteil besteht nun darin, dass Apps für Android, iOS und anderen Plattformen wie Windows Phone mit nur einer einzigen Codebasis entwickelt werden. Ist die App Entwicklung beendet, muss man sie nur noch für die verschiedenen Plattformen exportieren und kann sie dann in den Stores vertreiben.
Aber halt, nur eine Codebasis? Dann sehen ja Apps für iOS und Android gleich aus und funktionieren sicher nicht so einwandfrei wie native Apps?
Falsch gedacht! Das war vielleicht am Anfang der hybriden App-Zeit so, aber nach einiger Zeit hat sich viel verändert und weiterentwickelt. Immer mehr Frameworks sind entstanden, die die Entwicklung hybrider Apps stetig verbessern.
Eines der wohl bekanntesten und von uns am meisten verwendete ist Ionic. Dieses Framework bietet unter anderen die Möglichkeit, individuelle Designs für iOS und Android zu erstellen oder die App vorab schnell und einfach an Kunden zum Testen zu verschicken. Bei nativen Apps ist dies nicht immer so einfach.
Auch der Hardwarezugriff ist bei hybriden Apps möglich und mittlerweile sehr flüssig. Kamera, Speicher, GPS, Device Orientation – alles kein Problem. Der zur Zeit größte Nachteil an hybriden Apps ist die Performance – sie ist kaum schlechter als die von nativen Apps, aber vor allem bei komplexen Applikationen und Games merkt man einen Unterschied.
Gegenüberstellung: Vor- und Nachtteile von nativer und hybrider App Entwicklung
Native Apps | Hybride Apps |
---|---|
für jede Plattform eigens entwickelt | eine Codebasis für alle Plattformen |
Programmiert in Swift, Objective C (iOS) und Java (Android) | Programmiert in JavaScript, HTML5 und CSS3 |
werden in Plattform-spezifische App Stores vertrieben | können in Plattform-spezifischen App Stores und vielen alternativen Stores vertrieben werden |
Spezialisten für jede Plattform sind notwendig | Webentwickler mit Know-How im Vertrieb von Apps für iOS, Android & Co. werden benötigt |
Die wichtigste Frage: Native oder hybride App Entwicklung?
Jetzt muss ich euch leider enttäuschen, für diese Frage gibt es keine 100%ige Antwort – es hängt immer von den Anforderungen einer App ab, ob man sie hybrid oder doch lieber nativ entwickeln sollte.
Vor einigen Jahren hätten wir in den meisten Fällen sicher geraten, Apps nativ entwickeln zu lassen. Damals war die Performance und Hardwarekommunikation von nativen Apps deutlich besser und fortgeschritten. Aber inzwischen ist eine Ewigkeit (in Computerjahren gerechnet) vergangen.
Hybride Apps haben sich extrem weiterentwickelt, dank der großen Community dahinter und Frameworks bekannter Firmen wie Phonegap, Ionic oder Facebooks react. Was vor ein paar Jahren bei hybriden Apps noch undenkbar war, wie zum Beispiel flüssige Animationen oder exzessiver Hardwarezugriff, läuft heute fast so flüssig und performant wie bei nativen Apps.
Die Kundenanforderungen an Hardware und Prozessorintensive Anwendungen sind meist recht gering, daher eignen sich für die meisten Projekte mittlerweile auch hybride Apps. Der Kunde spart sich somit Geld und Entwicklungszeit, die Apps lassen sich leicht testen und verteilen und zentral verwalten.
Auch für Startups ist das übrigens eine oft wichtige Entscheidung. Denn, es macht schon einen Unterschied ob ein Prototyp das Budget sprengt bzw. nur auf einer Plattform einsetzbar ist oder mittels hybrider Entwicklung kostengünstig und Plattformübergreifend umgesetzt werden kann.
Entwicklungszyklus von hybriden und nativen Apps. © Johanna Gaßmann
Übersicht und Entscheidungshilfe zur App Entwicklung
Um eine Entscheidung treffen zu können, haben wir hier noch einmal die wichtigsten Features und Merkmale von nativen und hybriden Apps aufgelistet:
Hybrid | Nativ | |
---|---|---|
Programmiersprache | JavaScript, HTML5 und CSS3 | Objective C, Swift, Java etc. |
Performance | Mittel | Schnell |
UI/UX | Nativen Elementen nachempfunden | Nativ |
Erhältlich in | App Stores | App Stores |
Plattformabhängigkeit | Gering | Hoch |
Entwicklungszeit | Gering | Hoch |
Wartbarkeit | Leicht | Aufwändig |
Kosten | Gering | Hoch |
Zugriff zu Hardware | Komplett | Komplett |
Gesten | Swipe, Pinch, Spread | Swipe, Pinch, Spread |
Verbindung | Online & Offline | Online & Offline |
Aufwändige Grafiken | Mittel | Sehr gut |
Mit dieser Tabelle erhält man erste Anhaltspunkte, ob eine hybride App für das eigene Projekt geeignet ist. Falls es jedoch noch Zweifel gibt oder man eine Beratung benötigt, sollte man bei der Web/App Agentur seines Vertrauens vorbeischauen und sich beraten lassen!
Tipp: wir Webpunks haben uns auf die Entwicklung solcher hybrider Apps im Raum Klagenfurt und Kärnten spezialisiert. Für native Apps arbeiten wir mit spezialisierten Partnern zusammen und vermitteln gerne weiter. Eine kurze Mail an hello@webpunks.at reicht um ins Gespräch zu kommen! ;-)
Unser Fazit
In den meisten Fällen eignet sich eine hybride App hervorragend für die Umsetzung eines App-Projektes. Vor allem der Kosten- und Zeitfaktor ist dabei zu berücksichtigen. Hybride Apps unterscheiden sich heutzutage kaum noch von nativen Apps, den Usern fällt es nicht auf, ob sie eine native oder hybride App verwenden. Voraussetzung ist allerdings, dass die App von erfahrenen Entwicklerteams umgesetzt wird.