Rising with the Tide

Evaluating Rust’s latest community-driven web framework

whoami

Nicholas Young

♿ 🦀 🌊

Colorado Gold Rust

https://cogoldrust.com

CFP is open now: https://cfp.cogoldrust.com

https://www.secretfader.com/slides/rising-with-tide/

  • Enhancing accessibility of working group discussions
  • Clarifying application development patterns
  • Providing real-world examples to drive framework progress

What is Tide?

  • Tide is a modular framework for building web applications
  • It's a product from the web foundations team, part of the Rust 2018 Network Services Working Group (WG-Net)
  • Offers first-class support for async/await syntax (and upcoming std::futures support in rustc).

Tide's ultimate goal is not to develop a web framework.

Components

futures-rs

Provides base async types needed not only for Tide, but Tokio and other network runtimes.

http-service

Types and traits providing an interface between low-level server implementations and services that use them.

runtime

An example of what first-class async programming would look like if implemented in the Rust stdlib.

tide

Comprised of several crates, Tide is a providing ground for developments in http-service and futures-rs. The goal is to remain modular while providing a nice “out of the box” experience for newcomers, and enabling everyone to build performant async http services.

Demo

🚧 Under Construction 🚧

CFPx is a prototype application for managing your conference’s CFP, powered by Tide and the Rust Async ecosystem:

https://github.com/secretfader/cfpx

Roadmap

  • Authentication
  • Session handling
  • URL generation
  • Serving static files

Further Reading

Explained: how does async work in Rust? - @gruberb

Async in Rust, Circa 2018 - @aturon

Join Us!

https://github.com/rustasync

#wg-net-www (in Discord)

Nicholas Young

secretfader.com

@secretfader

hi@secretfader.com