How to find the right crate?

I wrote a version of Conways Life in C, using the ncurses.h for graphics in a terminal, ssh or cli. Now I am translating this to Rust, which in general goes fine. I think I will manage to use ncurses as well. But I was wondering, given the numerous crates with “ncurses” in their name and/or description, how do I know which one I need?

And furthermore, how do I decide if ncurses is the best solution for my problem? More in general: how does one decide what crates to use? I found a search function on the rust-website to search for crates, but the result is daunting.

Follow instructions that come out in exactly 7 days time.

Best solutions are overrated. Write some code instead of procrastinating. Picking what is popular and pure-Rust-only solves everything (unless it doesn't.) Gather complete requirements and find what meets them for short term solution; then go agile as you get to write/modify more code in future.

1 Like

In general, if I have an idea of what I want, I go to crates.io and search for it, and then look for the crates with the most recent activity (meaning either development, or downloads, or both).

If I don't feel confident with what I found from that, I'll post in this forum for advice.

As to your specific question, it's not something I've done a lot but I get the impression that Ratatui is really good for terminal graphics. It looks like the other main option is Cursive, which appears to be more integrated with ncurses, so that might work out better for you.

2 Likes

Consider searching on https://lib.rs instead of crates.io. lib.rs tries harder to rank the "best" crates at the top of search results, using a mix of variables. Example.

3 Likes

There are some projects that are known to be "good"???
For example servo
Look at the Cargo.toml of some projects that do something close to what your program will do and look at their Cargo.toml files to see what crates they use.

Of course servo probably does not do curses type stuff, so that example will not help in this case... I was being general. If you do look at the servo source Cargo.toml you will see many crates that could be considered "recommended" for general use..

1 Like