Welche Programmiersprache ist am besten für GUI Software?

8 Antworten

Ich empfehle dazu den Qt-Creator. Das ist eine komplette C und C++ Entwicklungsumgebung für Windows, Mac und Linux bestehend aus Editor, Debugger, Formdesigner und der plattformunabhängigen Qt-Bibliothek. Damit kann man plattformunabhängig in C und C++ programmieren ohne den Quellcode ändern zu müssen. Das kann man sowohl unter einer kostenlosen Open Source Lizenz lizenzieren oder unter einer kostenpflichtigen propritären Lizenz. Der Funktionsumfang ist bei beiden Lizenzen gleich nur mit dem Unterschied das man bei der propritären Lizenz seinen Quellcode verschlüsseln kann. Hier die benötigten Downloads:

für Windows:

  1. MinGW installieren, 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
  2. Qt-Creator: https://www.qt.io/download Wähle Open Source. Diese Lizenz ist kostenlos. Das Kompilieren wird vom Qt Creator aus gestartet.
  3. Qt Installer Framework, damit kann man sein fertig kompiliertes Programm mit allen benötigten Laufzeitbibliotheken und Frameworks in ein Installationspaket (setup.exe) zu verpacken. Ideal wenn man das Programm weitergeben möchte: https://download.qt.io/official_releases/qt-installer-framework/3.1.1/QtInstallerFramework-win-x86.exe

Nach der Installation muss man im Qt-Creator den Pfad zu MinGW eintragen.

für Mac:

  1. Zuerst muss man die GCC Compiler installieren. Das geht so: In der Kommandozeile brew install gcc4.8 eingeben.
  2. Qt-Creator: https://www.qt.io/download Wähle Open Source. Diese Lizenz ist kostenlos. Das Kompilieren wird vom Qt Creator aus gestartet.
  3. Qt Installer Framework, damit kann man sein fertig kompiliertes Programm mit allen benötigten Laufzeitbibliotheken und Frameworks in ein DMG-Paket verpacken. Ideal wenn man das Programm weitergeben möchte: https://download.qt.io/official_releases/qt-installer-framework/3.1.1/QtInstallerFramework-mac-x64.dmg

Für Linux installiert man die GCC Compiler und den Qt-Creator über die Paketverwaltung der jeweiligen Distribution. Das Qt-Installer Framework gibt es nicht für Linux, dort erzeugt man je nach Distribution mit den Bordmitteln deb oder rpm Installationspakete.

Mit dem Qt-Creator kann man auch Android-Apps programmieren. Dazu muss man nur Android SDK, Android NDK und Java JDK installieren. Android-Studio ist nicht erforderlich. Da der grafische Teil der Android-App mit der Qt-Bibliothek programmiert wird, laufen die Apps auf allen Android-Geräten. Es ist dann völlig egal welcher Prozessor in dem Android-Gerät verbaut ist.

Die Zukunft des Programmierens ist die indem man von Anfang an plattformunabhängig programmiert. Das ist in der heutigen Zeit immer wichtiger.

Google Earth, VLC Media Player und die freie DJ-Software Mixxx wurden mit dem Qt-Creator programmiert. Deswegen war es für die Programmierer leicht das für Windows, Mac und Linux anzubieten.

CodeEXE 
Fragesteller
 01.10.2019, 20:07

Das ist ja geil Danke sowas habe ich gesucht und nicht so ein Müll C# das laggt und nur auf Windows läuft, QT klingt echt frisch , frei und nice werde ich ausprobieren!!

0
regex9  01.10.2019, 20:37
@CodeEXE

Qt, nicht QT (QuickTime).

C# ist nicht nur auf Windows einsetzbar. Wenn eine damit geschriebene Anwendung laggt, würde ich eher den Programmierer (also dich) dafür verantwortlich machen.

0

Ich habe bereits mit Qt als auch mit C# programmiert

Qt ist eine feine Sache und Dank Hardwarenähe von C++ sehr schnell.

C# hingegen ist auf jedem Windowsrechner bereits Installiert und auch für Linux und andere Systeme verfügbar.

Es gibt sogar Möglichkeiten die BenutzerOberfläche mit Html zu schreiben. Das ist meines Erachtens sogar noch einfacher als mit Qt.

...mit C# kannst du keine Video Bearbeitungsprogramme Oder Fotobearbeitungsprogramme erstellen...

Warum sollte man mit C# keine Videobarbeitungsprogramme erstellen können.

Videobearbeitung besteht aus drei Teilen:

  • Vorbereitung/Planung der ausführenden Schritte
  • Fameserver
  • Encoder

Ich verwende noch immer "Avisynth" als Frameserver. (Weil ich es kann...und meine Wysiwyg-Umgebung hinter den Augen liegt)

