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

Rocket/nightly? #12

Closed
apendleton opened this issue Feb 12, 2018 · 3 comments
Closed

Rocket/nightly? #12

apendleton opened this issue Feb 12, 2018 · 3 comments

Comments

@apendleton
Copy link

Current Hecate relies on the Rocket web framework, which requires the use of the unstable/nightly Rust compiler. Nightly contains language features that are subject to change, and also breaks occasionally, and at least per the current instructions (which recommend installing the latest nightly), each developer contributing to the project might end up with a different compiler with different features, behavior, and bugs depending on when they happen to set up their dev environment.

Rocket itself doesn't seem particularly close to running on stable (it seems like a project mostly interesting in pushing the language envelope rather than running on stable), and independent of stable vs unstable, the lead dev anticipates a major API overhaul to move towards async as the Rust async story matures.

The ergonomics do seem nice, but in the interests of building on a solid foundation and making it easy for everyone to work on it, I wonder if we shouldn't consider moving to a framework with a stable API that runs on the stable compiler? Nickel seems like a possibility, or if we wanted to get a head-start on async, maybe Gotham ?

@ingalls
Copy link
Contributor

ingalls commented Feb 12, 2018

Per voice, the server was originally written with Iron as the backend.

Due to problems with the underlying Iron codebase itself - around it handles threads and integrated with Hyper, I moved to Nickel and then settled on Rocket. This was a good move in hindsight as Iron is no longer maintained as of 3 days ago: iron/iron#576 (comment)

Talking to the rocket user group on IRC leads me to believe they are being fairly careful about major breaking changes where possible to the external API but as you mentioned above do plan to break once Hyper/Tokio threads stabilize.

I only looked briefly at Gotham but shied away from it as it is still a 0.1 release and had very poor DB connection pooling at the time.

I would propose we stay with rocket with a hard version lock unless we run into a concrete problem.

@fafhrd91
Copy link

I'd suggest to check actix, it is fast and runs on stable

@ingalls
Copy link
Contributor

ingalls commented Feb 26, 2018

Per above going to stick with Rocket unless we run into a significant blocker with the current framework.

@ingalls ingalls closed this as completed Feb 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants