01/Septiembre/2025
Apuntes:
Después de ver la conferencia “Rails World 2025 Opening Keynote – David Heinemeier Hansson”, se destacaron varios temas importantes sobre el uso de frameworks en la vida laboral, la gestión de versiones y las buenas prácticas en despliegue de software.
Comentarios de mi Docente
Recomendaciones de estudio
- Revisar podcasts y libros de David Heinemeier Hansson (autor de Ruby on Rails).
- Buscar textos anteriores al Manifiesto Ágil (2001), ya que él los cita como inspiración. Se habla de unos 5 libros, disponibles en PDF de manera gratuita.
- Estos recursos ayudan a comprender mejor la filosofía de la programación ágil y cómo Rails adoptó esas ideas.
Cambios de versiones y entornos de trabajo
En la vida real, cuando se desarrolla con frameworks, es común que surjan cambios de versiones. Para gestionarlos:
- Contenedores: son útiles, pero usar configuraciones listas (ej. archivos
.ymldescargados) puede ser riesgoso, porque no se sabe qué dependencias se instalan ni cómo afectan al sistema. - Lo ideal: aprender a crear y gestionar contenedores propios, para controlar dependencias y despliegues en la infraestructura de la empresa.
- Ejemplo cotidiano: en Windows al instalar software, cada aplicación puede requerir librerías compartidas (
.dll). Esto puede causar conflictos si una versión es distinta. Lo mismo ocurre en servidores: muchas compilaciones dependen de librerías externas.
Compilación y retrocompatibilidad
- Los paquetes precompilados (ej. en Ubuntu,
apt install) están diseñados para ser genéricos y compatibles con procesadores básicos, como un Celeron. - Esto asegura retrocompatibilidad, pero sacrifica optimización.
- Lo ideal en producción: bajar el código fuente, compilarlo y configurarlo según el procesador y necesidades específicas. Así se gana rendimiento y se eliminan funciones innecesarias.
Gestión de proyectos y equipos
- En equipos grandes (ej. 50 programadores), el Project Manager (PM) puede no tener experiencia técnica. Esto genera el riesgo de no revisar ni cuestionar el código, lo que afecta la calidad final.
- En infraestructura, la cantidad de programadores disponibles disminuye año con año (se estima un 30% menos este año), lo que resalta la importancia de herramientas que faciliten el trabajo.
- Ruby on Rails ofrece una visión integral (“toda la película”), permitiendo pruebas locales, entornos de test y despliegues más rápidos.
Costos y proveedores
-
Muchas empresas optan por la nube, pero el keynote menciona que 80% de los costos están en la nube y podrían reducirse al migrar o gestionar mejor la infraestructura.
-
Comparación de proveedores:
- Cisco: cobra por actualizaciones remotas.
- Huawei: ofrece actualizaciones gratuitas, lo que puede ser más sostenible a largo plazo.
Conclusión
El aprendizaje clave es que usar un framework no se limita al código, sino también a cómo se maneja la infraestructura, los cambios de versión, la seguridad y los costos. Instalar y configurar manualmente (en vez de depender de .yml automáticos) da más control y entendimiento del sistema.
Glosario de términos
- Framework: Conjunto de librerías y herramientas que facilitan el desarrollo siguiendo buenas prácticas.
- Contenedor: Entorno aislado que empaqueta aplicaciones y dependencias (ej. Docker).
.yml: Archivo de configuración en YAML, usado para automatizar despliegues y dependencias.- Librería dinámica (
.dll): Archivo que contiene código reutilizable en Windows; compartido por varios programas. - Compilación: Proceso de traducir código fuente a código ejecutable optimizado para un procesador.
- Retrocompatibilidad: Capacidad de un software para funcionar en sistemas antiguos o de bajo rendimiento.
- PM (Project Manager): Persona que gestiona un proyecto, aunque no siempre tiene conocimientos técnicos.