2 releases

0.1.1 Nov 18, 2024
0.1.0 Nov 18, 2024

#244 in GUI

Download history 249/week @ 2024-11-15 54/week @ 2024-11-22 3/week @ 2024-11-29 3/week @ 2024-12-06

309 downloads per month

MIT license

275KB
6.5K SLoC

Angust

Angust is a Rust GUI framework designed to bridge the gap between the safety and performance of Rust and the simplicity and scalability of web development. It provides an Angular-style API to develop dynamic UI applications, through reusable Components and associated HTML templates.

This crate contains the core features provided by Angust. See also the Angust CLI tool and the Angust Macros.

Status

Angust is in the mid-stages of development. As such, it still contains various bugs, misses important features and has an unstable API. Users are advised to use Angust with caution. We welcome feedback and contributions to help shape the future of Angust.

Features

  • Declaration of UI through standard HTML - CSS
  • Custom Components with: HTML templates, reflective and reactive Component State, inputs and outputs, lifetime hooks
  • HTML Directives: @if, @for, @onclick, supporting complex Rust expressions
  • Custom Services: injectable singleton objects, supporting async operations and return to GUI thread for state updates
  • Pre-made Router: object encapsulating common navigation functionality (route configuration, history, page caching etc.)
  • CLI tool: provides commands for generating boilerplate Angust code for a smooth development experience

Documentation

For comprehensive and up-to-date documentation, please visit our official documentation website. This website is the primary source for all documentation related to Angust, including API references, tutorials, and examples.

Contributing

All contributions are warmly welcomed. Head over to CONTRIBUTING.md for details.

License

Angust is licensed under the MIT License. See the LICENSE file for more details.

Dependencies

~17–35MB
~590K SLoC