Einführung in die Gnome-Entwicklung

Der Gnome Development Builder hilft, Probleme zu lösen und GUIs in Echtzeit zu erstellen. Gnome Builder ist ein solides Ökosystem, das Sie ausprobieren sollten, bevor Sie sich mit etwas anderem befassen. Es gibt Entwicklern mehr Kraft und Flexibilität. Zuvor war die Entwicklung von Gnome-Apps von SUGAR aufgrund der Nichtverfügbarkeit von Python-Bindungen und mangelnder Wartung und Verpackung eingeschränkt.

Lassen Sie uns viel mehr über die Gnome-Entwicklung im Detail lernen:

Hallo Leute. Heute würden wir also über die berüchtigte Gnome-Entwicklung sprechen. Wenn Sie neu in Python und Linux sind, ist dies nicht der perfekte Ort für Sie. Sie müssen zurückgehen und einige Grundlagen klären. Aber wenn Sie ein einfacher Python-Programmierer sind und zumindest wissen, wie man mit Fedora oder Ubuntu arbeitet, dann ist dieses Tutorial genau das Richtige für Sie.

Leute, die einen Hintergrund in anderen Programmiersprachen haben, dieser Blog mag ihnen helfen, aber wenn sie zumindest die Grundlagen richtig kennen, werden sie ein klares Verständnis dafür bekommen, wie genau dies funktioniert. Fangen wir also an?

Gnome-Entwicklung

Das erste, was wir brauchen würden, ist eine stabile Python-Umgebung. Das, das ich benutze und das ich vorschlagen würde, ist Python 2.7. Obwohl heutzutage Python 3.3 oder 3.4 verwendet wird, würde ich die Verwendung von 2.7 vorschlagen, da es immer noch die weltweit am häufigsten verwendete Version von Python ist und extrem stabil und kompatibel ist. Ich dachte, Python 3.4 ist kompatibel, aber es gibt einige Dinge, die Python 3.4 noch kaputt machen, was wir natürlich nicht wollen.

Das zweite wäre ein ordentliches Python GTK. Die aktuellste und stabilste Version ist ab sofort Python GTK +. Bevor Sie fortfahren, müssen Sie jedoch die GNOME-HIG-Richtlinien (Human Interface Guidelines) lesen, in denen erläutert wird, wie Sie mit Hilfe von Python eine effektive Gnome-App erstellen. Aber auch hier, wenn es so einfach wäre, wärst du gar nicht erst hier.

Gnome HIG ist nicht so einfach zu verstehen. Daher werde ich in diesem Blog versuchen, das bestmögliche Verständnis zu vermitteln und es so einfach wie möglich zu gestalten. Aber einmal hast du alles von diesem Blog verstanden und wenn ich alles sage, meine ich es ernst. Nach Abschluss dieses Blogs empfehle ich Ihnen sicherlich, die GNOME Human Interface Guidelines zu lesen.

Zunächst bietet GTK + eine Reihe von Möglichkeiten sowie übliche Entwurfsmuster, um eine effektive Benutzeroberfläche zu erstellen. Unter der Annahme, dass Sie wissen, wie man Python-Dateien erstellt und anruft, werde ich fortfahren. Der Einstieg in Gnome-Apps unter Windows ist denkbar einfach. Da ich ein gutes Verständnis für das Erstellen von Python-GUI-Apps mit pyqt und Tkinter hatte, dachte ich, es wäre einfach, Gnome-GUI-Apps zu entwickeln, aber es war genau das Gegenteil.

Das Schwierigste war, anzufangen. Alle Tutorials, die ich beim Lernen gesehen habe, waren nur ein direkter Einstieg in die Benutzeroberfläche, aber für Anfänger kein einfacher Weg. Es ärgerte mich immer mehr, wie hoffnungslos Codes ich geschrieben hatte, als ich anfing, die Gnome-Benutzeroberfläche zu verstehen. Nach langer Suche habe ich mich schließlich für PyGTK / GTK + und Glade entschieden.

Beide sind plattformübergreifend, daher ist es keine große Sache, sie genau zu bearbeiten, zu installieren und zu kompilieren. Da dies jedoch ein Blog für Anfänger ist, werde ich nicht näher auf Glade und andere Dinge eingehen. Ich würde vorschlagen, mit einem Visual Grep-Tool zu arbeiten, das sehr einfach ist. Als ich lernte, Gnome-Apps zu entwickeln, wusste ich nichts über V-Grep. Aber jetzt habe ich das für Sie vereinfacht. Sie können grep auch von einer Befehlszeile aus verwenden. Aber manchmal braucht man nur etwas Einfaches, anstatt dass es extrem beeindruckend und kompliziert ist.

Empfohlene Kurse

  • Online-Zertifizierungstraining in VB.NET
  • Data Science Zertifizierungsschulung
  • ISTQB-Schulung
  • Professioneller Kali Linux Kurs

Ich kann es nicht einfacher machen, als Albert Einsteins Zitat zu verwenden:

"Wenn du es einem Sechsjährigen nicht erklären kannst, verstehst du es selbst nicht."

Natürlich ist das Zitat ein umfassendes Konzept, aber wir sind nicht hier, um über das Zitat zu sprechen, oder?

Das nächste, was Sie verstehen müssen, ist das IDE-Konzept. Sie würden offensichtlich eine richtige IDE benötigen. Als Anfänger würde ich daher die Verwendung der PyCharm Community Edition empfehlen. Pycharm ist eine integrierte Entwicklungsumgebung, die äußerst robust ist und vollständige Unterstützung für das Vervollständigen von Tabs und Code, das Refactoring und das Debuggen bietet.

Während es andere IDEs wie Adjuta und Eclipse gibt, können sie auch für den GTK + Gnome-Entwicklungsstack verwendet werden, aber keines ist so stark auf die Entwicklung fokussiert wie PyCharm.

GTK3 verwendet introspektive Bindungen, die für einige IDEs problematisch sein können. Aber Pycharm geht mit Charme damit um, indem er ein Skelett erzeugt, das auch als seine Module bekannt ist. Für den Fall, dass dies nicht unsere Wahl ist, können Sie immer ein Paket namens faker verwenden, das dasselbe tut.

Wenn Sie jedoch versuchen, eine App in PyCharm mit faker auszuführen, schlägt dies fehl. Der Grund dafür ist, dass faker-Dateien die eigentliche GTK-Anwendung ersetzen. Trotzdem ist es ein fairer Handel. Sie können nicht alles bekommen, was Sie wollen, ohne etwas zu verlieren.

Eine alternative Möglichkeit wäre die Verwendung der Entwicklungs-Builder-IDE von Gnome. Es ist eine IDE, die das Erstellen von Gnome-Basen extrem einfach macht.

So sieht der Gnome Development Builder aus: Ein Screenshot von meinem PC:

Ein Blick auf den Gnome Development Builder zeigt, dass dies sehr eng mit GNOME3 HIG mit einer minimalen Oberfläche zusammenarbeitet. Obwohl es eine minimalistische Oberfläche hat, enthält es viele Funktionen, die dafür sorgen, dass die Gnom-Anwendungen wie Loki vor Hulk aussehen. Holen Sie sich den Punkt. Ja! Genau so ist es.

Apropos PyGTK, das ebenfalls großartig, aber nicht gerade ein Anfängertyp ist, enthält das PyGObject-Projekt, das äußerst interessant ist. PyGTk unterstützt auch die Möglichkeit, zwischen Python und C zu wechseln. Dies bedeutet, dass Sie schnell Prototypen in Python erstellen und diese dann zur Leistungssteigerung einfach in C kompilieren können.

Die Module, die auf dem Haupt-PyGObject-Code ausgeführt werden, müssen sich nicht um die Unterstützung von C Python-APIs kümmern. Sie müssen nur die grundlegenden GObject Introspection-Konzepte wie Anmerkungen und Modellierungs-APIs verstehen, damit sie verpackt werden können. Dieses grundlegende Verständnis lässt GObject-Entwickler tatsächlich klarere öffentliche APIs schreiben, indem sie die Verwendung einiger der esoterischeren Codemuster, die C zulässt, einschränken oder auf private APIs beschränken.

Dies ist wichtig, um zu verstehen, welche Möglichkeiten Introspection Anwendungs- und Modulentwicklern bietet. Wenn Sie nun ein neues Python-Modul bereitstellen möchten, müssen Sie die C-Python-API nicht verstehen. Sie können einfach Ihr GObject-Wissen verwenden, um eine API zu erstellen, auf die über Python oder eine andere Sprache mit Introspection-Unterstützung wie JavaScript zugegriffen werden kann. Vala unterstützt sogar Introspection, sodass Sie Objekte in Vala schreiben und über Python darauf zugreifen können.

Wir haben keine einzige Laufzeit, daher können Sie leider keine Skriptsprachen mischen, aber die meisten Projekte, die Introspection verwenden, werden entweder ausschließlich in einer Skriptsprache geschrieben oder verwenden eine kompilierte Sprache für ihre Basis und eine Skriptsprache für Rapid Prototyping, als Klebesprache oder für Plugins. Die größte Herausforderung bestand in der Abstimmung mit den verschiedenen Bibliotheken und Anwendungen, die PyGObject unterstützen oder von PyGObject unterstützt werden.

Selbstbeobachtung ist sehr neu und mit ihr wachsen die Schmerzen. Bevor die Bindungsentwickler in einer Blase arbeiten konnten, erkannten sie am besten, was die API-Entwickler hinzugefügt oder geändert hatten. Jetzt ist jedoch alles so stark integriert, dass die Bindungsentwickler eng mit den API-Entwicklern zusammenarbeiten müssen.

Dies kann für alle Beteiligten eine Menge Frustration und zusätzlichen Arbeitsaufwand bedeuten. Auf lange Sicht wird sich die engere Zusammenarbeit jedoch in einer besseren Endbenutzererfahrung niederschlagen.

Wenn ich im Laufe der Jahre etwas in GNOME gelernt habe, ist es der Endbenutzer, auf den es ankommt, und die Verwendung von Introspection hilft dabei, dieses Ziel zu erreichen.

Apropos Endbenutzer, wir sind am Ende dieses Blogs angelangt. Um genau zu sein, je mehr ich sage, desto verwirrender kann es werden, sich zu überlegen, welchen man genau verwenden soll, wenn man anfängt zu lernen. Gnome Development Builder ist einfach und hat viele Funktionen. Aber Python hat extreme Unterstützung und ich würde vorschlagen, damit zu arbeiten, obwohl es manchmal ein bisschen chaotisch werden kann.

Empfohlene Artikel

In den folgenden Artikeln erfahren Sie mehr über die Gnome-Entwicklung mithilfe der Python-Programmierung. Gehen Sie also einfach über den Link.

  1. Karriere in Python
  2. Neue Zukunft von Python: Sie sollten es benutzen (Best)
  3. Python oder Go
  4. Erstaunliche Funktionen von Kali Linux vs Ubuntu
  5. 10 einfache und nützliche Tipps zur Python-Programmierung (Tricks)