Android

Schon beim Thema iOS-Entwicklung ist klar, welches unglaubliche Potenzial in der App-Entwicklung steckt. Der Android-Markt ist mehr als doppelt so groß - damit ist Android das meistgenutzte Betriebssystem der Welt, das bereits im Mai 2017 die Marke von 2 Milliarden Nutzern überschritt. Die Anzahl von möglichen Neukunden in diesem Markt wächst weiterhin rasant.

Tell us what you are working on and how a Android freelancer can support you!

Contact a Android expert now!

Please wait...

Wobei kann dich ein Android-Entwickler unterstützen?

Die meisten Android-Apps werden für mobile Geräte wie Smartphones oder Tablets entwickelt. Wir beleuchten neben der aktuellen Entwicklung auch einige Trends und Technologien der kommenden Jahre.

Entwicklung von Apps mit Java und Kotlin - Sowohl mit Java als auch Kotlin lassen sich voll funktionsfähige Android-Apps entwickeln. Auf die Vor- und Nachteile jeder Sprache gehen wir im nächsten Kapitel ein.

Android Expertise - Ein Android-Freelancer kennt sich bestens mit Android Studio + SDK Tools, Java, Kotlin, XML, Datenbanken und APIs aus.

Erweiterte Funktionalität - Plugins, Libraries und Frameworks gehören ebenfalls zum Skillset eines Android-Developers, z.B. das Google Play Services Plugin (GPS) für Google Maps oder Google Drive Funktionalität, die Android Support Library oder Android Frameworks wie React Native oder Flutter für Cross-Plattform-Entwicklung und Hybrid Apps.

Android Instant Apps - Damit ermöglicht man interessierten Nutzern, eine App auszuprobieren, ohne sie installieren zu müssen. Die Einstiegshürde verringert sich, und somit werden mehr Nutzer und potenzielle Kunden angelockt.

Künstliche Intelligenz (KI) & Machine Learning (ML) - Durch KI wird das Engagement des Nutzers (User Engagement) und das Nutzererlebnis (User Experience) verbessert. Apps können sich mit Nutzern auf einer tieferen Ebene verbinden, da sie zunehmend besser interagieren können, ein wenig so wie Siri oder Alexa. Sie lernen bei jeder Interaktion etwas dazu. 

IoT oder auch das Internet of Things ist eines der ganz starken Trends für die Zukunft, von Smart Homes to Smart Cities bis hin zum Industrial IoT - die Nachfrage wird stark ansteigen!

Soll ich auf Kotlin oder Java setzen?

Kotlin und Java sind zwei unterschiedliche Sprachen für die Android Entwicklung. 
Kotlin ist eine relativ neue Sprache, die von der Firma JetBrains entwickelt und 2017 von Google als offizielle Sprache für die Android-Entwicklung ausgewählt wurde. Java existiert bereits seit 1995, hat dementsprechend eine große Basis von Entwicklern aufgebaut und ist hoch im Kurs bei Android Entwicklern. Schauen wir uns die Vor- und Nachteile der beiden Sprachen in Bezug auf Android an:

Vorteile von Java

  • Wichtige Bestandteile von Android sind in Java geschrieben und hat die Java Virtual Machine (JVM) übernommen
  • Das Android SDK enthält viel Standard-Java-Bibliotheken
  • Java ist grundsätzlich einfach zu lernen und zu verstehen
  • Java hat ein großes Open-Source-Ökosystem
  • Java Apps sind kompakter als Kotlin Apps
  • Schnellere Geschwindigkeit bei der Entwicklung durch schnelleren Build-Prozess als bei Kotlin

Nachteile von Java

  • Java hat Einschränkungen, die Probleme mit dem Android API Design verursachen
  • Als umfangreiche Sprache erfordert Java das Schreiben von mehr Code, was ein höheres Risiko für Fehler und Bugs mit sich bringt
  • Java ist im Vergleich zu vielen anderen Sprachen langsamer und benötigt viel Speicher

Vorteile von Kotlin

  • Kotlin ist viel prägnanter als Java und verringert die Anzahl von Code, was ebenfalls die Wahrscheinlichkeit von Fehler und Bugs reduziert
  • Es löst bestimmte Herausforderungen für Entwickler die in Java existieren (wie z. B. die Aufnahme von “null” als Type)
  • Der Wechsel von Java zu Kotlin ist leicht
  • Kotlin ist vollständig kompatibel mit Java
  • Kotlin eignet sich für die Multiplattform-Entwicklung
  • Es ist einfacher und sicherer damit Android Apps zu entwickeln, denn u.a. durch ihr Design ist sie effektiver als Java

Einer von Kotlins Hauptvorteilen: Unterstützung für Multiplattform-Programmierung (kotlinlang.org)

Nachteil von Kotlin

  • Als Sprache mit prägnanter Syntax ist die Lernkurve ziemlich steil
  • Langsamere Kompiliergeschwindigkeit
  • Auch wenn die Sprache rasch an Anhängern gewinnt, gibt es weniger Experten im Markt, was auch an der jungen Historie der Sprache liegt
  • Ebenso wie die Experten sind auch die Ressourcen knapper, Kotlin zu lernen

Fazit

Wie so häufig kommt es auf den speziellen Fall an. Auch wenn Kotlin die offizielle Sprache für Android Apps ist, wird sie Java nicht vollständig ersetzen. Die Multiplatform-Unterstützung ist einer der Hauptvorteile von Kotlin und sollte wenn es darum geht in Betracht gezogen werden.

Wie läuft ein Android-Projekt ab?

1. Konzeption und Planung
Hier besprichst du mit dem Freelancer die genauen Anforderungen - was genau soll umgesetzt werden und wie ist der grobe Zeitplan? 

2. Prototyping
Wenn du bisher nur eine Idee hast, designt und konzipiert der Android Entwickler die Anwendung, App oder Features und erstellt einen ersten Prototypen mit seinen grundlegenden Funktionen. Anschließend hast du dann die Möglichkeit, nochmal Änderungswünsche einfließen zu lassen. 

3. Umsetzung
Seid ihr beide zufrieden mit dem vorherigen Ergebnis, geht es in die Produktion. Du wirst dabei über den Projektfortschritt informiert oder der Android-Freelancer meldet sich bei dir, wenn Herausforderungen auftreten.

4. Testing + Feedback
Schließlich durchläuft das fertige Produkt die Testphase. Das ist auch der Moment für Feedback - das gilt für dich als auch den Freelancer.

Hybride vs. native Appentwicklung für Android

Wenn du dich fragst, ob du deine App nativ oder doch lieber durch einen hybriden Ansatz à la React Native oder Flutter entwickeln solltest, helfen dir folgende Punkte zu einer besseren Entscheidung.

Hybride Entwicklung

Die hybride Entwicklung lockt mit mehreren Vorzügen:
  • Single Code Base - wenn man mit seiner App sowohl iOS- als auch Android-User erreichen will, ist die Entwicklung mit einer einzigen Codebasis und in einem Entwicklungszyklus ein entscheidender Vorteil gegenüber nativen Apps.
  • Geringere Kosten - Durch die einzige Codebasis sinkt natürlich die Entwicklungszeit und dadurch auch die Kosten. Tendenziell sind Entwickler für hybride Frameworks auch einfacher zu finden und günstiger als Entwickler, die sich auf native Android-Entwicklung fokussieren.
  • Einfachere Entwicklung und Testing - Das Entwickeln und Testen von neuen Features ist bei der hybriden Entwicklung bedeutend einfacher, da nicht auf Feature-Parität bzw. gleiche Testabdeckung in separaten Codebases geachtet werden muss. Somit gewinnt man auch Zeit und ist schneller am Markt durch verkürzte Time-to-Market (Vorlaufzeit).
  • Einfachere Wartung - Auch die Updates der App können jederzeit passieren und müssen in den meisten Fällen nicht auf die Zustimmung des App Stores warten. So lassen sich neue Features auf existierenden Apps oder Anwendungen leichter entwickeln und deployen.
  • Flexibilität - Da die Entwicklung nicht zwingend mit Java oder Kotlin erfolgen muss, hat man beim hybriden Ansatz mehr Flexibilität bei der Wahl der Programmiersprache.

Native Entwicklung

  • Bessere Performance - dadurch, dass bei nativen Apps keine Übersetzung des Codes erfolgen muss, bieten sie tendenziell mehr Schnelligkeit und geschmeidigere Animationen und Übergänge.
  • Höhere Sicherheit - es ist sehr viel einfacher, eine hohe Sicherheit bei einer nativen Android App zu garantieren. Dies ist besonders im Enterprise-Sektor von Vorteil, da oft sensible Daten zum Einsatz kommen und die Sicherheitsanforderungen sehr hoch sind.
  • Native Funktionalitäten - Alle Features des Geräts, z.B. Kamera, Bewegungen, Fingerabdrucksensor etc. können von nativen Apps im Gegenteil zu hybriden Apps voll genutzt werden, ohne dass auf externe Plugins zurückgegriffen werden muss.
  • Bessere User Experience - Die ganze User Experience ist der von hybriden Apps überlegen, da automatisch die UI-Elemente und -Standards von Android genutzt werden, was bei hybriden Apps nicht der Fall ist.

Fazit

Zusammenfassend kann man sagen, dass es sowohl für hybride als auch native Apps "Sweet Spots" gibt, d.h. Anwendungsfälle, bei denen die Vorteile des einen Ansatzes klar überwiegen.
Die hybride Entwicklung ist definitiv der bessere Weg, wenn eine vergleichsweise einfache App entwickelt werden soll, oder ein MVP, bei dem es noch nicht klar ist, ob wirklich viele Nutzer angelockt werden können. Darüber hinaus sind ein beschränktes Budget oder Entwicklungszeit Faktoren, die die hybride Entwicklung als bessere Option herausstellen.
Native Apps bieten sich vor allem an, wenn die resultierende App eine gewisse Komplexität beinhalten wird und wenn die App garantiert viele Nutzer haben wird. In dem Fall ist nämlich der Fokus auf der User Experience stärker, welche bei nativen Apps tendenziell besser ist. Am Ende des Tages geht es darum, gute Produkte anzubieten, und bei Apps geht es primär um das positive Nutzererlebnis.