Skip to content

Rust as your Flutter backend, Flutter as your Rust frontend

License

Notifications You must be signed in to change notification settings

LucaCoduriV/rust-in-flutter

 
 

Repository files navigation

Rust-In-Flutter

Pub Version Pub Popularity Pub Points GitHub Stars Build Test GitHub License

"Rust as your Flutter backend, Flutter as your Rust frontend"

preview

Designed for ease of use, future scalability, and unparalleled performance, this lightweight framework takes care of all the complexity behind the scenes. No messing with sensitive build files, no excessive code generation during development. Simply add this framework to your app project, and you're all set to write Flutter and Rust together!

🎮 Demo

Visit the demo running on the web to experience the smoothness and delightfulness that comes from the combination of Flutter and Rust. You can also dive into the example code.

🖥️ Platform Support

All platforms available with Flutter are tested and supported. Challenging build settings are automatically handled by this framework.

  • ✅ Linux: Tested and supported
  • ✅ Android: Tested and supported
  • ✅ Windows: Tested and supported
  • ✅ macOS: Tested and supported
  • ✅ iOS: Tested and supported
  • ✅ Web: Tested and supported

🚀 Benefits

  • Rust integration with the ability to use an arbitrary number of library crates
  • Async interaction with no blocking
  • RESTful API with easy request from Dart and response from Rust
  • Streaming from Rust to Dart
  • Type-safe and flexible messages powered by Protobuf
  • Automatic restart of Rust logic on Dart's hot restart
  • No memory copy when sending native data

🐦 Why Use Flutter?

While Rust is a powerful language for high-performance native programming, its ecosystem for building graphical user interfaces is far from being mature. Though Rust already has some GUI frameworks, they don't compete with extensive support and smooth development experience that Flutter provides. It's only Flutter that compiles to all 6 major platforms from a single codebase.

Flutter is a powerful and versatile framework that has gained immense popularity for building cross-platform applications with stunning user interfaces. It provides declarative pattern, beautiful widgets, hot reload, convenient debugging tools, and dedicated packages for user interfaces right out-of-the-box.

🦀 Why Use Rust?

While Dart excels as an amazing object-oriented language for GUI apps, its non-native garbage collection may not always meet demanding performance requirements, and it may lack advanced data manipulation packages. This is where Rust steps in, offering an incredible speed advantage of roughly 2~40 times faster than Dart, alongside the ability to leverage multiple threads and various crates that get the job done.

Rust has garnered a devoted following, being the most loved programming language on Stack Overflow. Its native performance, thanks to the zero-cost abstraction philosophy, ensures high productivity. Many developers foresee Rust potentially replacing C++ in the future. Rust's simplicity, memory safety, superior performance in various scenarios, vibrant community, and robust tooling support contribute to its growing popularity.

📖 Documentation

Check out the documentation for everything you need to know about how to use this thing.

👥 Contributors

We appreciate your contribution to the development of this project!

GitHub contributors (via allcontributors.org)

☕ Support Us

If you are benefiting from the features of Rust-In-Flutter and find it helpful, why not consider supporting this project? Your generous donations contribute to the maintenance and development of Rust-In-Flutter, ensuring its continuous improvement and growth. 😉

If you feel like so, please consider buying us a coffee.

About

Rust as your Flutter backend, Flutter as your Rust frontend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 35.4%
  • Dart 34.3%
  • Rust 15.9%
  • C++ 5.6%
  • CMake 4.9%
  • Ruby 1.2%
  • Other 2.7%