Awesome Rust
A curated list of awesome Rust code and resources. Inspired by the other awesome lists.
Only projects that are stable and useful to users are added. Projects that do not compile with Rust-nightly for a longer time are moved to UNSTABLE.md
.
目录
Code
Audio
- bjz/openal-rs — OpenAL 1.1 bindings
- JeremyLetang/ears — a simple library to play Sounds and Musics, on top of OpenAL and libsndfile
- JeremyLetang/rust-portaudio — PortAudio bindings
- musitdev/rust-portmidi — PortMidi bindings
Build system
- Cargo — the Rust package manager
- CMake
- SiegeLord/RustCMake — an example project showing usage of CMake with Rust
- Make
- PistonDevelopers/rust-empty — a Makefile to get started with Rust
Command-line argument parsing
- docopt/docopt.rs — a DocOpt port to Rust
- wycats/hammer.rs —
Compression
- lifthrasiir/rust-zip — read and write ZIP archives
Computation
- eholk/rust-opencl — OpenCL bindings
Cryptography
- DaGenix/rust-crypto — cryptographic algorithms in Rust
- sfackler/rust-openssl — OpenSSL bindings
Database
- SQL
- MySql
- blackbeam/rust-mysql-simple — a native MySql client
- PostgreSql
- sfackler/rust-postgres — a native PostgreSQL client
- Sqlite
- linuxfood/rustsqlite — Sqlite3 bindings
- MySql
Encoding
- Cap'n Proto
- Character Encoding
- CSV
- MsgPck
- ProtocolBuffers
- TOML
- Tnetstring
- XML
- bjz/sax-rs — bindings to libxml2's SAX parser
- DanielFath/xml-parser — A hybrid pull, DOM parser written in pure Rust
- Florob/RustyXML — an XML parser written in Rust
- netvl/rust-xml — a streaming XML library
Game development
- JeremyLetang/rustenstein3D/ — a raycasting engine in rust
Games
- lifthrasiir/angolmois-rust — a minimalistic music video game which supports the BMS format
GUI
- Cocoa
- Gtk
- JeremyLetang/rgtk — GTK+ bindings
- ncurses
- SDL
- AngryLawyer/rust-sdl2 — SDL2 bindings
- brson/rust-sdl — SDL bindings
- Termbox
- gchp/rustbox — a Rust implementation of termbox.
Network programming
- ZeroMQ
- erickt/rust-zmq — ZeroMQ bindings
Template engine
- Mustache
Testing
- BurntSushi/quickcheck — property-based testing using randomly generated input.
- farcaller/shiny — a fancy syntax similar to ruby's rspec or Objective-C's kiwi.
Web programming
See also http://arewewebyet.com/
- core
- chris-morgan/rust-http — will be replaced by Teepee.
- seanmonstar/hyper —
- client
- carllerche/curl-rust — libcurl bindings
- vhbit/curl-rs — libcurl bindings
- server
Resources
- Rust by Example
- Rust CI — a Travis CI dashboard for Rust projects
- Rust Guidelines