Unofficial Rust GTK Tutorial Series


Here’s a Rust GTK tutorial series that I’ve been developing with mdbook[1], and where mdbook’s rendered tutorial is hosted via GitHub Pages. A basic understanding of Rust is required, of course. It will provide some step-by-step demonstrations of building useful GTK3 desktop applications with Rust.

Each chapter serves to present a few more GTK objects than the last chapter, and building applications using those objects and objects covered within previous chapters. As the tutorial progresses, so too will the projects covered in each chapter.

Currently, I am up to almost completing the fourth chapter[2], which covers the creation of a simple CommonMark Markdown editor using a GtkSourceView, with a live preview provided by a GtkWebView. That chapter was written by the program that the chapter is covering, as covered below.



I’ve been more and more intrigued by what I’ve been reading about the sprints, so this seems timely. Thanks for writing it!


More content will be written in the future. The tutorial is just getting started, and the current state is the result of about a week of writing code and subsequently the chapters that step you through the code. I’ll also be revisiting prior content and rewording/enhancing/elaborating, as well as adding more images and diagrams for the visual learner.


:heart_eyes: :heart_eyes:


What will be under Content Management System? Sounds quite intriguing :slight_smile:


A content management system that uses Diesel to interact with your website’s database, of course. It will build upon the markdown editor chapters by offering a markdown editor for writing the content of a post/page and previewing the output / raw HTML live. Yet of course expanded to display a list of posts and pages, with a login screen to gain access to the database.

Although at the moment, I’m working on a rewrite of my Systemd Manager utility, so the tutorial is currently postponed until after I finish this. Which shouldn’t take but a few days I think. Then I’ll be on to writing the advanced markdown editor to feature a HTML view in addition the rendered web view; a menu button with some configuration options; and tabs support via a Notebook.


This is what people need.Great stuff!But a little too late for me i’m affraid. :slight_smile: