Skip to content

chillcaw/rocket-yew-starter-pack

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rocket/Yew Starter Pack

Rocket is a framework for building web servers in Rust, with a routing API that feels like Flask (Python). Yew is a front end framework for writing apps in Rust using cutting-edge (but well-supported) WebAssembly technologies, and with an API inspired by patterns from Elm and React.

This project adapts the todoMVC example from the yew repo, and periodically syncs local state with a backend Rocket server.

We also include some scripts to demonstrate building the ui and shipping it over to the server to serve as static assets.

Getting Started

Install rust with rustup. Since we build with --target=wasm32-unknown-unknown, and rely on other unstable features, you must use nightly rust.

rustup default nightly

Build both ui and server on your current platform

./build.sh

Or, build ui and copy the outputs over to server to run locally.

./run-local.sh

Or, build the Rocket server backend as a static binary, using Eric Kidd's Docker container.

./static-binary.sh  # calls server/.container-script.sh

Other Libraries

This project also uses:

  • stdweb and cargo-web - core library and tooling that make frameworks like yew possible. You can support koute on Patreon.
  • maud - html templating
  • sled - an embedded, ordered key-value store
  • bincode - binary encoding for rust types, so we can put stuff in a sled tree

NOTE: This is a work in progress, but it should build, run and let you get started. These libraries are moving fast, so if anything is broken feel free to open an issue or a PR.

About

Example boilerplate for websites in pure Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 70.6%
  • CSS 24.5%
  • Shell 4.1%
  • HTML 0.8%