okgr

Introduction to Rust πŸ¦€ with egui

Quick intro + motivation

This is a quick course to show you that Rust is just a beautiful language and after you’re done [with this course], you may want to use it for anything. A lot of introductory materials on learning Rust are mostly command-line applications. If you learned to program applications with HTML/CSS/Javascript, it’s natural that you crave tutorials that are visual.

You’ve come to the right place. This course does not require you to have used Rust before. However, you should have programmed in another language β€” any language.

The language

Rust is a statically typed language. A lot of us have grown to like types so this shouldn’t be a problem. If you come from a dynamically typed language like Javascript, Python, Ruby, etc. and don’t know what static typing means, this is a quick explanation: https://stackoverflow.com/a/1517670/4803261

Rust is known for writing memory safe applications. Because of this, it introduces some concepts like borrowing and ownership. Understanding how these work takes some time and practice and can be very intimidating to new users. But don’t let that discourage you.

I’ve got you!

What we will be doing

We will be building a simple quiz app. The requirements and design will be discussed in the next lesson. By the end of this course, you would have learned about:

  • Some data types like boolean, numbers, vectors (arrays), structs (classes).
  • Loops
  • Testing (easy)
  • Workspaces
  • GUI in Rust

How you should learn

This is purely a suggestion. However, you should feel free to use whatever method works for you.

  • By doing.

  • You should first read the whole chapter and watch the related videos. Call that the first pass. Then read and watch again, this time doing the exercise. That is, writing the code and testing.

    Doing this allows your brain to use knowledge instead of instructions.

  • If you don’t understand anything, don’t be hard on yourself. Do some light reading. Perhaps, use ChatGPT to get a summary. Deep understanding will come with repetition/time.

❇️ Each lesson comes with a related commit which you can use to compare with your progress.

No spoonfeeding

The course is designed to be fairly challenging so it feels worth the effort. So in some cases, you’ll have to figure things on your own. If you’re stuck, you can ask for help in this Discord server or reference the related commit which will be linked at the end of each lesson.