Módulo: Desarrollo web con Rust
Este módulo forma parte del curso de Rust. .
Rust ha ganado popularidad significativa para el desarrollo web backend gracias a su rendimiento comparable a C y su seguridad de memoria. Los dos frameworks web más usados son Actix-web y Axum.
Actix-web
Actix-web es uno de los frameworks web más rápidos del mundo según benchmarks independientes. Usa un modelo de actores para la concurrencia y ofrece una API con macros de ruta (#[get], #[post]) que simplifica la definición de endpoints. Los extractores de datos (Query, Path, Json) se declaran como parámetros de las funciones handler. El estado compartido entre handlers se gestiona con web::Data<T>, típicamente envolviendo un Mutex<T>.
Axum
Axum es el framework web oficial de la familia Tokio. Su diseño se basa en el ecosistema Tower para middleware, lo que lo hace altamente composable. Los handlers son funciones async que reciben extractores tipados como parámetros. El estado compartido se declara con State<T> y se propaga con Router::with_state. Los errores se manejan implementando el trait IntoResponse para tipos personalizados, lo que permite usar el operador ? en los handlers.
Características comunes
Ambos frameworks ofrecen: rutas parametrizadas (/usuarios/:id), extracción de query parameters, extracción de cuerpo JSON con validación de tipos, respuestas JSON con serde, CORS mediante middleware, organización de rutas con prefijos y grupos, y manejo de errores con códigos HTTP correctos. La integración con serde y tokio es seamless en ambos casos.
Otros módulos de este curso
Desarrollo web con Rust
Todos los módulos del curso
Navega entre los módulos de Rust
Desarrollo web con Rust
Estás aquíExplora más sobre Rust
Descubre más recursos de Rust
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Rust es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.