Die Vorbereitung erfolgt mit einem ganz normalen Editor wie Notepad(++).

Das Encoden läuft über einen Encoder wie ffmpeg oder x264/x265+Muxer.

Dabei führt der Framserver das Avs-Script aus.

Avisynt ist dabei auch fähig Python-Scripte für spezielle Operationen auszuführen, was durchaus langsamer ist als C#. Im Prinzip spielt die Ausführungsgeschwindigkeit der Sprach keine Rolle, da man mehre Jobs Parallel laufen lassen kann.

Wenn du denn Frameserver in C# selbst programmierst ist es nur eine Frage dessen wie Du die Abläufe koordinierst und Tempo in die Sache zu bringen.

...ob du die Planung der Operationen per Script oder per Wysiwyg ausführst spielt keine Rolle.

Was den Encoder betrifft, dürfte es der zweiten Erfindung des Rades gleichkommen, wenn du diesen selbst entwickelst .

Letztlich werden dem Encoder nur die verarbeiteten Einzelbilder vom Frameserver bereitgestellt.

PS: Es gibt sogar eine PSP-Emulator komplett in C# geschrieben.. Für einen Emu braucht man wirklich Speed...

Mit C oder C++ hat man meiner Erfahrung nach, am wenigsten Overhead, und die beste Performance, wobei es auf letzteres ja oft gar nicht so sehr ankommt.

Java mit JavaFX ist zwar hipp, schick und modern, wird aber von Oracle etwas stiefmütterlich behandelt. Swing hingegen ist schon älter, aber ist irgendwie durch nichts unterzukriegen.

Die Dotnet-Sprachen sind mir etwas zu windowslastig, wobei C# recht angenehm ist, aber wenn man moderne Features auf Mono einsetzen will, muss man Jahre lang warten.

Alles in allem mag ich C bzw. nach Möglichkeit C++ in Kombination mit dem nativen GUI-Framework der Plattform am liebsten für kleine Sachen, die schlank und flink sein sollen. Ansonsen FLTK wenn es portabel sein soll, und für größere Sachen lieber gleich von Anfang an Qt oder zur Not auch GTK, evtl. auch in einem Wrapper (siehe wxWidgets).

Für grafisch Anspruchsvolle Sachen missbrauche ich die SDL, auch wenn ich mit Spielen an sich nichts zu tun habe, aber für Molekülsimulationen ist das sehr komfortabel.

Einige der oben genannten Dinge sind vielleicht etwas unüblich oder in Teilen veraltet, aber nach Möglichkeit wähle daraus anhand der aktuellen Anforderungen aus.

Hab in den 90ern auch schon komplette MDI-Anwendungen für Windows in Assembler mit dem extrem verbuggten MASM geschrieben, aber das war nie etwas Ernstes.

Woher ich das weiß:eigene Erfahrung

C++ mit Qt Framework. Funktioniert prima, und die Programme laufen auf Windows, Linux und MacOS.

Woher ich das weiß:Hobby

Das sind zwei Fragen in einer:

Welche Programmiersprache am besten für GUI Softwares?

Bis auf Brainfuck, Mabolge und die ganzen anderern (zumindest die allermeisten) "Esolangs" so ziemlich jede...

Welche Programmiersprache findet ihr am besten für den Bereich GUI-Applikationen

Hauptsächlich: C/C++/C#, Python und Java.

CodeEXE 
Fragesteller
 01.10.2019, 20:32

Mit Pyhton kann man keine Guis erstellen soweit ich weis

0
Crysetz  01.10.2019, 20:35
@CodeEXE

Natürlich kannst du das 😂.. Sogar viel einfacher als in manch anderen Sprachen

0
CodeEXE 
Fragesteller
 01.10.2019, 20:36
@Crysetz

Echt? Hab viel in YouTube gesucht da muss man das GUI selbst programmieren ich glaube nicht das das einfach ist?

0
Isendrak  01.10.2019, 20:36
@CodeEXE

Das heißt also, du hast noch nie was von tkInter, pyGTK, pyQt, usw. gehört?

0
CodeEXE 
Fragesteller
 01.10.2019, 20:36
@Isendrak

Ja aber ist nicht wirklich angenehm das GUI zu coden ich hätte lieber einen Editor

0
Isendrak  01.10.2019, 20:38
@CodeEXE

Kannste haben:

  • pyGTK: Glade
  • pyQt: QtDesigner
  • tkInter: Pygubu
0
Crysetz  01.10.2019, 20:39
@CodeEXE

Naja schwer ist das nicht

Muss man nur lernen, genau so wie du dich in c++ weiter Entwickelst oder welche Sprache auch immer du nutzt

0