Was ist ein App Entwickler?

Mobile Anwendungen werden immer wichtiger. Die Entwicklung dieser werden von App Programmierern durchgeführt. Was machen diese im Genauen? Mehr dazu im Beitrag.

Einführung

Man kann behaupten, dass alles mit Steve Jobs und der Idee zum iPhone entstand.

Die Kundgebung dazu fand im Jahr 2007 statt. Seitdem wurden mehr als 2 Milliarden iPhones von Apple verkauft.

Auch das mobile Betriebssystem von Google, Android hat die gleiche Erfolgsstory hingelegt. Damit sind die sogenannten Smartphones massentauglich geworden.

Hauptmerkmale von Smartphones sind:

  • Kleine Computer: Es handelt sich im Grunde genommen um Mini-Computer mit einer CPU, aber auch  mit vielen anderen interessanten Werkzeugen wie einem Gyroskop (Deutsch: Kreiselinstrument, um die Orientierung des Gerätes festzustellen), GPS (um den Standort zu finden), CPU (stellt Rechnungsleistung zur Verfügung), Accelerometer (kann die Geschwindigkeit messen), Speicher, und viele mehr.
  • App’s: Eine weitere Besonderheit sind die sogenannten Mobile Apps. Diese sind Softwareanwendungen und können direkt auf die Hardware aus dem ersten Punkt dieser Liste zugreifen. (Anders als zum Beispiel der Mobile Browser, der nur eingeschränkt darauf zugreifen kann)
  • Touchscreen und grosser Bildschirm: Mit dem Touchscreen lassen sich auf dem Bildschirm selbst, die Interaktionen durchführen.

Was machen nun IT Experten in diesem Bereich?

App Entwickler programmieren die notwendigen Mobilen Anwendungen, welche auf den Smartphones und Tablets genutzt werden können.

Dabei gibt es unterschiedliche Wege eine App zu erstellen.

Native für Android

Der Native Ansatz ist der Standardweg, um eine Mobile Software zu schreiben.

In den letzten Jahren haben sich genau zwei Mobile Betriebssysteme für diesen Native Entwicklung durchgesetzt. Android und iOS.

Der grosse Vorteil der sogenannten Nativen Entwicklung ist, dass die dafür programmierten Anwendungen direkt auf die Hardware des Smartphones zugreifen.

Für Android setzt man dabei entweder auf Java, eine altbewährte Programmiersprache. Oder auf Kotlin, welches von Google derzeit bevorzugt wird.

Native für iOS

Wie bereits erwähnt, gibt es zwei Hauptbetriebssysteme. Eines ist Android, das andere ist iOS.

Daher muss man eine separate Programmierung vornehmen.

App Entwickler spezialisieren sich nicht selten auf eine der Plattformen.

Im Bereich iOS kann ein Programmierer auf die Sprachen Objective C oder auf Swift setzen.

Die Probleme der Nativen App Entwicklung

Wenn man Native entwickelt, dass heisst für jede der beiden Plattformen (Android und iOS), dann muss man zweimal entwickeln.

Ein iOS Experte wird die iOS Software in Swift programmieren.

Und ein Android Spezialist wird die Android Anwendung, zum Beispiel in Kotlin erstellen.

Der Code ist von einer Plattform für die andere nicht wiederverwendbar und man muss zweimal coden.

Das bedeutet auch den doppelten Aufwand im Software Testing, im Projektmanagement und besonders auch in der Wartung.

Wenn ein neues Feature anfällt, muss für beide Plattformen separat entwickelt werden. Und die Module entsprechend unterschiedlich eingefügt werden.

Dies ist kein Problem, wenn es sich um grosse Mittelständische Unternehmen handelt, oder um Konzerne.

Diese Firmen haben oftmals das Budget, mehrere App Programmierer zu beschäftigen.

Bei kleineren Firmen, Startups und kleineren mittelständischen Unternehmen ist das nicht immer möglich, so viel Aufwand zu betreiben.

Hier gibt es einen weiteren Weg: die Cross Plattform Entwicklung.

