xtuyaowu / xitca-web

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

An alternative http library and web framework inspired by hyper and actix-web.

Requirement:

  • rustc 1.64.0-nightly (263edd43c 2022-07-17)

Motivation:

  • thread per core. Prefer less synchronization when possible.
  • 100% safe Rust. All unsafe codes are outsourced to dependencies.
  • Low memory footprint. Avoid (pre)allocation when possible.
  • Light weight dependency tree. Avoid adding unnecessary import when possible. Prefer no proc macro code generation when possible(proc macro feature are still offered as opt-in instead of opt-out).
  • Experiment nightly Rust features: generic_associated_types and type_alias_impl_trait to make async web frameworks easier to use.
  • Make code base compact and simple. Reduce the barrier of understanding of source code for easier contributing.
  • Simplify ecosystem with no homebrew new type/crate wrapper. tokio(for async runtime) and http(for http types) are used directly as dependency.

Limitation:

  • Experimental.
  • No stable API.
  • Feature in-complete.
  • Test cover is poor.

About

License:Apache License 2.0


Languages

Language:Rust 100.0%