Presentado en: http://www.meetup.com/Zaragoza-Ruby-Jam-Sessions/events/152199912/
Autor: Nando Sola, aka @mr_solo
About: Soy socio fundador de dos start-ups, desarrollo full-time en JRuby desde hace 5 años, coordino @MadridJUG y soy adicto a la achicoria. En otra vida me dediqué a proyectos de integración de sistemas y labores de sysadmin. También llamo “vi” a “vim”.
Título: “Ruby como herramienta de guerrilla en el mundo ‘Enterprise'“
Idioma: Español
Slides: Español
En esta charla explicaré las motivaciones que hay detrás de una aplicación “enterprise” en Ruby y por qué no todo debe tratarse como un “CRUD”. En estas tierras áridas, ni Rails ni ActiveRecord serán de mucha ayuda.
Afortunadamente, dentro de las comunidades Java, .NET o incluso SmallTalk hay bastante literatura y ejemplos sobre cómo abordar problemas de modelado de aplicaciones complejas. Desde hace relativamente poco, estos patrones y prácticas tan establecidas en esas otras comunidades, se están empezando a aplicar a Ruby con resultados muy productivos e interesantes. Desde cosas tan (aparentemente) simples como la orientación a objetos basada en patrones, hasta grandes paradigmas de diseño como DDD.
El enfoque de la charla será 99.9% práctico y un 0.1% mágico. Os contaré cómo nuestra aplicación REST de backend, basada en Sinatra, usa transacciones, puede manejar varios tipos de concurrencia y persiste a la base de datos. ¡Y todo sin que las entidades se enteren!
Por último, os desvelaré el motivo real de la charla: buscar colaboradores para ayudarme a mantener y desarrollar el proyecto “sequel-uow”, que es la pieza de código que me está ayudando a aprender todos estos conceptos de los que os he hablado y que desconocía hasta hace tan sólo un año. Yo también soy un principiante y quería tener un proyecto para poder “hacer las cosas mejor” en nuestra aplicación. El proyecto avanza a medida que la aplicación lo necesita; no es perfecto ni quiero que lo sea. Faltan muchas cosas, los tests son un caos y probablemente no deberías usarlo todavía.
A no ser, claro, que te interese que aprendamos juntos patrones de diseño, orientación a objetos, refactoring, TDD, DDD y muchas cosas de las que se habla ahora en nuestra comunidad Ruby.