Was ist Cross Plattform Entwicklung?

Bei Cross Plattform handelt es sich um einen alternativen Weg der Anwendungsentwicklung für iOS, Android und das Web (und auch sonstige Geräte wie Smart Devices (Smart Watch, Smart TV, etc.)).

Durch den Bedarf “einmal zu programmieren” und dann eine Anwendunge zu haben, die überall läuft, sind unterschiedlichste Frameworks entstanden.

Es wird eine Code Basis erstellt und dann läuft die Software auf Android, iOS und zum Teil auch auf dem Web oder an anderen Stelle nauch.

Dadurch reduziert sich der Aufwand stark.

Hier ein paar Technologien welche man für solche Hybriden Anwendungen nutzen kann:

PhoneGap

PhoneGap war einer der ersten Ansätze, um das Problem des hohen Entwicklungsaufwandes zu lösen.

Dabei wird die Mobile App in HTML, CSS und JavaScript erstellt. Und dann läuft die Lösung auf Android, iOS und auch dem Web.

Es arbeiten jedoch immer weniger Softwareentwickler mit PhoneGap. Und steigen zum Beispiel auf Ionic um.

Ionic

Auch Ionic setzt auf HTML, CSS und JavaScript.

Der Vorteil von solchen Wegen ist, dass sich zum Beispiel ein Webentwickler einfach darin einarbeiten kann. Denn die meisten Web Experten haben bereits mit diesen Frontend Technologien gearbeitet.

Die beiden folgenden Frameworks (React und Flutter) haben jedoch die höhere Popularität.

React Native

Auch React Native setzt stark auf JavaScript und ist daher auch bei Webprogrammierern beliebt.

Es ist eine wesentlich stärkere Technologie und wird von Facebook vorangetrieben. Welches auch ein Grund ist, warum es immer populärer wird.

Flutter

Flutter hat einen besonderen Ansatz. Es setzt auf die Programmiersprache Dart, welches stark an C angelehnt ist.

Cross Plattform App Entwickler loben die hohe Performance der Lösungen, welche mit Flutter erstellt wurden.

Jedoch ist hier die Herausforderung, dass sich ein IT Experte hier in eine neue Programmiersprache Dart einarbeiten muss, etwas was bei den anderen Frameworks wie React einfacher ist.

Was sind die Nachteile von Cross Plattform?

Es gibt jedoch auch ein paar Nachteile diesen Ansatzes:

1) Nicht jede App kann auf diesem Wege entwickelt werden

Wenn man zum Beispiel eine hochperformante Lösung möchte, wie eine Spiele Anwendung oder eine andere Lösung welche stark auf die Hardware-Komponenten wie CPU oder Kamera und ähnliche zugreifen. Dann sollte man den Nativen Weg mit Kotlin oder Swift gehen.

2) Die Performance ist niedriger

Besonders auf iOS Geräten wird eine Cross Plattform Entwicklung meistens nicht so performant laufen, wie eine Native Lösung. Es lädt zum Beispiel länger oder wird auch im Design nicht hundert Prozent dargestellt, um nur einige Punkte zu nennen.

Warum man trotzdem darauf setzen sollte

Nicht alle Mobile Anwendungen müssen super schnell laden. Bei Unternehmensanwendungen, zum Beispiel in mittelständischen Unternehmen oder Konzernen, welche von Service Mitarbeitern und ähnliche genutzt werden, steht die Funktionalität mehr Vordergrund, als eine super schnelle Ladezeit.

Fazit

Immer mehr Unternehmen setzen auf App Entwickler. Denn diese sind spezialisiert auf die Programmierung von Mobilen Anwendungen.

Dabei kann man entweder auf spezialisierte Android oder/ und iOS Experten setzen. Oder auf Cross Plattform Spezialisten welche mit Frameworks wie Ionic, React Native oder Flutter arbeiten.

Was sind Ihre Erfahrungen?

Interessante Links:

Was macht ein App Entwickler? Mehr auf dem get in IT Blog

Das Job Profil eines App Developers

Bilder: Freepik


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

Schreibe einen Kommentar