4 ms·
This is my project (although I didn't submit this to HN), AMA I consider quite incomplete at this point (but hopefully already useful). There are several categ
by nicoburns 4y ago
This is my project (although I didn't submit this to HN), AMA
I consider quite incomplete at this point (but hopefully already useful). There are several categories of crate that just aren't covered yet (suggestions very welcome, either here or on the github repo https://github.com/nicoburns/blessed-rs https://github.com/nicoburns/blessed-rs).
I'd also like to add more hand curated content such as:
- Installation and developer environment setup
- Link to learning resources (books, projects, etc)
- Explanations of the community (reddit, TWIR, discourse, github, zulip, etc)
- Themed guides (backend web development, CLI tools, game development, etc)
I want to put together more guidance on how to contribute, and gradually transition this into more of a community maintained model over time, but I haven't had a chance to do this yet.
- outside1234 4y agoThanks for putting this together. Some other ideas: * Config: dotenvy * Database: sqlx (async), diesel (sync, ORM) * gRPC: prost (protobuf library)
- TotempaaltJ 4y agoAnother for config: https://crates.io/crates/config https://crates.io/crates/config
- echelon 4y ago+1 for sqlx. Native SQL queries that are typechecked at compile time.
- maxbond 4y agosqlx is awesome but I'd add the small caveat that it has an annoying sharp edge with sqlite where it relies on sqlite's loose typing, but if you want to use the recent strict feature[1] (which enforces type & check constraints), you need to use the specific underlying types (eg, you need to specify INTEGER, not DATETIME). In which case, I'd recommend the excellent rusqlite. You'll also be able to use all sorts of advanced sqlite features that way, like writing functions in Rust that you can call from your queries[2]. [1] https://www.sqlite.org/stricttables.html https://www.sqlite.org/stricttables.html [2] https://docs.rs/rusqlite/latest/rusqlite/functions/index.html https://docs.rs/rusqlite/latest/rusqlite/functions/index.htm...
- c0balt 4y agoJust a small suggestion might be the category templating engines (incomplete list, based on my experience): - askama - tera - liquid And more importantly logging, due to this being a common usecase: - log - ... and companions - (maybe even advanced things, like opentelemetry)
- rob74 4y agoOTOH, this is supposed to be a list of "de facto standard" libraries. If there are several alternatives with no clear "winner", that may not be a good fit for this list?
- deleted 4y ago[deleted]
- marosgrego 4y agoRamhorns is a great templating engine. Faster than askama, although parsing the templates on runtime. https://docs.rs/ramhorns https://docs.rs/ramhorns
- rob74 4y agoThanks for compiling this! One small nitpick: "De facto random number generation library" doesn't mean what you probably want to say, it should be "De facto standard [...] library". Otherwise the "de facto" applies to "library", and that doesn't really make sense (at least not in Rust, where it's very well defined what can be called a library and what not)...
- nicoburns 4y agoYeah, I guess you're right. I've updated this.
- qwertox 4y agoThank you, this will help me a lot. I'm playing around a bit with Rust and knowing which libraries are popular and therefore somewhat trustworthy and dependable is really important. Your list is a nice collection and lists many of the things I've come across and played with, but there are some new ones which I didn't know existed and which I know will come in handy at some point.
- c54 4y agoIs there a standard Arena library?
- nicoburns 4y agoThere is `slab` (each instance can only store a single type), and `bumpalo` (which allows a mix a types in the same memory chunk). There is also `slotmap` which isn't really an arena, but can be used for some of the same use cases.
- ameliaquining 4y agoI think typed-arena fills this role.
- akeck 4y agoAs someone who is just starting to learn Rust, thanks so much for building this.
- resident4006 4y agoI’ve been interested in dabbling with Rust for some time but haven’t really had an idea of where to start or what to use if I do - this is super helpful in a way that the Awesome ** pages just aren’t bc of the info it gives on each library. Nice initiative - thanks for putting it together.
- pingiun 4y agoI think [slotmap](https://docs.rs/slotmap/latest/slotmap/ https://docs.rs/slotmap/latest/slotmap/) could be on there somewhere, I have found it very useful for various projects. I guess it could be listed under datastructures?