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
Relation to other modular web frameworks in development? #112
Comments
@alexreg hi, thanks for asking! There's probably a lot to be said about the differences, but in the end probably the most important motivating factor in Tide is that we're interested in exploring the design space of what an async/await-first frameworks can look like in Rust. The emphasis is very much on exploring here. We don't believe don't believe the design space of what's possible with async Rust has been exhausted yet, so this is our attempt to contribute. We also hope that by making it modular, others that wish to explore different designs will be able to progress faster than we could. After all, our slogan is: "a rising tide lifts all boats". And we certainly hope we can stay true to that! I hope that more or less answers it. Let me know if you have any other questions! |
@yoshuawuyts Thanks a lot for the clarification. I like the fact this is sort of a research project, and a practical one... when you say "async", do you specifically mean the async/await functionality built into Rust now, or the more general concept? Because I believe warp and tower-web also have async support, though perhaps they are not "async first" (I'm really not sure). |
I think tide is very cool with async/await, I also want to use it ! when you say tower-web and warp , do you also think that actix-web is very well support async, why they were created. |
Both! Async/await opens up new possibilities for API design by lifting restrictions the borrow checker imposed on sharing values beyond yield boundaries. But I also believe we haven't seen the last of general async designs. If we look at other languages and abstractions, for example we haven't seen much in terms of reactive or config-first frameworks yet. Or looking at new developments it'd be interesting to see frameworks that can offload part of their workload to the kernel using eBPF filters. Or run entirely on edge compute using WASM. I feel there's tons of designs to explore, and I'm incredibly excited about the path we're currently exploring with Tide! |
@luover personally I'm very happy all the frameworks you mentioned exist! I feel they all explore a unique design space, and bring novel ideas into the Rust ecosystem. They all support asynchronous operations, but have varying levels of async/await support. It's likely this will change once async/await becomes stable later this year. |
I see other active ongoing efforts like warp and tower-web, which appear to take a similar philosophy to web frameworks. Does tide aim to be different in some fundamental way? I was mainly wondering why work isn't focusing on one of them.
The text was updated successfully, but these errors were encountered: