Ich bin jetzt alt genug, um einige wirklich coole Dinge kommen und wieder gehen zu sehen.
Nicht lange nachdem ich vor rund 30 Jahren in die kommerzielle Software-Entwicklung einstieg, war Adobe (damals Macromedia) Flash das einzige Tool, um wirklich interaktive und ansehnliche Oberflächen zu gestalten. Ich habe Flash gehasst, nicht wegen des obligaten Plugins, sondern weil ich Zeitleiste nicht verstanden habe. Eine Metapher in der Entwicklung, die ich auch heute nicht verstehe - warum gibt es Events?
Als dann aber Flex (Flash for Enterprise) auf dem Markt kam, war die Zurückhaltung verflogen. Mit einer deklarativen Auszeichnungssprache (MXML), einer objektorientiertem Sprache für die Oberflächen-Logik (ActionScript 3) und Styling in Form eines adaptierten CSS war alles da, um gute Oberflächen für Browser und mittels Adobe Air auch für den Desktop zu erstellen. Es gab eine IDE, Compiler, Debugger und sogar ein round-trip Code-Design-Tool namens Catalyst.
Ich stieg also folglich voll in die Technologie ein, die in den ersten Versionen noch als serverseitige Anwendung für $ 15.000 per CPU vorlag, und besuchte als freier Adobe Evangelist etliche Java User-Gruppen, um eine Alternative zu Swing etc. vorzustellen.
Ich schrieb mehrere große Anwendungen mit Flex als UI-Technologie und wenn ich sehe, wie mühsam heute HTML Oberflächen mit den aktuellen JS-Frameworks umgesetzt werden, war Flex seiner Zeit viele, viele Jahre voraus.
Der Tag, an dem Steve Jobs das aus für Flash auf dem iPhone verkündete, war der instantane Tod für die ganze Flash-/Flex-Technologie. Das Ende der Geschichte: Heute hat Flex auf dem "Apache Friedhof" seine letzte Ruhe gefunden.
Das saß und ich habe mich nie wirklich für Vue / React / Angular / Svelte und wie sie alle heissen begeistern lassen. JavaScript ist nicht meine Sprache und ich lasse es am liebsten weg.
Wenn ich heute Oberflächen schreibe, dann mache ich es schon fast klassisch: HTML mit Bootstrap, Wenn ich heute Oberflächen schreibe, dann mache ich es schon fast klassisch: HTML mit Bootstrap, und damit es etwas interaktiver wird nehme ich HTMX dazu. HTMX ist insofern toll, weil man mit ein paar deklarativen Tags jede Menge JavaScript Effekte und Funktionen haben kann, ohne JavaScript überhaupt zu Gesicht zu bekommen.
Und für Desktop Anwendung bin ich großer Fan von JavaFX geworden. Aber das ist schon wieder so eine Technologie, um deren Lebenszyklus ich mir Gedanken mache. JavaFX war einst als Swing Ersatz Teil der klassischen Java Distribution, flog aber dann aus irgendwelchen Gründen raus und wird heute als teils OpenSource, teils kommerzielles Produkt von weiter entwickelt. Das ist gut, aber, dass eine Veröffentlichung als OpenSource nicht vor dem Ende schützt, sieht man wiederum gut an der Geschichte von Flex.
Fazit: Wenn man auf eine Technologie setzt, sollte man immer im Blick haben, dass sie von heute auf morgen verschwinden kann. Daher immer eine Alternative parallel lernen, damit man im Fall der Fälle nicht blank da steht.