Was die Bibliotheken angeht würde ich da nur die Einschränkung machen, dass es freie Bibliotheken sind. Also die Play-Services kommen da nicht in Frage, da TV-Browser in zwei Geschmacksrichtungen kommt, einmal für Google PlayStore und einmal als freie Variante, die ohne die Beachtung der schwachsinnigen Regeln Googles auskommt. TV-Browser muss also auch laufen, wenn die Google-Apps nicht auf dem System installiert sind. Tests habe ich nie benutzt, geht auch ohne, den Aufwand die hinzuzufügen kann man sich hier sparen. TV-Browser ist keine Software für ein Airbag-Steuersystem oder eine Raumsonde, bei der sämtliche Fehler von vornherein ausgeschlossen sein müssen. Wenn es Fehler gibt, kann man die auch noch im Nachhinein beseitigen.
Kotlin kommt einfach nicht in Frage, habe mich mir angesehen, die Notation ist potthässlich und was ist eigentlich so schlimm am Semikolon und an
null
-Werten?:
vs. Java-Code:
Warum alles anders herum? Die C-Notation ist logisch an eine mathematische Funktion angelehnt, das Ergebnis steht in der Regel links
f(x)=
, die Variablen dann auf der rechten Seite
2x² + x/2 +1
. Diese Notation ist für mich der Dealbreaker von Kotlin, wäre das anders herum und ohne diese zusätzliche Schlüsselwort
fun
hätte ich mich damit vielleicht anfreunden können, so aber nicht da komme ich mir vor wie auf dem Jahrmarkt
Spaß add(x: Int, y: Int): Int {
.
Sollte die einzig unterstützte Sprache Kotlin sein, dann wird TV-Browser für Android einfach eingestellt und fertig (vielleicht aber auch nicht, das würde sich dann zeigen, falls es soweit sein sollte). Ist aus meiner Sicht aber eher unwahrscheinlich, denn dann würden etliche Projekte plötzlich nur noch mit großem Aufwand kompatibel zu machen sein. Aktuell ist es ja so, dass man einfach eine Klasse in Java und die nächste in Kotlin programmieren kann. D.h. bestehende große Projekte haben einen Mischcode, neue Sachen sind in Kotlin, alte in Java. Es ist Zeitverschwendung die alten Sachen umzuprogrammieren, nur um dieselbe Funktion wiederherzustellen. Letztendlich kommt dort meine Reaktanz durch (ist mir bewusst, dass das eine Schwachstelle ist), warum sollte ich Kotlin nehmen, wenn Java auch geht? Da TV-Browser für den Desktop auch in Java programmiert ist, muss ich dann nicht zwischen den Sprachen hin- und herwechseln.
Im Endergebnis kommt bei beiden Sprachen Java-Bytecode heraus. Warum überhaupt eine Vorgabe für die Programmiersprache machen? Auf anderen Systemen hat man freie Wahl, ob C, C++, Java, Python oder Kotlin ist egal, man nimmt einfach das, was gefällt oder für das Projekt am besten geeignet ist.
Die aktuelle Nutzerbasis liegt bei um die 15.000 auf Android.
Die Aufgabe bestünde letztendlich darin, TV-Browser so wie er aktuell aussieht und funktioniert mit neueren System kompatibel zu machen und die dämlichen Google Entwicklerrichtlinien einzuhalten, was fast nicht möglich ist. Der EPGpaid-Zugang ist beispielsweise so wie er aktuell in der App funktioniert nicht zulässig, weil Google die Richtlinien, meiner Meinung nach unter Ausnutzung einer marktbeherrschenden Stellung, so geändert hat, dass alles was in einer App käuflich zu erwerben ist über den PlayStore abgerechnet werden muss und keine Links zu alternativen Zahlungsmöglichkeiten zulässig sind. EPGpaid kann man aber auch für die Desktop-Version erwerben und dann die Zugangsdaten auch unter Android nutzen, warum sollte ich hier den Nutzer ein zweites Mal zahlen lassen, nur damit Google auch noch was vom Kuchen abbekommt?
EDIT: Ich habe da noch eine Änderung an der ich gearbeitet habe, nämlich eine bessere Senderauswahl, das müsste ich eigentlich so oder so noch fertig machen.