3 puntos por GN⁺ 2024-11-04 | 2 comentarios | Compartir por WhatsApp
  • Inicio del blog

    • En 2022, comenzó a desarrollar una aplicación para completar declaraciones aduaneras.
    • Después de evaluar varios lenguajes y frameworks, decidió desarrollarla con Ruby on Rails.
    • Como ya conocía Rails, pudo desarrollar 10 veces más rápido que con otras opciones.
  • Desarrollo de la versión 2

    • Comenzó a desarrollar la segunda versión de la aplicación usando Rust y SvelteKit.
    • Al principio fue rápido y prometedor, pero solo se implementó el 10% de las funciones necesarias.
    • Como no había un framework de Rust comparable a Rails, tomó mucho tiempo.
  • Ventajas de Rust

    • Experimentó las ventajas del rendimiento de Rust y de compilar sin errores.
    • En Ruby ocurrían errores en tiempo de ejecución con frecuencia, lo que le hizo sentir la necesidad de Rust.
  • Cambios en el frontend

    • Se sintió insatisfecho con el frontend de Rails y decidió cambiar a SvelteKit.
    • Con el nuevo stack, migró rápidamente algunas páginas, pero el despliegue se volvió más complejo.
  • La realidad del desarrollo

    • La parte hecha en Rails siguió evolucionando al agregar funciones útiles de forma constante.
    • Se dio cuenta de que el cambio a Rust y Svelte no aportaba valor directo a los usuarios.
  • La dificultad de decidir

    • Decidió abandonar el nuevo stack y volver a Rails.
    • Impulsó a los miembros del equipo a aprender Rails.
  • Ventajas de Rails

    • Rails es la base de muchas empresas exitosas y ofrece muchas librerías y un ecosistema amplio.
    • Permite enfocarse en el desarrollo del producto.
  • Lecciones

    • Aprender nuevos lenguajes y frameworks aporta muchas ideas y aprendizajes.
    • El desarrollo de aplicaciones web requiere muchas decisiones y concesiones.
    • Volver a Rails fue una buena decisión y aumentó la productividad.
  • Desventajas de Ruby y Rails

    • Los problemas en tiempo de ejecución pueden resolverse con pruebas.
    • Que el código se vuelva complejo es un problema del desarrollador y debe organizarse bien.
    • Rails es lo suficientemente rápido, y el rendimiento puede mejorarse con Turbo y caché.
  • Conclusión

    • No existe un lenguaje o framework perfecto; hay que entender y aprovechar los pros y contras de cada uno.
    • Rails es una buena opción, y muchos otros frameworks también son excelentes.

2 comentarios

 
lemonmint 2024-11-04

Reescríbelo en Ruby
Reescríbelo en Rails

 
GN⁺ 2024-11-04
Comentarios en Hacker News
  • Rails, Django y Laravel están muy por delante de otros stacks para desarrollar aplicaciones web. Se encargan del trabajo repetitivo, entienden bien los requisitos y no estorban al momento de construir una aplicación. El desarrollo web ya se siente como un problema resuelto, y las tecnologías relacionadas con JavaScript tienden a estar impulsadas por el financiamiento de grandes empresas

  • Llevo 17 años usando Rails y todavía me encanta y lo prefiero. Facilita separar el código, así que los encabezados de los archivos no se vuelven innecesariamente largos. Si separas la lógica del marcado, puedes probarlos de forma independiente y es más fácil rastrear errores

  • Rust es un lenguaje creado por gente muy brillante, pero está tan centrado en teoría de tipos y asignación de memoria que resulta difícil de entender para desarrolladores comunes. Incluso cuando leo entradas de blog sobre Rust, apenas entiendo como la mitad

  • Han disminuido mis quejas sobre Ruby y Rails. No existe un lenguaje o framework perfecto, y hay que conocer sus fortalezas y debilidades para poder manejarlas

  • Es difícil escribir rápidamente una aplicación web grande en Rust. Una aplicación grande escrita en Rails no va a ejecutarse rápido, y puede tener muchos errores y ser difícil de mantener y escalar. Lenguajes como Java, C# y Go permiten terminar el trabajo tan rápido como Rails, mientras se ejecutan tan rápido como Rust

  • Tecnologías como NextJS y SvelteKit son populares entre desarrolladores JS porque resuelven los problemas de la experiencia de desarrollo backend en Node.JS. Rails ofreció de forma revolucionaria una solución integral para construir aplicaciones en 2006

  • Estoy probando AdonisJS como alternativa en TS a Rails. Es similar a Rails o Laravel y reduce la carga de tener que decidir cada parte del stack

  • Me confunde la opinión de que Rust no es adecuado para backend web. He tenido una buena experiencia en servicios pequeños, y aunque la complejidad puede aumentar al construir aplicaciones grandes, Rust da la confianza necesaria para codebases de gran escala

  • Estoy teniendo una experiencia similar con Django, y los problemas de rendimiento suelen venir más de las consultas a la base de datos que de Django en sí

  • No estamos en 2010, así que me pregunto por qué usar Rails. Hay muchas alternativas como Java(Spring), Go y Node. Usar Rust es una elección tan extraña como usar C++