Dein letzter Login ist schon eine Weile her.

Bitte überprüfe, ob alle Angaben in Deinem Profil noch aktuell sind.


23.03.2018
von Jan-Dirk
in IT-Talents

Programmiersprache für die Entwicklung von Android Apps

x
Für Unternehmen:
IT-Nachwuchs kennenlernen!
Jetzt starten

Lesezeit: ca. 3 Min.

Bewerten

Themen auf dieser Seite:

Diese Programmiersprachen kann/sollte man für die Entwicklung von Android-Apps nutzen.

Aktuell bietet sich eine große Bandbreite an Programmiersprachen, die sowohl für die Erstellung von Android-Apps gedacht sind als auch vom Hersteller Google unterstützt werden. Die bekannteste und am häufigsten verwendete Sprache ist definitiv Java. Die vollständige Integration in die Entwicklungsumgebung von Google und die Möglichkeit, ebenso die bekannte IDE Eclipse zu verwenden, machen Java zusammen mit der einfachen Syntax und dem umfassenden Framework so populär. Aber es gibt Alternativen.

Java ist der Platzhirsch

Ähnlich wie die Java Virtual Machine auf Desktop-Geräten wandelt die Dalvik Virtual Machine auf Android-Geräten Java Code in Bytecode um, welcher dann vom jeweiligen Prozessor interpretiert wird. Ab Version 5.0 Lollipop wurde die DVM durch eine Android Runtime ersetzt. Im Gegensatz zu der Just-in-time Kompilierung der virtuellen Maschine wird nun direkt auf den Befehlssatz des jeweiligen Prozessors kompiliert. Vorteile sind neben der geringeren Prozessorlast auch der schnellere Start von Apps, da nur einmal der Binärcode erzeugt wird und nicht, wie bei einem JIT-Compiler, bei jedem Aufruf.

Kotlin ist in Android Studio integriert

Google präsentierte auf seiner letzte Entwicklerkonferenz I/O die vollständige Integration von Kotlin in Android Studio und dessen Framework. Kotlin ist kompatibel mit Java, das bedeutet, dass Java Code problemlos in Kotlin-Projekte eingebunden und verwendet werden kann. Trotz der jungen Vergangenheit erfreut sich Kotlin wachsender Beliebtheit. Allerdings sind Beispielcode und Referenzen deutlich spärlicher gesät, als das bei Java der Fall ist. Die offizielle Dokumentation hilft dir, einen Überblick über die Sprache zu erhalten und kleinere Probleme zu lösen.

C und C++ sind mit Anpassungen möglich

Für Personen, die deutlich näher an die Hardware und weitestgehend auf vorgefertigte Funktionen von Google verzichten wollen, eignet sich C++. Auch diese Sprache wird von Android Studio unterstützt, erfordert allerdings das Einbinden von externen Komponenten. Das Android Native Development Kit zusammen mit dem externen Build-Tool CMake und dem Debugger für nativen Code, LLDB, ermöglichen erst das Arbeiten mit C bzw. C++.

C# über Xamarin

Das Framework Xamarin schafft die Voraussetzungen, C# zusammen mit Visual Studio für die App-Entwicklung zu verwenden. Aufgrund der nötigen Einbindung diverser Xamarin-Libraries fühlt sich das Programmieren doch sehr nach Java an, da diese die Schnittstellen des Android-Frameworks nachbilden. Der Aufbau einer App-Oberfläche über XML-Dateien ist identisch, ebenso wie das nötige Überschreiben von Activity-Methoden und fremden Klassen.

Vorstellung der Sprachen und ihre Vor- und Nachteile

Java spielt auch im Android-Umfeld seine Stärken aus. Die Kombination aus einfacher Syntax und umfassendem Framework ermöglichen Dir einen schnellen Einstieg. Allerdings unterstützt das Android-Framework noch nicht alle neuen, mit Java 8 hinzugekommenen, Features. Für Event-Handler von UI-Elementen und dem Erweitern von Klassen ist teilweise relativ umfangreicher Boilerplate-Code nötig.

Dieser Aufwand wird mit der neuen Sprache Kotlin, vom bekannten IDE-Hersteller JetBrains, stellenweise deutlich reduziert. Auch wurde die Syntax noch weiter vereinfacht. Bekannte Codekonstrukte wie Switch-Statements werden mit Lambda-Ausdrücken kombiniert, allgemein verwendet Kotlin viele Java 8 Neuerungen standardmäßig. Lästige NullPointer-Exceptions aus Java sind nun Geschichte. Automatische Assertions sichern nämlich zu, dass ein Objekt nicht null sein darf während zusätzliche Syntax-Konstrukte verhindern, dass Methoden eines null-Objekts aufgerufen werden. Alles in Allem viele Verbesserungen, die zu kompakterem Code führen.

In Zeiten der DVM (Dalvik Virtual Machine) war C++ eine echte Alternative zu Java für möglichst effiziente Apps, da dessen Programme zu Binärcode kompiliert werden. Besonders bei rechenintensiven und zeitkritischen Anwendungen ist das von Vorteil, teilweise waren vergleichbare Programme in Java bis zu 100 mal langsamer. Durch die Einführung der Android Runtime hat sich dieser Unterschied drastisch reduziert, in den meisten Fällen liegen heutzutage beide Kandidaten gleich auf. Der Entwicklungsaufwand in C++ ist weiterhin deutlich aufwändiger und komplexer, da das Arbeiten mit Pointern und Referenzen unerlässlich ist und viele Teile des Android-Frameworks nicht benutzt werden können. Dessen Schnittstellen sind nämlich nur mit Java und Kotlin kompatibel.

