Hey! Learning my first programming language and wanted some information.

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/rust

Our great sponsors
  • JetBrains - Developer Ecosystem Survey 2022
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • bevy

    A refreshingly simple data-driven game engine built in Rust

    Because (stable) Rust is relatively young the number of resources for game development are also relatively small. There is some fantastic work being done in the area like Bevy but nothing like the level of C++ or C# for example.

  • arewegameyet

    The repository for https://arewegameyet.rs

    It's a solid language, but the ecosystem is immature compared to other choices. See Are We Game Yet? for what's currently available, but, as someone with ADHD who knows how to code in SDL, I highly recommend prioritizing an integrated IDE experience and only pulling in Rust selectively.

  • JetBrains

    Developer Ecosystem Survey 2022. Take part in the Developer Ecosystem Survey 2022 by JetBrains and get a chance to win a Macbook, a Nvidia graphics card, or other prizes. We’ll create an infographic full of stats, and you’ll get personalized results so you can compare yourself with other developers.

  • godot-rust

    Rust bindings for GDNative

    Use Godot. Its Python-inspired GDScript language is what I recommend for the most integrated IDE experience, but, godot-rust makes it easy to safely create a .so/.dll/.dylib which does the same stuff using Godot's GDNative APIs.

  • book

    The Rust Programming Language

    I can't speak to "completely new programmer" since I learned programming at such a young age that I tend to think of everything else in terms of it, but people generally recommend The Book for getting into Rust, possibly paired with Rust By Example and/or Rustlings.

  • Rustlings

    :crab: Small exercises to get you used to reading and writing Rust code!

    I can't speak to "completely new programmer" since I learned programming at such a young age that I tend to think of everything else in terms of it, but people generally recommend The Book for getting into Rust, possibly paired with Rust By Example and/or Rustlings.

  • Godot

    Godot Engine – Multi-platform 2D and 3D game engine

    Go with Godot for 2D or low-poly 3D. The 3D performance still needs work, but it's 100% free and open-source, you get a Unity-like experience paired with a 2D option that works natively in pixels rather than a rounding-error-prone orthographic-projection 3D backend, and a lot of Unity-using YouTubers who've tried it will vouch for it being very nice.

  • PyO3

    Rust bindings for the Python interpreter

    Outside that, you'll probably be using either Tauri (Electron-style web tech UI) or QMetaObject (Qt Quick 2, which is a hassle to make not feel like a mobile app) or writing a frontend in something like Python + PySide/Qt for Python and then using something like PyO3 to expose your Rust code to the other language.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • SQLAlchemy

    The Database Toolkit for Python

    I haven't yet found an SQL abstraction for Rust that gives me the Django ORM or SQLAlchemy+Alembic ability to develop against SQLite for easy single-user deployment, offer PostgreSQL as an alternative for multi-user scaling without burning myself out, and have auto-generation of draft schema migrations so I can easily iterate on the design.

  • tauri

    Build smaller, faster, and more secure desktop applications with a web frontend.

    Outside that, you'll probably be using either Tauri (Electron-style web tech UI) or QMetaObject (Qt Quick 2, which is a hassle to make not feel like a mobile app) or writing a frontend in something like Python + PySide/Qt for Python and then using something like PyO3 to expose your Rust code to the other language.

  • too-many-lists

    Learn Rust by writing Entirely Too Many linked lists

    Once that's done, I recommend Learning Rust With Entirely Too Many Linked Lists to solidify what that knowledge means for implementing data structures and then whatever in The Little Book of Rust Books suits your interest. (eg. Rust Design Patterns, Rust API Guidelines, The Rust Performance Book, etc.)

  • patterns

    A catalogue of Rust design patterns, anti-patterns and idioms

    Once that's done, I recommend Learning Rust With Entirely Too Many Linked Lists to solidify what that knowledge means for implementing data structures and then whatever in The Little Book of Rust Books suits your interest. (eg. Rust Design Patterns, Rust API Guidelines, The Rust Performance Book, etc.)

  • api-guidelines

    Rust API guidelines (by rust-lang)

    Once that's done, I recommend Learning Rust With Entirely Too Many Linked Lists to solidify what that knowledge means for implementing data structures and then whatever in The Little Book of Rust Books suits your interest. (eg. Rust Design Patterns, Rust API Guidelines, The Rust Performance Book, etc.)

  • Pixelorama

    A free & open-source 2D sprite editor, made with the Godot Engine! Available on Windows, Linux, macOS and the Web!

    See, for example, tools like Pixelorama or Material Maker.

  • gtk-rs

    Provides Rust bindings for GTK libraries

    GUI libraries expose giant, complex APIs that take a lot of time and effort to write bindings for, so the main mature, portable, non-web offering for Rust right now is gtk-rs (because they'd already put a lot of work into the GObject Introspection system for making bindings easier), which looks ugly/strange outside GNOME and can be a hassle to compile and distribute outside Linux.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts