4
yuhiro.de http://www.yuhiro.de/hybrid-app-entwicklung-im-jahr-2016/ Sascha Thattil Hybrid App Entwicklung im Jahr 2016 Seit einiger Zeit beschäftigen wir uns hier bei YUHIRO mit der Hybrid App Entwicklung (auf Basis von HTML5 und JavaScript mit Hilfe von Frameworks). Im Jahr 2014 haben wir zum Beispiel eine App entwickelt. Dabei standen wir vor der Entscheidung auf Hybrid oder auf eine Native Programmierung, auf Basis von Android und iOS, zu setzen. Zu diesem Zeitpunkt gab es zwar auch schon einige Hybrid Frameworks, wie zum Beispiel Sencha Touch. Dennoch waren die Technologien noch nicht ausgereift. Herausforderungen bei der Hybrid Programmierung im Jahr 2013/ 2014: 1. WebView: Der Browser in der mobilen Version, wurde von zu diesem Zeitpunkt von den Herstellern von iOS and Android nur stiefmütterlich behandelt. Dadurch waren dafür entwickelte Systeme, auch wenn sie gut programmiert und designt waren, nicht wirklich vorzeigbar. 2. Hardwarezugang: Es gab nur wenige Schnittstellen, über welche man mit Frameworks wie Sencha Touch, auf die Mobile-interne Hardware, wie Kamera, Speicher, Touch, CPU (Rechenleistung), Bewegungsmesser, etc. zugreifen konnte. Somit musste man auf viele Funktionalitäten und Vorteile, welche ein mobiles Endgerät bietet, verzichten. 3. Geschwindigkeit/ Performance: Applikationen mit Frameworks wie Sencha Touch, waren dafür bekannt, dass sie sehr langsam waren. Einen Vergleich mit Nativen Anwendungen konnten diese nicht standhalten. Auch zum Anfang des Jahres 2015 hatten wir eine Mobile Anwendung auf Basis von HTML5 entwickelt. Auch hier war das Ergebnis mehr als ernüchternd. Der Kunde und dessen Kunden konnten einfach nicht verstehen, warum das System so langsam läuft und warum es einige Funktionalitäten, welche es im nativen Umfeld gab, nicht vorhanden waren. Das Projekt: Ein komplettes Desaster. 1/4

Hybrid App Entwicklung im Jahr 2016

  • Upload
    yuhiro

  • View
    271

  • Download
    1

Embed Size (px)

Citation preview

yuhiro.de http://www.yuhiro.de/hybrid-app-entwicklung-im-jahr-2016/

Sascha Thattil

Hybrid App Entwicklung im Jahr 2016

Seit einiger Zeit beschäftigen wir uns hier bei YUHIRO mit der Hybrid App Entwicklung (aufBasis von HTML5 und JavaScript mit Hilfe von Frameworks). Im Jahr 2014 haben wir zumBeispiel eine App entwickelt. Dabei standen wir vor der Entscheidung auf Hybrid oder auf eineNative Programmierung, auf Basis von Android und iOS, zu setzen. Zu diesem Zeitpunkt gab eszwar auch schon einige Hybrid Frameworks, wie zum Beispiel Sencha Touch. Dennoch warendie Technologien noch nicht ausgereift.

Herausforderungen bei der Hybrid Programmierung im Jahr 2013/ 2014:

1. WebView: Der Browser in der mobilen Version, wurde von zu diesem Zeitpunkt von denHerstellern von iOS and Android nur stiefmütterlich behandelt. Dadurch waren dafürentwickelte Systeme, auch wenn sie gut programmiert und designt waren, nicht wirklichvorzeigbar.

2. Hardwarezugang: Es gab nur wenige Schnittstellen, über welche man mit Frameworkswie Sencha Touch, auf die Mobile-interne Hardware, wie Kamera, Speicher, Touch, CPU(Rechenleistung), Bewegungsmesser, etc. zugreifen konnte. Somit musste man auf vieleFunktionalitäten und Vorteile, welche ein mobiles Endgerät bietet, verzichten.

3. Geschwindigkeit/ Performance: Applikationen mit Frameworks wie Sencha Touch, warendafür bekannt, dass sie sehr langsam waren. Einen Vergleich mit Nativen Anwendungenkonnten diese nicht standhalten.

Auch zum Anfang des Jahres 2015 hatten wir eine Mobile Anwendung auf Basis von HTML5entwickelt. Auch hier war das Ergebnis mehr als ernüchternd. Der Kunde und dessen Kundenkonnten einfach nicht verstehen, warum das System so langsam läuft und warum es einigeFunktionalitäten, welche es im nativen Umfeld gab, nicht vorhanden waren. Das Projekt: Einkomplettes Desaster.

1/4

Man hätte dieses Projekt retten können, in dem man das Ganze von Grund auf programmiertund dabei nur die besten Coding Praktiken verwendet hätte. Wer ist jedoch schon bereit die Zeitund das Geld für eine Neuprogrammierung aufzubringen?

Eine andere Lösung wäre die Entwicklung im Bereich Native, dass wäre jedoch um noch einweiteres teurer geworden.

Hybrid war in diesem Fall eine komplette Sackgasse für uns.

2016 – Das Jahr der Wende?

In den letzten Jahren und Monaten haben immer mehr Unternehmen sehr viel Zeit und Geld inneue Hybride Technologien investiert. Zum Beispiel Adobe, welches im Jahr die Technologievon Nitobi kaufte und es den Namen PhoneGap gab. Dieses wurde dann im neuen Release mitApache Cordova umbenannt. Im Laufe der Jahre wurden immer mehr API’s (Schnittstellen) fürden Zugriff auf Hardwareeigene Technologie (Accelerometer, Kamera, Speicher, etc.) zurVerfügung gestellt. Auf Basis von Cordova sind nun einige interessante Frameworks für dieHybride App Entwicklung entstanden. Wie zum Beispiel Ionic.

Auf den App Stores lassen sich bereits Anwendungen auf Basis von diesen Technologienfinden, welche mehrere Millionen Male heruntergeladen wurden.

Auch das WebView wurde in den neuen Versionen von iOS und Android berücksichtigt,welches zudem zeigt, dass der Fokus weiter auf diese Technologien rückt.

Was bringt die Zukunft?

Immer mehr Anbieter positionieren sich neben Apple (iOS) und Google (Android) und fangen aneigene Plattformen zu bauen. Dies bedingt auch, dass man, wenn man alle Nutzer erreichenwill, für immer mehr Plattformen Applikationen bauen muss. Musste man im Jahr 2013 nur füriOS und Android programmieren, braucht man im Jahr 2016 bereits mehr als diese zwei.

2/4

Microsoft hat mit ihrer WindowsPhone Umgebung eine weitere Hürde geschaffen um alleNutzer zu erreichen. Auch die grossen Chinesischen Hersteller denken über eigeneTechnologien nach.

Als Anbieter von Anwendungen für Endnutzer wird man schlussendlich keine andere Wahlhaben, als auf Hybride Anwendungen zu setzen, welche man einmal programmiert und für alleEndgeräte nutzen kann.

Das Dilemma

Um eine gute Applikation mit Frameworks wie Sencha Touch zu schreiben, braucht man sehrgute und erfahrene Entwickler. Dadurch, dass die Frameworks erst seit einigen wenigen Jahrenbestehen, oder zumindest erst seit einigen Jahren populär sind, gibt es dementsprechend auchnur wenige gute Entwickler welche diese Technologien sehr gut beherrschen. Hier besteht dannauch das Dilemma. Auf der einen Seite sollte man in Zukunft auf Hybrid setzen auf der anderenSeite gibt es nicht genug gute Leute, welche das auch perfekt beherrschen.

Die Lösung

Ein Weg kann es sein langfristig zu denken und trotzdem auf eines der Frameworks zu setzen.

Hierbei sollte man jedoch auch weit in die Zukunft schauen: Wie wird sich das jeweiligeFramework weiter entwickeln? Werden wir in Zukunft, mit diesem Framework alle unsereAnforderungen abdecken können?

Dies sind wichtige Fragen, denn falls man später bemerkt, dass sich mit dem Framework dieAnforderungen nicht umsetzen lassen, dann muss man eventuell später auf ein anderesFramework umsteigen. Das könnte im Normalfall auch bedeuten, dass man alles von Grund aufneu programmieren muss.

Fazit3/4

Ehrlich gesagt, ist es heutzutage immer noch ein Risiko auf die Hybrid App Entwicklung zusetzen, da man nicht genau weiss, wie sich die Zukunft entwickeln wird. Im Extremfall stehtman einem Totalverlust seiner Investitionen gegenüber. Auf der anderen Seite, könnte manauch mit dem “sicheren” Weg der Nativen Programmierung mit iOS, Android undWindowsPhone schnell vor einer Investitionsfalle stehen. Denn für jede Plattform braucht eseinen eigenen Entwickler, da ein iOS Entwickler höchstwahrscheinlich nicht auf Androidprogrammieren kann.

Gleichzeitig schwanken die Marktanteile der jetzigen Anbieter (iOS, Android, WindowsPhone)gewaltig. War vor einigen Jahren iOS noch das Nonplusultra, läuft heutzutage bereits einGrossteil der mobilen Endgeräte auf Android. Gleichzeitig wirbelt Microsoft mit demWindowsPhone den Markt auf. Besonders in aufstrebenden Märkten wie Indien, ist Microsoftmit ihren Smartphones erfolgreich. Auch indische und chinesische Anbieter treten vermehrt inErscheinung. All dies führt zu einem undurchschaubaren Technologiemarkt.

Die Entscheidung sollte, auch im Jahr 2016, nicht leicht fallen. Schlussendlich wird es daranliegen, wie sich die Technologien (iOS, Android, WindowsPhone, Sencha Touch, Cordova, etc.)weiterentwickeln und wie sich die Nutzer schlussendlich entscheiden werden.

Wie seht Ihr die derzeitigen Entwicklungen? Wie wird die Zukunft aussehen? Und welcheEntscheidung/ Entscheidungen habt Ihr getroffen?

Interessante Beiträge:Frameworks die man kennen sollteDie verschiedenen Technologien im Überblick

Bilder: Flickr.com/ hobson/ Quintano/ FutUndBeidl

Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmernund Unternehmen beim einfachen Aufbau von Programmier-Teams inIndien. YUHIRO ist ein deutsch-indisches Unternehmen welches ITFirmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.

Artikel teilen

4/4