Welcome to Async Bevy Web - This project is designed to showcase the integration of Bevy, a data-driven game engine built in Rust, with asynchronous web server capabilities using Axum and Leptos. It demonstrates how to set up a basic web server that communicates with clients through HTTP and WebSockets, all within the context of a Bevy application serving as the data layer.
This application is in very early development and will change significantly over time. This ReadMe may become outdates as the project progresses.
Async Bevy Web provides several plugins for Bevy for creating real-time, interactive web applications. This setup allows for the development of games or interactive applications that require handling complex data on the server and providing real-time communication/updates between the server and the client, leveraging the power and performance of Rust.
To get the application running on your local machine, follow these steps:
- Ensure you have Rust and Cargo installed on your machine. If not, you can install them by following the instructions on the official Rust website.
- Clone the repository to your local machine:
git clone https://github.com/vertec-io/async_bevy_web.git
- Navigate into the cloned repository directory:
cd async_bevy_web
- TODO
TODO
The project is structured into multiple crates to separate concerns between the Bevy application, the web server, and core ECS (Entity Component System) logic. Here are some key parts of the repository:
crates/bevy_tokio_tasks
: Contains examples and the implementation for integrating Bevy with Tokio tasks.crates/bevy_leptos
: Implements the web server logic using Axum, including WebSocket communication.
Feel free to explore the code and experiment with it to better understand how Bevy and Axum can be used together for real-time web applications.