Mit C# verhält es sich ähnlich wie mit Java. Aufgrund des nicht-offiziellen Xamarin-Frameworks müssen Funktionen allerdings aus den neuesten Android-Versionen erst nachgebaut werden. Daraus ergibt sich eine zeitliche Verzögerung. Da meistens nicht nur für die aktuellste sondern auch für Ältere Versionen entwickelt wird, spielt das jedoch keine große Rolle. Wer sich an die Entwicklung mit Visual Studio und C# gewöhnt hat, wird hier einen schnellen Einstieg finden.

Anwendungsgebiete

Die genannten Hochsprachen Java, Kotlin und C#, sind für effektive Android-Entwicklung geeignet. Für Personen, die sich auf das offizielle Framework stützen und Updates so schnell wie möglich erhalten möchten, sind Java und Kotlin zu empfehlen. C++ wird meist nur noch in einem spezifischen Teil einer App, über den größtmögliche Kontrolle wichtig ist, verwendet. Die gesamte Entwicklung in C++ zu erledigen wäre schlicht zu aufwändig und bringt wenig bis keine Vorteile mit sich.

Empfehlung an Dich

Für einen einfachen Einstieg empfehle ich Dir Kotlin, auch wenn Du bereits Erfahrung in Java hast. Kürzerer und verständlicherer Code, aufgrund einiger Syntax-Neuerungen, zusammen mit der Interoperabilität mit Java und der guten Integration in Android Studio macht Kotlin zur für mich favorisierten Sprache.

Aktuelle Aktionen:

IT-Stipendium November 2020

1200€ Förderung für IT-Talente!


Sei dabei und sichere Dir beim IT-Stipendium November 2020 bis zu 1200€ Förderung.
Jetzt bewerben!

IT-Stipendium November 2020 NRW

Stipendium für Informatiker aus NRW


Sei dabei und sichere Dir beim IT-Stipendium November 2020 bis zu 1200€ Förderung.
Jetzt bewerben!

IT-Talents ist ein Netzwerk nur für IT'ler. Auf unserer Plattform kannst Du Dich als registriertes Mitglied mit wenigen Klicks auf die Jobs unserer Partnerunternehmen oder auf IT-Projekte für Studierende bewerben. Darüberhinaus führen wir Wettbewerbe durch und vergeben IT-Stipendien.

Jetzt Mitglied werden.

Verwandte Artikel

Was ist Ruby?

02. May 2020 in IT-Talents

Ruby ist ein objektorientierter Programmierspracheninterpreter, der vom Programmierer Japaner Yukihiro "Matz" Matsumoto…

weiter

Was ist ABAP?

09. May 2019 in Software

Mit ABAP hat SAP eine Programmiersprache für alle seine Anwendungen im SAP-Produktbereich entwickelt, die proprietär i…

weiter

Was ist Funktionale Programmierung?

12. Sep 2018 in IT-Talents

"Mit funktionaler Programmierung ein besserer Entwickler werden". Viele Artikel rufen aktuell dazu auf, der…

weiter

Der Assembler Befehlssatz

03. Aug 2018 in IT-Talents

Assembler ist bekannt als wohl die ursprünglichste aller Programmiersprachen und wird häufig synonym mit "…

weiter

Die 5 besten IDEs die jedes IT-Talent kennen sollte

02. Aug 2018 in IT-Talents

Eine integrierte Entwicklungsumgebung (IDE) ist eine Anwendung, welche die Entwicklung von Anwendungssoftware…

weiter

Was ist JavaCC und Java?

31. Jul 2018 in IT-Talents

Java wird zur Kompilierungszeit zu einem "Bytecode" kompiliert. Dies steht im Gegensatz zu einer Sprache wie C, die zur…

weiter

Wie funktioniert das mobile Internet?

16. Jul 2018 in IT-Talents

Seit dem ersten Handy-Telefonat haben wir einen langen Weg zurückgelegt, aber viele Menschen machen sich nur selten …

weiter

Diese 10 Programmiersprachen sind bei Arbeitgebern gefragt

17. May 2018 in IT-Talents

Die Digitalisierung stellt zahlreiche Unternehmen vor erhebliche Herausforderungen. Denn um den digitalen Wandel zu…

weiter

Schnell-Login für unsere Mitglieder

Tipp: Halte Dein Profil aktuell.

Lass' uns wissen, falls sich etwas Neues bei Dir ergibt.

Tipp: Vervollständige Dein Profil für noch bessere Karrierechancen.

Bist Du Schüler, Student oder bereits berufstätig? Teile uns Deinen aktuellen Status mit, damit wir Dir sinnvolle Aufgaben anbieten können.

Jetzt Status angeben

Wann stehst Du der IT-Branche zur Verfügung?

Bitte Monat und Jahr angeben.

{{ perspectiveForm.availableFrom.$error.dynamic }}

Neuer Versuch

Wo möchtest Du durchstarten?

{{ location.geolocation.name }}×
Bitte mindestens ein Ort angeben.

Als {{currentUser.status.title}} bist Du bereit für:


Lade Beschäftigungsarten

Bitte wähle den Zeitpunkt, Ort und min. eine Beschäftigungsart aus.

You have voted!
Schliessen
Vote for:
stars
Vote
You have not rated!