#cross-platform-gui #gui-framework #desktop-applications #creation #kit #button #window

rust_gui_kit

A cross-platform GUI framework for Rust to simplify the creation of desktop applications

11 releases

0.2.4 Nov 21, 2024
0.2.3 Nov 12, 2024
0.1.7 Nov 12, 2024

#445 in GUI

Download history 725/week @ 2024-11-11 153/week @ 2024-11-18

878 downloads per month

MIT license

7KB

rust_gui_kit

rust_gui_kit is a cross-platform graphical user interface (GUI) framework for Rust. This library aims to simplify the creation of desktop applications that run smoothly on Windows, macOS, and Linux. With a simple API, rust_gui_kit provides developers with a basic platform on which to build GUIs.

Installation

Add rust_gui_kit to your Cargo.toml:

[dependencies]
rust_gui_kit = "0.1.0"

Usage

Examples

To run an example, use:

cargo run --example example_name

Here is a simple example to get you started:

use rust_gui_kit::{window::Window, button::Button};

fn main() {
    // Initialize the library (if needed)
    rust_gui_kit::initialize();

    // Create a new window
    let window = Window::new("Hello, GUI!", 800, 600);
    window.show();

    // Create a new button
    let button = Button::new("Click Me");
    button.on_click(|| {
        println!("Button was clicked!");
    });
}

Contributing

I am an avid open-source software advocate and contributor. I am not always available to collaborate or indefinitely maintain these libraries, but hope they prove useful in your projects. Please feel free to fork my repositories - use and improve them as you see fit.

This rust_gui_kit is a basic framework with window and button components. Add more widgets to increase functionality.

Ideas for Potential Features

1. Async Logging Library
    ◦ Description: A lightweight, high-performance logging library that supports asynchronous logging out of the box. It could offer customizable log levels, easy configuration, and minimal performance overhead.
2. Memory Management Utilities
    ◦ Description: Utilities for safer and more efficient memory management in Rust. This could include tools for tracking memory leaks, optimizing memory usage, and safely handling different types of data.
3. Cross-Platform GUI Framework
    ◦ Description: A Rust library that simplifies the creation of cross-platform graphical user interfaces (GUIs). It could offer a simple API for building desktop applications that run smoothly on Windows, macOS, and Linux.
4. Network Monitoring Tools
    ◦ Description: Tools for monitoring network traffic and analyzing network performance. This library could provide features for capturing packets, analyzing traffic patterns, and detecting anomalies.
5. Advanced Cryptographic Utilities
    ◦ Description: A library providing advanced cryptographic primitives and protocols. It could offer easy-to-use functions for encryption, decryption, hashing, and key management.
6. Database ORM (Object-Relational Mapping)
    ◦ Description: A Rust ORM library that simplifies database interactions. It could provide an intuitive API for defining schemas, querying databases, and managing migrations.
7. Machine Learning Helper Tools
    ◦ Description: Utilities to assist with machine learning tasks in Rust. This could include data preprocessing, model evaluation, and integration with popular machine learning frameworks.
8. Embedded Systems Development
    ◦ Description: Libraries and tools specifically designed for developing embedded systems with Rust. This could include hardware abstraction layers, drivers, and utilities for common embedded tasks.
9. Concurrency Utilities
    ◦ Description: Tools and libraries to simplify the handling of concurrency in Rust applications. This could include thread pools, task scheduling, and synchronization primitives.
10. WebAssembly (Wasm) Support
    ◦ Description: Enhancements for Rust applications targeting WebAssembly. This could provide tools for optimizing Wasm output, integrating with JavaScript, and improving performance.

License

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

Author

bensatlantik

No runtime deps