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

Relation to other modular web frameworks in development? #112

Closed
alexreg opened this issue Dec 23, 2018 · 5 comments
Closed

Relation to other modular web frameworks in development? #112

alexreg opened this issue Dec 23, 2018 · 5 comments

Comments

@alexreg
Copy link

alexreg commented Dec 23, 2018

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.

@yoshuawuyts
Copy link
Member

@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!

@alexreg
Copy link
Author

alexreg commented Jan 10, 2019

@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).

@luover
Copy link

luover commented Jan 11, 2019

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.

@yoshuawuyts
Copy link
Member

when you say "async", do you specifically mean the async/await functionality built into Rust now, or the more general concept

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!

@yoshuawuyts
Copy link
Member

@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.

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