Ich freue mich darauf, eine Desktop-Anwendung mit Python zu entwickeln. Ich bin ein Anfänger und ich habe keine ausreichenden Kenntnisse in Python. Ich bin auch ein Java-Programmierer. Obwohl ich Erfahrung im Erstellen von Benutzeroberflächen mit Swing habe, sehe ich, dass auf Swing entwickelte Apps zu langsam sind. Nun, dies könnte ein Grund sein, warum viele der Hauptimplementierungen in C / C ++ wie in Browsern / Spielen durchgeführt werden.
Das Entwickeln einer Benutzeroberfläche in C ++ ist möglicherweise eine bessere Option, aber ich bevorzuge die Verwendung einer höheren Programmiersprache als C / C ++. Daher habe ich mich für Python entschieden, vorausgesetzt, es würde eine gute Leistung gegenüber Java Swing erbringen, da Python selbst nativ auf C / C ++ aufbaut.
Kann ich mit dieser Annahme weitermachen, dass Python besser als Java Swing ist, um eine Benutzeroberfläche zu entwickeln? Oder schlagen Sie eine Sprache vor, die besser als Python ist, um Benutzeroberflächen zu entwickeln? Wenn ich überhaupt mit Python weitermache, welches Toolkit sollte ich mit Tkinter oder wxPython verwenden und warum?
quelle
Antworten:
Ich habe gerade mit der Entwicklung einer Windows-Desktop-App unter Verwendung von Python begonnen. Ich benutze PyQt .
Es ist sehr einfach zu installieren und in Betrieb zu nehmen. Das Tutorial hier: http://zetcode.com/tutorials/pyqt4/firstprograms/ zeigt, wie einfach ich den Code zeigen werde:
Das öffnet dir ein Fenster.
Ich habe Python / PyQt gegenüber C # / WPF gewählt, weil ich Python lernen möchte und mein Arbeitgeber mir die Zeit gibt.
Mein Manager hat PyQt mir gegenüber anderen Frameworks empfohlen, da es seiner Erfahrung nach einfacher zu verwenden ist.
quelle
Wenn Sie eine native GUI für Windows oder OSX entwickeln möchten, empfehle ich die Verwendung von Tkinter (dh der GUI-Bibliothek Tk mit Python-Kleidung), da Sie damit dem nativen Look viel näher kommen als mit wxPython (wxWidgets für Python). . Ich finde es nicht einfach zu quantifizieren, aber für mich sind die Windows- und OSX-Screenshots . YMMV. Ich weiß, dass Tk ( wichtig: mit dem Ttk-Widget-Set) sehr stark einheimisch aussieht.
Wenn Sie für Linux entwickeln ... kann ich nicht wirklich ehrlich voneinander raten, da ich den Überblick darüber verloren habe, wie die derzeitige bevorzugte Plattform aussieht. :-)
quelle
Ich würde sagen, es ist eine gute Wahl, wenn Sie Python bereits kennen und mögen. Verwenden Sie andernfalls die Sprache, die Sie bereits kennen, nämlich Java. Die einzige Ausnahme ist, wenn es sich um ein Lernprojekt handelt. In diesem Fall würde ich empfehlen, Erfahrungen mit anderen Sprachen zu sammeln.
Mein Punkt hier ist, dass Python nicht wirklich besser oder schlechter als Java für UI-Anwendungen ist. Verwenden Sie also jedes Tool, mit dem Sie gerne arbeiten.
quelle
Der einzige wirkliche Ratschlag, den man bei Fragen wie diesen geben kann, lautet: "Probieren Sie es aus und sehen Sie, ob es Ihnen gefällt" - die Meinungen anderer Leute zu Programmiersprachen (insbesondere zu den geliebtesten oder am meisten gehassten Sprachen) sind selten viel wert .
Allerdings sind meine 5 Cent wert - für schnelle und einfache Windows-GUIs funktioniert die Kombination aus Python und wxWidgets sehr gut. Aber wie gesagt, probieren Sie es selbst aus - Sie können in ungefähr einer Stunde etwas Einfaches, aber Nützliches zusammenstellen, auch ohne viel Python-Erfahrung (ich habe mit Sicherheit nicht viel).
quelle
Für den Fall, dass jemand über eine Suchmaschine hierher kommt: Mit dem PAGE-Generator können Sie schnell einige Tkinter-Beispiele erstellen. Es generiert einen anständigen Code, der Ihnen eine Vorstellung davon gibt, was erforderlich ist, um dahin zu gelangen, wohin Sie möchten. Es erfordert definitiv, dass Sie sich mit der Allgemeinheit abfinden, wie der Autor feststellt, aber für jemanden, der das Wasser testen oder einen allgemeinen Eindruck davon bekommen möchte, wohin es geht, ist es ein gutes Werkzeug. SEITE auf SourceForge .
quelle
Ich denke, bestimmte Arten von Anwendungen lassen sich in Python ziemlich gut verwalten.
Zum Beispiel ist Task Coach in Python / wxPython geschrieben. Sie verwenden einen Python2exe-Compiler wie py2app, py2exe usw., um plattformübergreifende, nativ aussehende ausführbare Dateien zu erstellen.
quelle
Wenn Sie sich auf die Entwicklung im Windows-Ökosystem beschränken und Visual Studio verwenden möchten, sollten Sie Iron Python in Betracht ziehen. Iron Python ist Python plus .NET-Objekte.
quelle