Rust - GUI-Entwicklung
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 3 Tage
Ziele
In diesem dreitägigen Seminar "Rust - GUI-Entwicklung" erwerben Sie umfassende Kenntnisse über die GUI-Entwicklung in Rust. Der Kurs beginnt mit einer Bewertung von nativen und webbasierten Ansätzen sowie einer kritischen Analyse des fehlenden Standard-GUI-Frameworks in Rust.
Das Seminar umfasst einen präzisen Vergleich verschiedener Frameworks wie gtk-rs, egui, Iced, relm, Tauri und weiterer. Dabei liegt der Schwerpunkt auf einer gründlichen Bewertung der individuellen Vor- und Nachteile sowie der optimalen Anwendungsbereiche jedes einzelnen Frameworks. Die eingehende Auseinandersetzung mit GTK und Rust als klassischer Lösung beinhaltet die Analyse von Vor- und Nachteilen, Bindings, Event-Loop-Management, Memory-Management, GObject-Konzepten und die praxisorientierte Umsetzung unter besonderer Berücksichtigung von Implementierungsaspekten spezifisch für Windows und macOS.
Im Abschnitt "Erstes Projekt mit Iced und Rust" werden die Vor- und Nachteile moderner, Rust-exklusiver Ansätze betrachtet. Dies schließt die Erläuterung der Elm-Architektur, Installation und Setup ein, mit einem Schwerpunkt auf responsiven Layouts, State-Management und Performance-Aspekten.
Zielgruppe
Software-Entwickler
Voraussetzungen
- Besuch des Kurses Rust - Einführung oder vergleichbare Kenntnisse.
- Der vorherige Besuch des Rust - Fortgeschrittenenkurs Kurses wird empfohlen.
Agenda
Einleitung
- Native vs. Web
- Kein Standard GUI-Framework in Rust?
Frameworks im Vergleich
- gtk-rs / GTK+ (Graphics Toolkit Bindings)
- egui
- Iced
- relm (ebenfalls GTK basiert)
- Tauri (Webbasierte Desktopanwendungen)
- Xilem ("Nachfolger" von Druid")
- Slint
- FLTK
- Dioxus
- Weitere Möglichkeiten (Flutter Bindings etc.)
GTK und Rust (Klassische Lösung)
- Vor- und Nachteile
- Bindings und Besonderheiten
- Die Main-Event Loop
- Memory Management und Performance
- GObject Konzepte, Signale, Eigenschaften & co
- Windows State Management
- Widgets
- Action Bindings
- Composite Templates
- Praxisbeispiele und eine erste Anwendung
- Einsatz unter Windows und macOS
Ein erstes Projekt mit Iced und Rust (Moderne, Rust-Only Lösung)
- Vor- und Nachteile
- Die Elm Architektur (Aufbau und Funktionsweise)
- Installation und Setup
- Responsive Layouts, Widgets & Co..
- State, Messages, View logic, Update logic
- Performance, Debugging & Co
- Praxisbeispiele und eine erste Anwendung
Ziele
In diesem dreitägigen Seminar "Rust - GUI-Entwicklung" erwerben Sie umfassende Kenntnisse über die GUI-Entwicklung in Rust. Der Kurs beginnt mit einer Bewertung von nativen und webbasierten Ansätzen sowie einer kritischen Analyse des fehlenden Standard-GUI-Frameworks in Rust.
Das Seminar umfasst einen präzisen Vergleich verschiedener Frameworks wie gtk-rs, egui, Iced, relm, Tauri und weiterer. Dabei liegt der Schwerpunkt auf einer gründlichen Bewertung der individuellen Vor- und Nachteile sowie der optimalen Anwendungsbereiche jedes einzelnen Frameworks. Die eingehende Auseinandersetzung mit GTK und Rust als klassischer Lösung beinhaltet die Analyse von Vor- und Nachteilen, Bindings, Event-Loop-Management, Memory-Management, GObject-Konzepten und die praxisorientierte Umsetzung unter besonderer Berücksichtigung von Implementierungsaspekten spezifisch für Windows und macOS.
Im Abschnitt "Erstes Projekt mit Iced und Rust" werden die Vor- und Nachteile moderner, Rust-exklusiver Ansätze betrachtet. Dies schließt die Erläuterung der Elm-Architektur, Installation und Setup ein, mit einem Schwerpunkt auf responsiven Layouts, State-Management und Performance-Aspekten.
Zielgruppe
Software-Entwickler
Voraussetzungen
- Besuch des Kurses Rust - Einführung oder vergleichbare Kenntnisse.
- Der vorherige Besuch des Rust - Fortgeschrittenenkurs Kurses wird empfohlen.
Agenda
Einleitung
- Native vs. Web
- Kein Standard GUI-Framework in Rust?
Frameworks im Vergleich
- gtk-rs / GTK+ (Graphics Toolkit Bindings)
- egui
- Iced
- relm (ebenfalls GTK basiert)
- Tauri (Webbasierte Desktopanwendungen)
- Xilem ("Nachfolger" von Druid")
- Slint
- FLTK
- Dioxus
- Weitere Möglichkeiten (Flutter Bindings etc.)
GTK und Rust (Klassische Lösung)
- Vor- und Nachteile
- Bindings und Besonderheiten
- Die Main-Event Loop
- Memory Management und Performance
- GObject Konzepte, Signale, Eigenschaften & co
- Windows State Management
- Widgets
- Action Bindings
- Composite Templates
- Praxisbeispiele und eine erste Anwendung
- Einsatz unter Windows und macOS
Ein erstes Projekt mit Iced und Rust (Moderne, Rust-Only Lösung)
- Vor- und Nachteile
- Die Elm Architektur (Aufbau und Funktionsweise)
- Installation und Setup
- Responsive Layouts, Widgets & Co..
- State, Messages, View logic, Update logic
- Performance, Debugging & Co
- Praxisbeispiele und eine erste Anwendung