Quebraderos de cabeza On Rails May 6, 2007
Posted by Iñigo in : Uncategorized , trackbackLlevo una temporada queriendo montar alguna aplicación para probar RubyOnRails, el marco de aplicaciones de moda.
De hecho, he empezado a portar Mootion a Ruby On Rails; pero las cosas no son tan fáciles como parecen el los screencast de Rails:
- El API de Rails está en contínua evolución. Esto quiere decir que la documentación en papel, la realidad no tienen mucho que ver.
- En ocasiones la documentación en línea del API y la implementación concreta no coinciden (si la documentación y el código hacen cosas distintas, los dos están mal): por ejemplo, el método get_or_create_by_XXXX puede llegar a no crear el objeto que esperamos aunque según la documentación debe crearlo.
- Cuando alguna llamada al API no funciona como esperabas, te pegas de tortas con las validaciones de Rails y/o de la Base de Datos (a mí me gusta que el gestor de la BBDD realice alguna validación).
- Los screencast llevan a engaño: hacer una aplicación a partir del scaffold es sencillo y divertido; pero para una aplicación que funcione como se espera, hay que sudar por lo menos tanto como en otros marcos de aplicaciones (si aprendes a la vez el lenguaje y las APIs ya sabes que te toca sufrir un rato).
Pero lo que más me cuesta de RubyOnRails es que hace muchas cosas por tí. No estoy acostumbrado a ésto.
Mi forma de programar es más defensiva que imperativa: desde que aprendí a programar en C me he acostumbrado a validarlo todo por si ocurre algo raro (que suele ocurrir, como quedarte sin memoria o que los ficheros no se hayan podido crear).
En Rails se puede programar de manera defensiva; pero hay formas de evitarlo que lo hacen más fácil de leer (como el get_or_create_by).
¿A qué viene todo esto? a que me apetecía quejarme de Rails. Llevo una temporada tratando de portar Mootion a RubyOnRails y no es tan sencillo como parece (hay mucho que aprender y muy poco tiempo para codificar).
en Ruby
Lo “gracioso” es que cuando descubrí Twitter, en menos de media hora me había creado un programita en Ruby para actualizar mi estado en Twitter. Y resulta más cómodo que entrar en su página para actualizar.



Comments»
no comments yet - be the first?