Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

web server upgrade #221

Closed
robjtede opened this issue May 18, 2024 · 5 comments · Fixed by #229 · May be fixed by #224, #228 or #225
Closed

web server upgrade #221

robjtede opened this issue May 18, 2024 · 5 comments · Fixed by #229 · May be fixed by #224, #228 or #225
Labels
general-discussion General discussion issues maintenance Keeping the wheels turning

Comments

@robjtede
Copy link
Member

robjtede commented May 18, 2024

Given the trimmed down scope of hyper v1, it's probably going to be just as much work, if not more, to upgrade to that vs any other server lib/framework.

Possibilities, alphabetical:

  • Actix Web
  • Axum: TODO
  • Hyper v1
  • Leptos (full-stack)
  • Poem

Contributors, feel free to edit this post to add your ideas to the list.

@robjtede
Copy link
Member Author

robjtede commented May 18, 2024

My bias is obviously towards Actix Web but it's interesting being involved with a different flavored project to keep knowledge of "the other side" fresh.

@robjtede robjtede added maintenance Keeping the wheels turning general-discussion General discussion issues labels May 18, 2024
@deps-rs deps-rs locked and limited conversation to collaborators May 18, 2024
@deps-rs deps-rs unlocked this conversation May 20, 2024
@Enet4
Copy link
Contributor

Enet4 commented May 20, 2024

I'm not sure why I locked this issue. Must've been a misclick, sorry. 😨

It is interesting that this project has used Hyper for the web server, which AFAIUI is more of a library than a framework, and has required the developers involved to do a lot more work from the ground up in order to have a fully functional server. I agree that we are better off with picking a more substantial web framework this time. Aside from hyper, I see no impediment to the use of any of the frameworks listed, they all seem capable of fulfilling our needs. I happen to only have some experience in Actix Web, but the other ones should not be too complicated to pick up either.

In terms of popularity, Axum has more total crate downloads (44.8M), followed by Actix Web (19.7M).

Given the isomorphic nature of Leptos, someone experienced with it could clarify if it would require us to rewrite the frontend, or just make way for other frontend niceties in the future.

@robjtede
Copy link
Member Author

In terms of popularity, Axum has more total crate downloads

FWIW, those numbers are skewed quite sigificantly by its default inclusion in tonic. If just the router was split to a separate crate you'd see a marked decrease.

I'm gonna spend some time today doing both conversions and we can see with PRs which is nicer for us.

@robjtede
Copy link
Member Author

robjtede commented May 27, 2024

@robjtede
Copy link
Member Author

robjtede commented May 29, 2024

(@)contributors Would appreciate opinions on the above PRs.

Confirmed on Tokio's discord that axum (full) is the only variant here which doesn't properly support our current routing structure. We'd have to do manual path parsing for /repo/... routes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
general-discussion General discussion issues maintenance Keeping the wheels turning
Projects
None yet
2 participants