Spindle es un framework web para OCaml diseñado para ser rápido, ergonómico y estricto según las especificaciones RFC. Desarrollado por Hypha Technologies Ltd., esta herramienta permite a los programadores construir aplicaciones web modernas utilizando el motor HTTP/1.1 propio del framework, que cumple rigurosamente con los estándares RFC 9112, 9110, 6455, 7578 y 9651. El sistema está diseñado para ser nativo de Eio y soporta múltiples núcleos por defecto, optimizando el rendimiento en OCaml 5.
El enfoque de Spindle es tipado de extremo a extremo, lo que garantiza que los datos JSON se derivan directamente de los tipos de OCaml y que cada entrada se valida automáticamente. La documentación interactiva se genera a través de Scalar, basándose en las rutas definidas por el usuario, mientras que el frontend puede utilizar esquemas de Zod o Melange para mantener la coherencia con los tipos OCaml. El framework incluye componentes adicionales como soporte para bases de datos SQLite y PostgreSQL, WebSockets, SSE, sesiones, registro y métricas.
La instalación se realiza mediante OPAM, y la configuración en Dune es sencilla, requiriendo la inclusión de las librerías spindle y eio_main, así como el preprocesador ppx_wiretype. Spindle ofrece una experiencia de desarrollo fluida, permitiendo definir tipos con validaciones de rango y derivar automáticamente los esquemas de API. Este enfoque reduce la fricción en el desarrollo y asegura la consistencia entre la lógica de negocio y la interfaz de usuario, posicionándose como una alternativa robusta para proyectos que buscan eficiencia y control total sobre el protocolo HTTP.
