19 febrero 2013

Desarrollando con Ruby on Rails

Hoy Jon Arrien de Bilbomatica  nos responde a una breve entrevista, que nos permita acércanos a los principales conceptos del desarrollo en  Ruby on Rails.

¿ En que ecosistema de Midelware estáis desarrollando ? 

Estamos desarrollando una plataforma que permita catalogar todo tipo de recursos de biodiversidad, incluido un sistema de gestión documental con motor de indexación. Lo estamos realizando en Ruby On Rails, PostgreSQL y ElasticSearch, pero también hacemos uso de pre-procesadores (HAML, SASS), BDD (Behaviour Driven Development) y mucho CoffeeScript.


¿ Que aspectos han tenido mas peso a la hora de seleccionar Ruby on Rails como FrameWork.?

Tras haber desarrollado varias aplicaciones para iOS, me di cuenta que necesitaba una forma de sincronizar datos entre todos esos dispositivos y que hiciera uso de las tecnologías que permitan un desarrollo ágil. Los frameworks que mas se adaptaban a mis necesidades eran Groovy (Java), Django (Python) y Rails (Ruby). Tras varias de pruebas de concepto, finalmente tanto Ruby como Rails me engancharon por que están diseñados para la productividad y la diversión del desarrollador.

¿ Como considerarais que mejoran los tiempos de desarrollos y la calidad del software desarrollado en esta tecnología ?

Algunos frameworks pueden tener ventajas sobre otros, pero al final son todos parecidos. Creo que los tiempos de desarrollo y lo calidad del software viene ligado al equipo de desarrolladores, y no al framework o lenguaje que se use. 

Un elemento muy importante a la hora de los Desarrollos, es la curva de aprendizaje de los técnicos involucrados, ¿ como la describirías?

La curva de aprendizaje es bastante alta, en Ruby hay conceptos como los bloques, metaprograming o asociaciones poliformicas a los que los desarralladores no están acostumbrados. Ademas, cuando se desarrollan este tipo de plataformas entran en juego muchas mas cosas, y no solo el lenguaje que se usa en el backend. 

¿ Algún aspecto que deseéis reseñar o destacado ?

Me gustaría destacar, la sección de búsqueda que hemos desarrollado, permitiendo búsquedas NRT (Near Real Time) tanto en los datos de los objetos, como en la propia documentación. Puedes tener muchísimos documentos (PDF, DOC, XLS, etc) y buscar prácticamente al instante. Ademas, esta infraestructura, esta preparada para alojarse en diferentes nodos, y tener tantas replicas como se demanden, permitiendo balancear la información indexada entre nodos.