1 unstable release

0.1.0 Nov 18, 2024

#557 in Procedural macros

Download history 127/week @ 2024-11-15 28/week @ 2024-11-22 3/week @ 2024-11-29

158 downloads per month

MIT license

9KB
124 lines

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 procedural macro needed for Angust. See also the core crate and the Angust CLI tool.

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

~210–640KB
~15K SLoC