ruby on rails - nelson rojas – alquimista informático · ruby on rails el desarrollo web que no...

33
Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Upload: hakhanh

Post on 13-Oct-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Ruby on RailsEl desarrollo web que no duele

Por Nelson Rojas Núñez

Page 2: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¿Quién soy?

Page 3: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

+ Ingeniero de Ejecución en Computación e Informática (UCM)+ Desarrollador (45hrs)+ Docente vespertino+ Webmaster www.linares.cl*

Page 4: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¿Qué es Ruby on Rails?

Page 5: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

+ Es un framework de desarrollo construido en lenguaje Ruby

+ Permite construir aplicaciones web que usan bases de datos

Page 6: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¿Acaso no hay muchos

frameworks que hacen lo mismo?

Page 7: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¿Qué tal si te digo que puedes construir tu aplicación 10 veces

más rápido que con un típico framework Java?

Page 8: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Y por cierto, ¡sin sacrificar la calidad

de la aplicación!

Page 9: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¿Cómo puede ser eso posible?

Page 10: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

RUBY

“Rails es la aplicación de ruby”Yukihiro Matsumoto (matz)

creador de ruby

Page 11: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Filosofía

+ Menos código

+ Convenciones sobre configuraciones

+ Separación de código según MVC

Page 12: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Menos código

+ La aplicación en pocas líneas+ Acelera el desarrollo+ Reduce los errores+ Más simple de entender, mantener y mejorar

Page 13: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

DRYDon't repeat yourself

Page 14: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Convenciones sobre configuraciones

+ En vez de usar XML para configurarlo todo, mejor tomamos ciertos acuerdos y trabajamos sobre ellos

Page 15: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

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

Page 16: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

MVC

+ Modelo+ Vista+ Controlador

Page 17: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Modelo

+ Abstrae los elementos del negocio (tablas)+ Implementa la lógica de negocio+ Establece la relación entre modelos

Page 18: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Vista

+ Es lo que el usuario ve en el navegador (HTML)+ Contiene los gatillos para realizar acciones (enlaces y formularios)

Page 19: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Controlador

+ Realiza las peticiones del usuario+ Responder usando vistas o redirección a otra acción

Page 20: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¡Hay más!

Page 21: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Ruby on Rails es agnóstico en cuanto al motor de base de datos

Page 22: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Puedes usar sin problemas

+ MySQL+ PostgreSQL+ Oracle+ SQL Server+ Sqlite+ MongoDB

Page 23: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

El cambio sólo requiere de 1 archivo*

Page 24: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¿SQL?

Nunca más lo usé gracias a CRUD

Page 25: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¿Migración de base de datos?

¿Te imaginas un crecimento regulado y

con versión del esquema de BD?

Page 26: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Herramientas en Ruby on Rails

Page 27: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Tareas automatizadas+ Andamios

+ Controladores+ Modelos

+ Migración BD+ Testing

+ Estadísticas+ Documentación

+ Entre otras

Page 28: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Timeline de RoR

2004Nace Ror

2005Ror 1.0

2007Ror 2.0

2010Ror 3.0

2011Ror 3.1

David Heinemeier HanssonCreador de Ruby on Rails

Page 29: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Hijos ilustres de RoR+ Twitter+ Github

+ Groupon+ OracleMix

+ PragmaticProgrammers+ Tadalist

+ Whiteboard+ Scribd

Page 30: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Novedades en v3+ Sass (Syntactically Awesome

Stylesheets)+ jQuery como estándar

+ CoffeeScript+ Http Streaming

+ Migraciones de bases de datos reversibles

...

Page 31: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Ruby on Rails 3 en acción

Page 32: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

¿Preguntas?

Page 33: Ruby on Rails - Nelson Rojas – Alquimista informático · Ruby on Rails El desarrollo web que no duele Por Nelson Rojas Núñez

Contacto

@nelsonrojas (Twitter)

nelsonrojas.wordpress.com

[email protected]