Android Entwicklung: Java oder Kotlin



  • Hallo zusammen,

    ich überlege seit einiger Zeit an dem ein oder anderen kleinen Hobbyprojekt im Bereich der Android Entwicklung. Mal 'n bisschen mit Bluetooth rum spielen, was im Sportbereich, auf meine Bedürfnisse zugeschnitten, halt Kleinkram und hauptsächlich um mich mal damit zu beschäftigen.

    Jetzt stellt sich mir die Frage: Java oder Kotlin?
    Java konnte ich mal halbwegs, hab ich jetzt aber schon knapp 5 Jahre nicht mehr verwendet. Java nochmal aufzufrischen wäre wahrscheinlich auch 'ne gute Idee, auf der anderen Seite, nochmal eine neue Programmiersprache lernen wäre vielleicht auch nicht schlecht.
    Was sind eure Erfahrungen, falls ihr welche habt, mit Kotlin und Java für App Entwicklung auf Android? Wozu würdet ihr raten?



  • Android ist jetzt Kotlin.



  • @Schlangenmensch
    Aus meiner Sicht ist es egal.

    Du musst dich aber so oder so mit der Android SDK befassen und die hat ihre eigene Fachtermini. Sei es LayoutInflater, Toast, Mockito, Gradle, Intend, Bluetooth Profile, Activity,...



  • Kotlin wird massiv von Jetbrains forciert. Mit IntelliJ kannst du eine Java-Klasse per Mouseclick in Kotlin umwandeln.



  • Gibt sich nicht allzu viel finde ich, von daher Kotlin, denn das wird sich wohl langfristig durchsetzen.



  • Dieses "Null Safety" Konzept finde ich gewöhnungsbedürftig.
    Vom Gefühl her würde ich sagen, ich hatte noch nie diese Probleme mit "null", und selbst wenn, dann waren sie vergleichsweise vernachlässigbar.

    Dafür haben mich die non-null Typen bei Kotlin ziemlich genervt (wobei ich damit nicht wahnsinnig viel gearbeitet habe).

    Mit Kotlin muss man etwas weniger Boilerplate schreiben, als mit Java. Aber Java ist in den letzten Jahren auch ein gutes Stück ausdrucksstärker und eleganter geworden.
    Von daher würde ich persönlich eher bevorzugen, bei Java zu bleiben, und nicht ständig neue Sprachen zu entwickeln, die irgendwas in den Vordergrund drängen, was ziemlich unwichtig ist.
    Aber im Endeffekt nehmen die sich tatsächlich nicht wirklich viel.



  • @Schlangenmensch sagte in Android Entwicklung: Java oder Kotlin:

    Mal 'n bisschen mit Bluetooth rum spielen, was im Sportbereich, auf meine Bedürfnisse zugeschnitten, halt Kleinkram und hauptsächlich um mich mal damit zu beschäftigen.

    Du kommst hier vermutlich in Kontakt mit Bluetooth LE. Und Bluetooth LE ist kein Kleinkram.

    Lies dir mal bitte zum Einstieg die folgende Seite durch:

    Android Bluetooth LE Overview

    Ich bin da anfangs über einige Dinge gestolpert.



  • @Quiche-Lorraine Danke für den Tipp, werde ich mir durchlesen.



  • Ich mag die Grundidee von Kotlin, allerdings passt es nicht so richtig gut in das Java Ökosystem. Hibernate mit Kotlin ist z.B. ein ziemliches Minenfeld (siehe https://kotlinexpertise.com/hibernate-with-kotlin-spring-boot/).

    Damit Kotlin gut funktioniert brauch es zugeschnittene Bibliotheken, und auch wenn Google inzwischen verstärkt auf Kotlin setzt, ist die Chance groß das du auf Teile stößt, die noch nicht schön mit Kotlin verwendbar sind. Für ein kleineres Projekt ist das vermutlich kein Problem, bei größeren würde ich es aber noch nicht einsetzen.


Log in to reply