Azul is a library for creating graphical user interfaces or GUIs in Rust. It mixes paradigms from functional, immediate mode GUI programming commonly found in games and game engines with an API suitable for developing desktop applications. Instead of focusing on an object-oriented approach to GUI programming ("a button is an object"), it focuses on combining objects by composition ("a button is a function") and achieves complex layouts by composing widgets into a larger DOM tree.

Azul separates the concerns of business logic / callbacks, data model and UI rendering / styling by not letting the UI / rendering logic have mutable access to the application data. Widgets of your user interface are seen as a "view" into your applications data, they are not "objects that manage their own state", like in so many other toolkits. Widgets are simply functions that render a certain state, more complex widgets combine buttons by calling a function multiple times.

The generated DOM itself is immut

Monthly Downloads: 166
Programming language: Rust
License: MIT License
Tags: GUI     Graphics     Ui     Applications written in Rust     svg     User-interface    

Azul alternatives and related packages

Based on the "GUI" category

Do you think we are missing an alternative of Azul or a related project?

Add another 'GUI' Package

Azul Recommendations

There are no recommendations yet. Be the first to promote Azul!

Have you used Azul? Share your experience. Write a short recommendation and Azul, you and your project will be promoted on Awesome Rust.
Recommend Azul

Recently added Azul resources

Do you know of a useful tutorial, book or news relevant to Azul?
Be the first to add one!