Économisez sur les compétences qui vous font briller avec 40 % de réduction sur 3 mois de Coursera Plus. Économisez maintenant

Ce cours n'est pas disponible en Français (France)

Nous sommes actuellement en train de le traduire dans plus de langues.
Pragmatic AI Labs

Rust GUI From Zero

Noah Gift

Instructeur : Noah Gift

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

6 heures à compléter
Planning flexible
Apprenez à votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

6 heures à compléter
Planning flexible
Apprenez à votre propre rythme

Ce que vous apprendrez

  • Build native desktop applications in Rust using iced, FLTK, GTK4, relm4, and egui on Kubuntu Linux

  • Develop a counter, calculator with unit tests, to-do list, Pong game, password generator, Simon Says, and quiz app in real-time recorded sessions

  • Choose the right Rust GUI framework for a project, persist state to disk with serde or rusqlite, and ship a working binary

Compétences que vous acquerrez

  • Catégorie : Data Engineering
  • Catégorie : Linux Commands
  • Catégorie : User Interface and User Experience (UI/UX) Design
  • Catégorie : Data Architecture
  • Catégorie : User Interface (UI) Design
  • Catégorie : Development Environment
  • Catégorie : User Interface (UI)
  • Catégorie : UI/UX Research
  • Catégorie : Event-Driven Programming
  • Catégorie : Application Deployment
  • Catégorie : Cross Platform Development
  • Catégorie : Application Development
  • Catégorie : Package and Software Management
  • Catégorie : Computer Programming Tools

Outils que vous découvrirez

  • Catégorie : Rust (Programming Language)
  • Catégorie : Application Frameworks
  • Catégorie : UI Components
  • Catégorie : Command-Line Interface
  • Catégorie : Data Persistence
  • Catégorie : Linux

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Récemment mis à jour !

mai 2026

Évaluations

3 devoirs

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

 logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal

Il y a 10 modules dans ce cours

Frame why a native Rust GUI is the right surface when the browser is the wrong one — offline-first ingestion, microsecond latency, and data that must never leave the machine. Read CSV and query SQLite from a desktop app, plot with egui_plot and plotters, and trace the state-message-update-view loop common to retained-mode frameworks.

Inclus

2 vidéos4 lectures1 devoir

Stand up a Kubuntu Rust development environment from scratch — install rustup and the toolchain, switch from Bash to Zsh, and configure Kate with an embedded terminal for tight edit/build cycles. Then implement the iced Sandbox trait to write a Hello World and a counter button that updates state in response to messages.

Inclus

5 vidéos4 lectures1 devoir

Build a 150-line iced calculator with a state struct, a message enum, and a view function — then add unit tests that exercise the calculator's update logic without launching a window. Walk through the core iced widgets (button, text, column, row, container) and modify each to extend the calculator's behavior.

Inclus

4 vidéos2 lectures

Extend the iced patterns from Week 3 into a list-driven application. Back the to-do list with a Vec of TodoItem values in state, wire up the iced text_input widget for new-item entry, and route per-row toggle and delete actions through the message enum so each item mutates independently.

Inclus

1 vidéo2 lectures

Walk through the official FLTK Pong example, then extend it across four iterations: add a pause button that halts the game loop, a slider that varies paddle speed at runtime, and a high-score file written to disk between sessions. Each step is a concrete state-and-message extension to a working game.

Inclus

4 vidéos2 lectures

Build a GTK4 password generator using the gtk4 crate's ApplicationWindow, Entry, and Button widgets, with the rand crate generating random ASCII characters. Add a ToggleButton that flips the Entry's visibility property to mask or reveal the generated password.

Inclus

2 vidéos2 lectures

Build a Simon Says game with relm4 — a Rust GUI framework that layers an ELM-style Component trait on top of GTK4. Lay out four colored buttons in a 2 by 2 grid, then add a Vec of Color values as the sequence and a playback timer that lights each button in turn before the player has to repeat the pattern.

Inclus

2 vidéos

Build a quiz application in egui — an immediate-mode framework where the entire UI is redrawn every frame from current state. Define a Question struct, run a frame-counted timer that ticks down each draw, and accumulate a score across a multi-question quiz with a restart flow at the end.

Inclus

2 vidéos2 lectures

Compare iced, egui, GTK4, FLTK, and relm4 head-to-head — ergonomics, platform reach, async story, theming. Add provable contracts to GUI state with the assert_invariant macro so impossible UI states fail loudly at runtime, then ship a release with cargo-dist for cross-platform binaries, Flatpak for sandboxed Linux, and AppImage for portable distribution.

Inclus

1 vidéo4 lectures

A culminating practice assignment that synthesizes every framework and pattern from Weeks 1 through 9 into one shippable desktop application.

Inclus

3 lectures1 devoir

Instructeur

Noah Gift
Pragmatic AI Labs
47 Cours3 228 apprenants

Offert par

Pragmatic AI Labs

En savoir plus sur Software Development

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.

Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’

Jennifer J.

Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’

Larry W.

Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’

Chaitanya A.

’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Foire Aux Questions