LukeBrandon / fluke

5 stars 0 forks source link

Rocket is poorly maintained #30

Closed danielPerez97 closed 1 year ago

danielPerez97 commented 1 year ago

I saw currently the backend is using Rocket which doesn't seem to be getting as much maintenance as it's seen in the past, per this post I saw a few months ago.

"stable version requires nightly, release candidates for about two years, mostly just one not-very-active maintainer etc."

Should issues from Rocket begin to add up, I wanted to make you aware of potential alternatives in case it ever becomes an issue.

Actix-web: From what I can tell the community has really gotten down with actix in the last few years. One major advantage is the book, "Zero To Prod in Rust", uses actix for it's HTTP server code(and sqlx). Could be a useful reference while trying to build all this out.

Axum Axum, in my eyes, seems to have the most weight behind it for becoming what Spring is to Java. I say that because it's created by the same devs as Tokio which seems to be pretty ubiquitous in the Rust community.

LukeBrandon commented 1 year ago

I've been looking at Axum recently. Made by the tokio team is big, and it seems to be the lighter weight of the two, but I need to do more research on these 2. So far haven't been super impressed with the Rocket docs and available information

FlynnOConnell commented 1 year ago

Not to be that guy but I brought this up before this project was started ... I'm team Daniel

danielPerez97 commented 1 year ago

This could be a good opportunity to write some tests(I admit I haven't checked if there are any yet) treating the current setup like a black box so if we decide to switch the tests can remain. I have some experience with it already. Is Hyper okay to use for the http client for testing?

LukeBrandon commented 1 year ago

Axum is built on top of Hyper isn't it? Considering that, I'd say Hyper is a great choice. @danielPerez97 See https://github.com/LukeBrandon/fluke/pull/32 (still a wip)

LukeBrandon commented 1 year ago

Completed with #32 and #35