primeros pasos en rails - blog de javier smaldone · pdf fileprogramador pragmático...

37
Javier Smaldone Javier Smaldone http://www.smaldone.com.ar http://www.smaldone.com.ar 5tas Jornadas Regionales de 5tas Jornadas Regionales de Software Libre Software Libre Noviembre de 2005 Noviembre de 2005 Rosario, Santa Fe, Argentina Rosario, Santa Fe, Argentina Primeros pasos en Primeros pasos en Rails Rails

Upload: ngonga

Post on 01-Feb-2018

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Javier SmaldoneJavier Smaldonehttp://www.smaldone.com.arhttp://www.smaldone.com.ar

5tas Jornadas Regionales de 5tas Jornadas Regionales de Software LibreSoftware LibreNoviembre de 2005Noviembre de 2005

Rosario, Santa Fe, ArgentinaRosario, Santa Fe, Argentina

Primeros pasos en Primeros pasos en RailsRails

Page 2: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Problemática del desarrollo Problemática del desarrollo webweb Limitaciones de HTTP.

Limitaciones de los lenguajes (Perl, PHP, etc.).

Limitaciones de los frameworks existentes.

Incompatibilidad del modelo relacional con el orientado a objetos.

Page 3: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

ResultadosResultados

Duplicación de esfuerzo (y código).

Aplicaciones difíciles de mantener (y escalar).

Aplicaciones poco “usables”.

Page 4: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

El patrón MVCEl patrón MVC

Modelo = Estado

Vista = Interfaz

Controlador = Lógica

Provee una Provee una arquitectura sólida y arquitectura sólida y un nivel de un nivel de abstracción abstracción apropiado para las apropiado para las aplicaciones webaplicaciones web

Page 5: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Ruby on Rails - OrigenRuby on Rails - Origen David Heinemeier Hansson, un

programador pragmático (“Best Hacker” 2005).

Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores en la

actualidad.

¿Qué es?¿Qué es? Librería de clases (componentes). Herramientas (scripts).

Page 6: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

FilosofíaFilosofía

Agile developmentDRY (Don't Repeat Yourself)

Page 7: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RubyRuby

100% orientado a objetos.

Derivado de SmallTalk (altamente dinámico).

Objetos, Clases y Metaclases.

“Toda diferencia entre Ruby y Perl se encuentra en Smalltalk”

“Ruby es Perl pero bien hecho”

Page 8: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Rails - ArquitecturaRails - Arquitectura

Action Controller

Active Record

Action View

Action Mailer

Page 9: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Active Record y las bases Active Record y las bases de datosde datos ORM (Object/Relational

Mapping).

Clase Tabla

SQL sólo cuando sea necesario.

Page 10: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Action View (más que Action View (más que templates)templates) Ni Smarty ni Template-Toolkit. Ruby embebido Integración con los demás

componentes.

Page 11: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

EjemploEjemplo

RNews

Page 12: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 13: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 14: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 15: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 16: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 17: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 18: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 19: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 20: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 21: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 22: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 23: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 24: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 25: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 26: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 27: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 28: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 29: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 30: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 31: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 32: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 33: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

RnewsRnews

Page 34: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Potencialidad de RoRPotencialidad de RoR

Bases de datos complejas:

Bloqueo optimista.

Transacciones.

Sentencias SQL.

Testing

AJAX (Web 2.0)

Page 35: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Enlaces y material de Enlaces y material de referenciareferencia

Sitio de RoR: http://www.rubyonrails.org/

Agile Web Development with Rails. A pragmatic Guide. Dave Thomas y David Heinemeier Hansson. http://www.pragmaticprogrammer.com/titles/rails/

Sitio del lenguaje Ruby: http://www.ruby-lang.org/

Page 36: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

Preguntas Preguntas y y

respuestasrespuestas

Page 37: Primeros pasos en Rails - Blog de Javier Smaldone · PDF fileprogramador pragmático (“Best Hacker” 2005). Basecamp y Rails (el huevo y la gallina). Más de 15 desarrolladores

¡Muchas gracias!¡Muchas gracias!

Javier SmaldoneJavier Smaldonehttp://www.smaldone.com.arhttp://www.smaldone.com.ar

5tas Jornadas Regionales de 5tas Jornadas Regionales de Software LibreSoftware LibreNoviembre de 2005Noviembre de 2005

Rosario, Santa Fe, ArgentinaRosario, Santa Fe, Argentina