Desktop App Entwicklungstrends 2022?
Welche Programmiersprachen und Frameworks sind in der Desktop App Entwicklung im Jahr 2022 am meisten gefragt und hat JavaFX noch Zukunftsaussichten?
2 Antworten
C++ mit dem Qt-Framework. Damit kann man ohne den Quellcode ändern zu müssen Anwendungen für Windows, Mac und Linux entwickeln. Die Zukunft des Programmierens ist die indem man plattformunabhängig programmiert. Das ist in der heutigen Zeit immer wichtiger.
Das ganze geht mit dem Qt-Creator. Das ist eine komplette C++ Entwicklungsumgebung bestehend aus Editor, Debugger, Formdesigner für grafische Programme und dem plattformunabhängigem Qt-Framework. Das enthält Funktionen wie z.B. grafische Programme (dazu wird der Formdesigner verwendet), Multimediafunktionen, Zugriff auf die Schnittstellen (z.B. USB, Bluetooth) und Netzwerkfunktionen. Qt kann man sowohl unter einer kostenlosen Open Source Lizenz lizenzieren oder unter einer kostenpflichtigen propritären Lizenz. Der Funktionsumfang ist bei beiden Lizenzen identisch. Hier die benötigten Downloads:
für Windows:
- MinGW, das sind die GCC Compiler für Windows: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download
- Qt-Creator: https://www.qt.io/download Einfach runterscrollen und dann auf Downloads for open source users gehen. Diese Lizenz ist kostenlos.
- Qt Installer Framework, damit kann man sein fertig kompiliertes Programm in ein Installationspaket (setup.exe) verpacken: https://download.qt.io/official_releases/qt-installer-framework/4.2.0/QtInstallerFramework-windows-x86-4.2.0.exe
für Mac:
- Zuerst muss man sich die Xcode Command Line Tools installieren. Diese beinhalten auch die GCC Compiler.
- Qt-Creator: https://www.qt.io/download Einfach runterscrollen und dann auf Downloads for open source users gehen. Diese Lizenz ist kostenlos.
- Qt Installer Framework, damit kann man sein fertig kompiliertes Programm in eine ausführbare .app zusammenfassen und in ein DMG-Paket verpacken: https://download.qt.io/official_releases/qt-installer-framework/4.2.0/QtInstallerFramework-macOS-x64-4.2.0.dmg
Linux-Nutzer installieren sich die GCC Compiler und den Qt-Creator über die Paketverwaltung der jeweiligen Distro. Das Qt Installer Framework gibt es nicht für Linux, dort erzeugt man mit den Bordmitteln je nach Distro RPM- oder DEB-Programmpakete.
Hier eine Liste von Programmen die mit dem Qt-Creator programmiert wurden. Deshalb war es für die Programmierer leicht das für Windows, Mac und Linux anzubieten weil man beim Portieren den Quellcode nicht ändern musste:
- Skype
- Microsoft Teams
- Discord
- Teamspeak
- Google Earth Pro
- die freie DJ-Software Mixxx
- VLC-Player
- Steam-Client
- Spotify-Software
- die Videoschnitt- und Bearbeitungssoftware OpenShot
- ShotCut
Ist der Discord Desktop Client nicht mit Electron.js geschrieben? Und bei Skype ist meine ich auch nur der Linux Client mit Qt geschrieben.
Auf Wikipedia steht das Qt unter einem dualen Lizenzsystem angeboten wird:
- Open Source (GNU GPL und GNU LGPL) kostenlos
- propritär und kostenpflichtig.
Meiner Ansicht nach ist Qt komplett überholte Client-Server-Technologie.
GUIs werden heute web-basiert erstellt (auf Basis von HTML5, CSS3 und JavaScript).
Oracle (als derzeitiger Inhaber aller Rechte an Java) hat sich 2018 entschieden, JavaFX nicht weiter zu unterstützen. Es ist seitdem nicht mehr Teil des JDKs. Das für JavaFX zuständige Team wurde aufgelöst.
Wie weit JavaFX im Open Source Bereich überleben wird, muss sich erst noch entscheiden. GUIs nur noch auf Basis von HTML, CSS und JavaScript zu implementieren, scheint deutlich sinnvoller zu sein.
QT ist nicht kostenlos also wird es demnächst ersetzt werden durch eine open source lösung... zudem wird mit der durchsetzung von ARM für heim/office-systeme adroid-support immer wichtiger. hier gibt es bereits frameworks aus der spieleentwicklungs-szene, welche eine führende rolle einnehmen könnten, z.b. unity.