Duration
4 weeksWeekly study
5 hours100% online
How it works
How to Master Rust GUI Programming
Gain practical skills from experienced Rust developers
On this four-week course, you’ll learn how to design and develop a variety of GUI applications in Rust. Through this in-depth training, you’ll learn to create everything from simple calculators to interactive games and quizzes.
Guided by experienced Rust developers, you’ll enhance your programming abilities, learn how to build robust, efficient GUI applications in Rust, and have a broad understanding of GUI development approaches.
By the end, you’ll have practical, in-demand skills to excel in a career in Rust GUI programming.
Learn how to use GUI applications
During week one of the course, you’ll develop a fundamental understanding of GUI application development using the Iced framework.
You’ll do this by creating basic applications like a calculator, preparing you for more advanced projects.
Enhance your skills in event-driven programming
Next, you’ll start using event-driven programming as you gain a more in-depth understanding of the Iced framework.
Through this exercise, you’ll develop a to-do list application to prepare you for complex event handling.
Delve into FLTK and GTK frameworks
You’ll then dive into FLTK and GTK frameworks by building projects like a Pong game and a password generator, helping you build a diverse skill set in GUI toolkit usage.
You’ll also explore Relm4 and eGUI frameworks by creating projects such as Simon Says clone and a quiz app. This will broaden your GUI application development expertise and testing capabilities.
By the end of the course, you’ll have expanded your knowledge of GUI programming and have the industry-ready skills to advance in your career.
Syllabus
Week 1
Introduction to Rust GUI Programming
Setting up a Rust Development Environment on Kubuntu
Set up a complete Rust development environment on Kubuntu. Install necessary tools, configure the Kate editor, and prepare your system for Rust GUI programming.
Getting Started with the Iced GUI Framework
Get started with the Iced GUI framework. Create your first Iced application, a simple counter, while learning the basics of the library and its components.
Building a Calculator with Iced
Build a functional calculator using Iced. Dive deeper into Iced's architecture, implement calculator logic, and learn how to structure a more complex GUI application.
Week 2
Advanced Iced Concepts & Building a To-Do App
Understanding Core Iced Components
Explore core Iced components in depth. Experiment with various UI elements, understand their properties and behaviors, and learn how to combine them effectively in your applications.
Building a To-Do App with Iced
Develop a comprehensive to-do list application with Iced. Apply your knowledge to create a larger, more structured project, focusing on app organization and state management.
Week 3
Exploring Other Rust GUI Frameworks
Introduction to FLTK & Building a Pong Game
Switch gears to the FLTK framework and build a Pong game. Learn FLTK basics, handle game logic and graphics, and implement features like speed control and high score tracking.
Creating a Password Generator with GTK
Explore the GTK library by creating a password generator. Understand GTK's widget system, event handling, and how to create a functional, user-friendly GUI application.
Week 4
Creating a Simon Says Game with Relm4
Building Games & Quizzes with Realm & eGUI
Craft interactive applications with Relm4 and eGUI. Develop a Simon Says game using Relm4's reactive model, then build quiz apps with eGUI. Gain diverse experience across multiple Rust GUI frameworks.
Building Quizzes with eGUI
Craft quiz applications using eGUI. Explore eGUI's unique features, implement single and multi-quiz functionality, and gain experience with another versatile Rust GUI framework.
When would you like to start?
Start straight away and join a global classroom of learners. If the course hasn’t started yet you’ll see the future date listed below.
Available now
Learning on this course
On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.
What will you achieve?
By the end of the course, you‘ll be able to...
- Explain the fundamentals of Rust GUI programming and its ecosystem
- Set up a Rust development environment on Kubuntu, including the Kate editor and Zsh shell
- Create basic GUI applications using the Iced framework
- Develop a calculator application with Iced, demonstrating layout and event handling
- Build a to-do list application, showcasing state management in Iced
- Construct a Pong game using the FLTK framework
- Design a password generator application with the GTK framework
- Implement a Simon Says game using the Relm4 framework
- Compare and contrast different Rust GUI frameworks
- Compare and contrast different Rust GUI frameworks
Who is the course for?
This course is designed for a variety of professionals looking to enhance their knowledge of GUI programming. You could be a Rust developer, software engineer, computer science student or a professional looking to develop their skills in reactive and event-driven programming.
Who will you learn with?
Founder of Pragmatic AI Labs & Executive in Residence at Duke MIDS and Duke AIPI. Former Bay Area CTO and author of multiple O'Reilly books.
Former Olympic high jumper with 15 years of Software Engineering. He teaches ML, Rust, and Python at Duke University and is an expert in MLOps, Azure, and automation
Who developed the course?
Ways to learn | Buy this course | Subscribe & save | Limited access |
---|---|---|---|
Choose the best way to learn for you! | $79/one-off payment | $244.99 for a whole year Automatically renews | Free |
Fulfill your current learning need | Develop skills to further your career | Sample the course materials | |
Access to this course | tick | tick | Access expires 11 Mar 2025 |
Access to 1,000+ courses | cross | tick | cross |
Learn at your own pace | tick | tick | cross |
Discuss your learning in comments | tick | tick | tick |
Tests to check your learning | tick | tick | cross |
Certificate when you're eligible | Printed and digital | Digital only | cross |
Cancel for free anytime |
Ways to learn
Choose the best way to learn for you!
Subscribe & save
$244.99 for a whole year
Automatically renews
Develop skills to further your career
- Access to this course
- Access to 1,000+ courses
- Learn at your own pace
- Discuss your learning in comments
- Tests to boost your learning
- Digital certificate when you're eligible
Cancel for free anytime
Buy this course
$79/one-off payment
Fulfill your current learning need
- Access to this course
- Learn at your own pace
- Discuss your learning in comments
- Tests to boost your learning
- Printed and digital certificate when you’re eligible
Limited access
Free
Sample the course materials
- Access expires 11 Mar 2025
Find out more about certificates, Unlimited or buying a course (Upgrades) Sale price available until 3 March 2025 at 23:59 (UTC). T&Cs apply. |
Find out more about certificates, Unlimited or buying a course (Upgrades)
Sale price available until 3 March 2025 at 23:59 (UTC). T&Cs apply.
Learning on FutureLearn
Your learning, your rules
- Courses are split into weeks, activities, and steps to help you keep track of your learning
- Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
- Stay motivated by using the Progress page to keep track of your step completion and assessment scores
Join a global classroom
- Experience the power of social learning, and get inspired by an international network of learners
- Share ideas with your peers and course educators on every step of the course
- Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others
Map your progress
- As you work through the course, use notifications and the Progress page to guide your learning
- Whenever you’re ready, mark each step as complete, you’re in control
- Complete 90% of course steps and all of the assessments to earn your certificate
Want to know more about learning on FutureLearn? Using FutureLearn
Do you know someone who'd love this course? Tell them about it...
More courses you might like
Learners who joined this course have also enjoyed these courses.
Browse more in IT & Computer Science and Creative Arts & Media