Was ist das empfohlene Widget-Toolkit für Ubuntu Desktop?


10

Nach meinem Verständnis werden Qt - C ++ und QML - oder HTML5 zum Schreiben von Ubuntu for Phones-Anwendungen empfohlen.

Korrigieren Sie mich auch, wenn ich falsch liege, aber Python ist die bevorzugte Sprache für Ubuntu Desktop. Bedeutet das Python 3?

Ich kann jedoch keine Dokumentation finden, aus der hervorgeht, welches Widget-Toolkit, GTK + oder Qt, bevorzugt wird. Welche Version / Generation davon wird zusätzlich empfohlen? Ich weiß nichts über aktuelle Qt-Versionen, aber ich weiß, dass GTK + 2 und GTK + 3 unterschiedlich sind und sich vom Code unterscheiden. Bin ich davon ausgehen , dass , wenn die bevorzugte Toolkit ist GTK +, wir reden über GTK + 3?

Diese Seite gibt an, dass PyGTK empfohlen wird. Ich kann jedoch nicht genau sagen, was dies bedeutet - bedeutet dies, dass Python empfohlen wird, GTK + empfohlen wird oder beides, wenn PyGTK für GTK + -Bindungen verwendet wird?


3
Ich persönlich bin der Meinung, dass Antworten auf diese Frage ihre Quellen erwähnen sollten.
don.joey

Antworten:


7

Die Zukunft: Nichts wurde offiziell erklärt. Canonical verfolgt jedoch eine konvergente Strategie für sein Ubuntu-Betriebssystem. Dies deutet darauf hin, dass in Zukunft das SDK, das die QML-Sprache (wie Javascript) und das Qt-Toolkit verwendet, die bevorzugte Wahl für die Entwicklung mehrerer Plattformen sein wird. Das SDK sollte es einer Anwendung ermöglichen, auf viele Formfaktoren zu skalieren. Es ist auch wichtig zu beachten, dass Mir , der neue Compositing-Fenstermanager, den sie entwickeln, standardmäßig Qt-Bindungen hat.

Derzeit: Aus heutiger Sicht wird die Entwicklung auf dem Desktop von nahezu jeder gewünschten Sprache und jedem gewünschten Toolkit unterstützt. Canonical empfiehlt jedoch GTK + 3.0 und python2.7 für Anfänger (obwohl in alten Dokumenten pygtk gesagt wird, ist es wirklich pygi - auch bekannt als Python mit Gobject-Introspektion). Die Standardpython in Ubuntu ist 2.7, nicht 3.0 . Sie haben ein Tool für Entwickler namens "schnell" erstellt, mit dem Sie Ihre App einfach entwerfen, codieren, verpacken und verteilen können. Standardmäßig hängen Apps von pygi (GTK3) ab und die Benutzeroberfläche ist mit Glade gestaltet.

Eine Sache, die Sie bei GTK3 und pyGI vielleicht bemerken werden, ist, dass es noch nicht viele gute Dokumentationen dafür gibt. Hier ist ein kleiner Einstieg, aber es fehlen viele Dinge. Ich finde, dass ich durch einige Experimente viele der C ++ Gtk-Dokumente und die Seed-Dokumente in die entsprechenden Funktionen in Python übersetzen kann. Wenn ich herausfinden kann, wie es mit dem alten pygtk geht, ist es im neueren pyGI oft nicht allzu unterschiedlich. Schließlich können Sie jederzeit auf AskUbuntu oder StackOverflow posten, um Hilfe von der Community zu erhalten.

Schließlich verfügt Ubuntu über einige spezifische APIs für die Interaktion mit Unity. Schauen Sie sich die Entwickler aus Ressourcen - Seite für weitere Informationen.


1
Bitte aktualisieren Sie diese Antwort
Tachyons

Ist Mir nicht ein Anzeigeserver, kein Fenstermanager?
strugee

2

Was ich verstehe ist, dass beide empfohlen werden, GTK + und Python, wobei PyGTK für Bindungen verwendet wird. GTK + ist immer noch das Haupt-Toolkit, das in der Unity-Oberfläche verwendet wird. Python ist eine sehr einfache und leistungsstarke Sprache, und die Integration in Unity ist auch in Python einfach.


0

Das Ubuntu SDK wird empfohlen, wenn Sie auf die Ubuntu-Plattform abzielen möchten. Wenn nicht, schreiben Sie Ihre Software in einer beliebigen Sprache Ihrer Wahl.


-1

Ubuntu empfiehlt jetzt das Ubuntu-Toolkit. Es basiert auf qt quick2. Die in diesem Toolkit geschriebenen Apps unterstützen alle Ubuntu-Geräte. Python und GTK werden für Desktop-spezifische Anwendungen verfügbar sein


Downvoting, bis Sie erklären, was "Ubuntu Toolkit" und "qt quick2" sind, oder zumindest Links geben.
strugee
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.