Ruby on RailsEl desarrollo web que no duele
Por Nelson Rojas Núñez
¿Quién soy?
+ Ingeniero de Ejecución en Computación e Informática (UCM)+ Desarrollador (45hrs)+ Docente vespertino+ Webmaster www.linares.cl*
¿Qué es Ruby on Rails?
+ Es un framework de desarrollo construido en lenguaje Ruby
+ Permite construir aplicaciones web que usan bases de datos
¿Acaso no hay muchos
frameworks que hacen lo mismo?
¿Qué tal si te digo que puedes construir tu aplicación 10 veces
más rápido que con un típico framework Java?
Y por cierto, ¡sin sacrificar la calidad
de la aplicación!
¿Cómo puede ser eso posible?
RUBY
“Rails es la aplicación de ruby”Yukihiro Matsumoto (matz)
creador de ruby
Filosofía
+ Menos código
+ Convenciones sobre configuraciones
+ Separación de código según MVC
Menos código
+ La aplicación en pocas líneas+ Acelera el desarrollo+ Reduce los errores+ Más simple de entender, mantener y mejorar
DRYDon't repeat yourself
Convenciones sobre configuraciones
+ En vez de usar XML para configurarlo todo, mejor tomamos ciertos acuerdos y trabajamos sobre ellos
Ejemplos de CoC
+ Las tablas tienen nombres en plural (anglo)+ Todas las tablas tienen un campo PK llamado id auto incremental+ El campo FK usa el nombre en singular de la tabla seguido de _id
MVC
+ Modelo+ Vista+ Controlador
Modelo
+ Abstrae los elementos del negocio (tablas)+ Implementa la lógica de negocio+ Establece la relación entre modelos
Vista
+ Es lo que el usuario ve en el navegador (HTML)+ Contiene los gatillos para realizar acciones (enlaces y formularios)
Controlador
+ Realiza las peticiones del usuario+ Responder usando vistas o redirección a otra acción
¡Hay más!
Ruby on Rails es agnóstico en cuanto al motor de base de datos
Puedes usar sin problemas
+ MySQL+ PostgreSQL+ Oracle+ SQL Server+ Sqlite+ MongoDB
El cambio sólo requiere de 1 archivo*
¿SQL?
Nunca más lo usé gracias a CRUD
¿Migración de base de datos?
¿Te imaginas un crecimento regulado y
con versión del esquema de BD?
Herramientas en Ruby on Rails
Tareas automatizadas+ Andamios
+ Controladores+ Modelos
+ Migración BD+ Testing
+ Estadísticas+ Documentación
+ Entre otras
Timeline de RoR
2004Nace Ror
2005Ror 1.0
2007Ror 2.0
2010Ror 3.0
2011Ror 3.1
David Heinemeier HanssonCreador de Ruby on Rails
Hijos ilustres de RoR+ Twitter+ Github
+ Groupon+ OracleMix
+ PragmaticProgrammers+ Tadalist
+ Whiteboard+ Scribd
Novedades en v3+ Sass (Syntactically Awesome
Stylesheets)+ jQuery como estándar
+ CoffeeScript+ Http Streaming
+ Migraciones de bases de datos reversibles
...
Ruby on Rails 3 en acción
¿Preguntas?