book icon indicating copy to clipboard operation
book copied to clipboard

how to talk about relevant crates

Open wookietreiber opened this issue 3 years ago • 1 comments

from: https://github.com/rust-cli/book/pull/157#discussion_r947838706

So far, we only list out crates we directly use. We might want to give more thought to how we would want t talk about relevant crates more generally.

Choices

I can see three main choices:

  1. Delegate: Don't talk about crates at all and link to other resouces.

    • Link to the crates you use directly in the sections where you use them.
    • Reduce the Useful crates section to links pointing to e.g. https://github.com/rust-unofficial/awesome-rust#command-line and/or https://lib.rs.
  2. List: Just list crates without discussion of differences between crates of the same domain.

    • (Domain as in e.g. pretty-printing table crates, or argument parser crates.)
    • Con: competition with awesome-rust et al. lists / duplicated effort. (but these other lists could be assimilated/consolidated here)
    • Pro: You'd have everything in one place, i.e. if you'd wanna know/learn about CLI in Rust, this book would always be the go to resource. (which it isn't at the moment because the useful crates section is neither exhaustive nor does it discuss crates in the same domain)
  3. Discuss: List and discuss the relevant crates in their respective domain.

    • Let awesome-rust et al. be the short list version. Extend on a simple listing by discussing differences between crates in the same domain, e.g. when would I use clap over any of the other argument parsing libs out there and when would I use any of the other libs.
    • This could be organized in sub sections of Useful crates, i.e. keep the main Useful crates page as is, and add a subsection for each domain.

wookietreiber avatar Aug 20 '22 08:08 wookietreiber

Thanks for that write up! Thats a good way of framing the options!

Today, we take the following two approaches

  • List crates used in the book
  • Delegate crates to lib.rs

Another resource we can delegate to that has some level of "discuss" in it is https://github.com/rosetta-rs

https://rust-cli-recommendations.sunshowers.io/index.html (which I hope to integrate some day) does a mixture of endorse specific crates while sometimes discussing trade offs of alternatives.

Personally, I would lean towards delegating to rosetta and awesome rust. Creating yet another list means its yet another thing to risk going stale as people will most likely see the book as a starting resource and not a reference, so it won't be forefront to add or modify the list.

epage avatar Aug 25 '22 12:08 epage