Einführung

Willkommen zu Das Orbital Widget Toolkit, einem Einführungsbuch über OrbTk. Die Programmiersprache Rust hilft Dir, schnellere und zuverlässige Software zu schreiben. OrbTk bringt die nötigen Komponenten mit, um moderne grafische Benutzeroberflächen zu entwickeln. Es bietet eine kohärente Codebasis, die zu nativem Binärcode kompiliert wird, welcher auf der gewünschten Zielplattform ausgeführt wird.

Merkmale

  • Moderne, leichtgewichtige API
  • Plattformübergreifend
  • Modulare Komponenten.
  • Basiert auf der Entity-Component-System-Bibliothek DCES
  • Flexibles Ereignissystem
  • Integrierte Widget-Bibliothek
  • Benutzerdefinierte Widgets
  • Benutzerdefinierte Theming-Engine
  • Dynamische Themenumschaltung
  • Integrierte Debugging-Werkzeuge
  • Lokalisierung

Unterstützte Plattformen

  • Redox OS (nativ)
  • Linux (nativ | cargo-node)
  • macOS (nativ | cargo-node)
  • Windows (nativ | cargo-node)
  • openBSD (nicht getestet, sollte aber funktionieren)
  • Web (cargo-node)
  • Android (nativ geplant | cargo-node)
  • iOS (nativ geplant | cargo-node geplant)
  • Ubuntu Touch (nativ geplant | cargo-node geplant)

Für wen OrbTk gedacht ist

OrbTk ist ideal für Programmierer, die die Vorteile der Programmiersprache Rust nutzen wollen. Es besteht keine Notwendigkeit, Datenstrukturen und Typen zu transformieren: OrbTk selbst ist in Rust geschrieben. Es übernimmt somit natürlich alle strukturellen Vorteile der Programmiersprache und stellt die benötigten GUI Elemente bereit, um Deine grafische Anwendung zu programmieren. Schauen wir uns ein paar der wichtigsten Gruppen an.

Teams von Entwicklern

Rust erweist sich als produktives Werkzeug für die Zusammenarbeit in großen Teams von Entwicklern mit unterschiedlichem Kenntnisstand in der Systemprogrammierung. Wirf auch einen Blick in das Rust-Buch, welches die grundlegenden Prinzipien erläutert, und dir hilft besseren und sicheren Code zu produzieren.

OrbTk verwendet die Rust-Toolchain so weit wie möglich wieder. Zeitgenössische Entwickler, die die Lernkurve durchlaufen haben, werden deren Vorteile nutzen:

  • Cargo, der mitgelieferte Abhängigkeitsmanager und das Build-Tool, macht das Hinzufügen, Kompilieren und Verwalten von Abhängigkeiten mühelos und konsistent im gesamten Rust Ökosystem.
  • Rustfmt sorgt für einen konsistenten Formatierungsstil unter den Entwicklern.
  • Der Rust Language Server unterstützt die integrierte Entwicklungsumgebung (IDE) ihrer Wahl was Integration für Code-Vervollständigung und Inline-Fehlermeldungen betrifft. Natürlich vorausgesetzt, dass die IDE ihrer Wahl das LSP und die Sprache als solches unterstützt.

Studenten

Rust ist für Studenten und alle, die sich für das Erlernen von Systemkonzepten interessieren. Mit Hilfe von Rust haben viele Leute etwas über Themen wie Betriebssystementwicklung gelernt. Die Community ist sehr einladend und beantwortet gerne Fragen von Anfängern und Studierenden. Durch Bemühungen wie dieses Buch, will das Rust-Team die Systemkonzepte von Rust mehr Menschen zugänglich machen. Insbesondere solchen, die neu in der Programmierung sind.

Unternehmen

Hunderte von Unternehmen, große und kleine, verwenden Rust produktiv für eine Vielzahl von Aufgaben. Zu diesen Aufgaben gehören Kommandozeilen-Tools, Web-Services, DevOps-Tooling, eingebettete Geräte, Audio- und Videoanalyse und Transkodierung, Kryptowährungen, Bioinformatik, Suchmaschinen, Anwendungen für das Internet der Dinge, oder maschinelles Lernen. Sogar große Teile des Firefox-Webbrowsers sind mittlerweile in Rust neu geschrieben worden.

Open-Source-Entwickler

OrbTk ist für Leute, die mit der Programmiersprache Rust, zusammen mit der Gemeinschaft, ihren Entwickler-Tools und Bibliotheken arbeiten wollen. Wir würden uns freuen, wenn Du zum Ökosystem mit seinen Komponenten und Einträgen beitragen könntest. Du bist herzlich eingeladen.

Für wen ist dieses Buch?

Dieses Buch setzt voraus, dass Du bereits Code in einer anderen Programmiersprache und anderen GUI-Toolkits geschrieben hast. Es ist nicht wesentlich, welche Sprache oder welches Toolkit dies war. Wir haben versucht, das Material so aufzubereiten, dass Personen mit einer Vielzahl von Entwicklungshintergründen damit arbeiten können. Im Fokus liegt nicht ein Diskurs was Programmierung ist oder wie man darüber denkt. Wenn Du völlig neu in der Programmierung bist, wäre es besser, wenn Du zunächstein Buch zur Hand nimmst, das speziell die Einführung in die Programmierung zum Thema hat. Auch hier gibt es von der Rust-Gemeinschaft bereits einige Anstrengungen, wie z.B. Rust By Example.

Wie man dieses Buch benutzt

Im Allgemeinen geht dieses Buch davon aus, dass Du es in der Reihenfolge von vorne nach hinten liest. Spätere Kapitel bauen auf Konzepten früherer Kapitel auf, und frühere Kapitel gehen möglicherweise nicht mehr im Detail auf ein bereits besprochenes Themas ein; Ist es wesentlich, greifen wir das Thema typischerweise in einem späteren Kapitel wieder auf.

In diesem Buch finden Sie zwei Arten von Kapiteln: Konzeptkapitel und Projektkapitel. In Konzeptkapiteln lernst Du einen Aspekt von OrbTk kennen. In Projektkapiteln werden wir gemeinsam kleine Programme schreiben und dabei das bisher Gelernte anwenden.

Kapitel 1 erklärt, wie man Rust und OrbTk installiert, wie man ein minimales Programm schreibt und wie Du cargo, den Paketmanager und das Build-Tool von Rust, verwendest.

Schließlich enthalten einige Anhänge noch nützliche Informationen über Rust in einem eher referenzähnlichen Format.

  • Anhang A behandelt die Schlüsselwörter von OrbTk
  • Anhang B behandelt OrbTks ableitbare Merkmale (traits) und Komponenten (crates).

Es gibt keinen falschen Weg, dieses Buch zu lesen: Wenn Du vorwärts springen willst, nur zu! Du musst vielleicht zu früheren Kapiteln zurückspringen, wenn ein späteres Kapitel dich verwirrt. Was immer für Dich funktioniert ist richtig.

Ein wichtiger Teil des Lernprozesses von OrbTk ist das Lesen der Fehlermeldungen, die der Compiler anzeigt: Diese helfen Dir funktionierenden Code zu erstellen oder diesen zu verbessern. Daher werden wir auch Beispiele haben, die sich nicht kompilieren lassen. Zusammen mit der Fehlermeldung, die der Compiler bereitstellt können dann die Ursachen erklärt und eine funktionierende Lösung erarbeitet werden.

Beachte bitte, dass Deine Eingaben um ein beliebiges Beispiel auszuführen, möglicherweise nicht sofort kompiliert! Stelle dann bitte sicher, dass Du auch den umliegenden Text zum Beispielcode mit einbeziehst. Ferris hilft sicher auch, den Code zu erkennen, der nicht funktionsfähig ist:

FerrisBedeutung
Dieser Code lässt sich nicht kompilieren!
Dieser Code ist panisch und verweigert die Zusammenarbeit!
Dieser Quellcode enthält unsicheren Code.
Dieser Code erzeugt nicht das gewünschte Verhalten.

In den meisten Situationen führen wir Dich anschliessend zur korrigierten Version des Codes, der dann kompiliert werden kann.

Quellcode

Die Quelldateien, aus denen dieses Buch generiert wurde, findest Du auf der Homepage unter Orbtk book (de).