- Rails 8 es muy útil para proyectos pequeños y para desarrolladores en solitario.
- Con la guía de inicio más reciente, es posible construir aplicaciones de nivel de producción con facilidad.
- Gracias a las mejoras en SQLite, es posible montar un entorno de base de datos robusto sin servidores adicionales.
- La integración de CI y un generador de autenticación incorporados mejora la eficiencia del desarrollo y refuerza la seguridad.
- Con un despliegue simple mediante Kamal, puedes operar el servicio de forma rápida y segura.
Resumen
- Con la experiencia de uso de Rails 8, sigue siendo un excelente framework web para proyectos pequeños y desarrolladores individuales.
- Gracias a la construcción rápida, el despliegue eficiente y los módulos incorporados, destaca su ventaja en productividad frente a otros frameworks.
Excelencia de la guía reciente
- La guía reciente de Getting Started with Rails está diseñada para que incluso un principiante pueda construir una app de producción.
- Aunque la instalación de Ruby sigue siendo compleja, si sigues las indicaciones de la guía, es posible montar un servicio sólido con autenticación, caché, texto enriquecido, CI y base de datos incluidos.
- Su fortaleza es no quedarse en un simple “Hello World”, sino ofrecer una base y funciones de nivel de servicio real.
- Es un punto de partida ideal para quienes no están familiarizados con Rails.
Con SQLite basta
- SQLite es una excelente herramienta por defecto, pero hasta ahora no siempre fue fácil configurarla para producción.
- Antes requería trabajo adicional como instalar gems extra, pero con Rails 8 ya puede usarse de forma estable en entorno de producción sin configuración adicional.
- No hace falta levantar PostgreSQL ni servidores adicionales, y con solid cache no se necesita un servidor de Redis.
- Con solo Rails y SQLite puedes poner un servicio en marcha y maximizar la simplicidad en implementación y la eficiencia de costos.
CI (integración continua) fácil
- En Rails 8 se incluye una configuración de CI integrada por defecto, y después del primer commit llegan notificaciones de fallos de CI.
- Se integra con GitHub Actions sin trabajo adicional y ofrece 2.000 minutos gratuitos de tiempo de ejecución al mes.
- Para un desarrollador en solitario, es un tiempo bastante amplio.
Incorporación del generador de autenticación
- Gems de autenticación como Devise eran potentes, pero su complejidad de configuración hacía que para principiantes se sintieran algo difíciles.
- En Rails 8 se agregó un generador de autenticación simple; desde la consola basta con agregar usuarios existentes para implementar fácilmente el flujo de inicio de sesión.
- El código generado es simple y fácil de leer, por lo que también es fácil de entender para quienes comienzan.
Despliegue simple y rápido con Kamal
- La responsabilidad del proceso de despliegue la asume Kamal; si editas solo una parte del archivo
deploy.yml y sigues las instrucciones, puedes poner la app en funcionamiento con SSL de inmediato.
- Es una experiencia de despliegue de web app más rápida que conectar SSL en GitHub Pages.
- La combinación de CI y despliegue fácil es uno de los aspectos más destacados de Rails 8.
- Aun siguiendo solo la guía de inicio, puedes lograr una experiencia de desarrollo alineada con las mejores prácticas actuales.
Conclusión
- Rails sigue siendo un framework poderoso y en constante evolución.
- Si este año estás pensando en un proyecto nuevo, vale la pena atreverse a desarrollar con Rails 8
2 comentarios
Últimamente he visto muchos artículos sobre SQLite, y ahora esto ya subió a todo, hasta para todo: también SQLite. ¿Deberíamos decir que es un resurgimiento de lo clásico?
Comentario de Hacker News
ogen, a partir de un solo documento OpenAPI se puede generar automáticamente casi todo: router estático, validación de request/response, monitoreo con Prometheus, trazabilidad con OpenTelemetry, etc. También genera código de cliente y de webhooks; la autenticación queda en agregar solo una función. Combinandosqlcy elpragma user_versionde SQLite, la generación de código tipado para DB y las migraciones también se vuelve fácil. Añadir SQLite también termina siendo tan simple como agregar dos líneas deimportenmain.go. Con las plantillas estándar de Go basta para manejar texto del frontend y conembedpuedes incluir activos estáticos en el binario fácilmente. El despliegue directo también es muy simple:go buildy mover el binario y listo. Gracias a las herramientas de generación de código, el backend en Go quedó muy rápido y fácil de desarrollar.beego, quizá lo mejor que hay. Pero todavía siento que su madurez es insuficiente para decir que esté al nivel de Django o Rails.goravel dev.ActiveRecord+arelque Django ORM. (A nivel personal, escribir código en Ruby me resulta más divertido que hacerlo en Python.)ADD CONSTRAINT, tampoco lenguaje PL ni stored proc simple, así que terminas haciendo roundtrip en el lenguaje host, y en lenguajes estáticamente tipados especialmente.ActiveRecord validationpuedes manejar casi todo, pero hay límite para reflejar restricciones fundamentales.gem. También tuve algo de culpa, pero sentí que sería mejor si se pudiera manejar más fácil. Aun así, me dejó con ganas de retomar Ruby.litestacktambién vale la pena revisarlo una vez. No lo he usado en forma directa, pero planeo migrar mi proyecto personal de Postgres a litestack. El rendimiento de su benchmark me parece muy impresionante.