Ruby On Rails (Parte 1. Introducción)

2,603 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,603
On SlideShare
0
From Embeds
0
Number of Embeds
97
Actions
Shares
0
Downloads
40
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Ruby On Rails (Parte 1. Introducción)

  1. 1. Seminario I: Confidentiel
  2. 2. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 2 04/10/2006 Confidentiel
  3. 3. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 3 04/10/2006 Confidentiel
  4. 4. ¿Por qué surge Ruby on Rails? “Convertir las debilidades en fortalezas” Sun Tzu. El arte de la guerra 4 04/10/2006 Confidentiel
  5. 5. ¿Por qué surge Ruby on Rails? ¿Cómo es un desarrollo web? Tarea 2 Tarea 5 Tarea 2 Tarea 1 Tarea 4 Tarea 3 Tarea 1 Tarea 1 Tarea 3 Tarea 6 5 04/10/2006 Confidentiel
  6. 6. ¿Por qué surge Ruby on Rails? ¿Cómo es un desarrollo web? Limitaciones de Tiempo Limitaciones de Personas Limitaciones de Distancia Limitaciones Económicas Limitaciones de Recursos ¡Necesitamos atacar nuestras limitaciones! 6 04/10/2006 Confidentiel
  7. 7. ¿Por qué surge Ruby on Rails? Proyecto “Lateral” Menos Personas Menos Tiempo Menos Presupuesto Más Creatividad Menos Código Menos Errores Más Productivo 7 04/10/2006 Confidentiel
  8. 8. ¿Por qué surge Ruby on Rails? Del Producto al Framework Problemas reales, Soluciones reales 8 04/10/2006 Confidentiel
  9. 9. ¿Por qué surge Ruby on Rails? Real basado en necesidades reales DRY eliminando tareas repetitivas COC adoptando convenciones Ágil abierto a cambios en desarrollo 9 04/10/2006 Confidentiel
  10. 10. ¿Por qué surge Ruby on Rails? Filosofía del diseño de producto … 10 04/10/2006 Confidentiel
  11. 11. ¿Por qué surge Ruby on Rails? ¡Comienza por la interfaz! Una especificación funcional no es funcional Ni es clara, ni describe lo que quieres 11 04/10/2006 Confidentiel
  12. 12. ¿Por qué surge Ruby on Rails? ¡Comienza por la Experiencia de Usuario! Diseña Prototipa Experimenta Cambia Aclara y repite 12 04/10/2006 Confidentiel
  13. 13. ¿Por qué surge Ruby on Rails? Get Real! No se puede hacer clic en papel o en diagramas 13 04/10/2006 Confidentiel
  14. 14. ¿Por qué surge Ruby on Rails? “Ruby on Rails es un avance en la reducción de barreras de entrada a la programación. Potentes aplicaciones web que antes podrían tardar semanas o meses en ser desarrolladas pueden ser creadas en cuestión de días.” -Tim OReilly, Fundador de OReilly Media 14 04/10/2006 Confidentiel
  15. 15. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 15 04/10/2006 Confidentiel
  16. 16. ¿Quiénes usan Ruby on Rails? “El progreso y el desarrollo son imposibles si uno sigue haciendo las cosas tal como siempre las ha hecho.” Wayne W. Dyer 16 04/10/2006 Confidentiel
  17. 17. ¿Quiénes usan Ruby on Rails? Twitter 17 04/10/2006 Confidentiel
  18. 18. ¿Quiénes usan Ruby on Rails? La Coctelera 18 04/10/2006 Confidentiel
  19. 19. ¿Quiénes usan Ruby on Rails? Jazztelia 19 04/10/2006 Confidentiel
  20. 20. ¿Quiénes usan Ruby on Rails? Yellow Pages 20 04/10/2006 Confidentiel
  21. 21. ¿Quiénes usan Ruby on Rails? 43 things 21 04/10/2006 Confidentiel
  22. 22. ¿Quiénes usan Ruby on Rails? Tractis 22 04/10/2006 Confidentiel
  23. 23. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 23 04/10/2006 Confidentiel
  24. 24. Ruby el Corazón de Rails “Quien no ha probado lo amargo, no sabe lo que es dulce” PROVERBIO ALEMÁN 24 04/10/2006 Confidentiel
  25. 25. Ruby el Corazón de Rails Los idiomas influyen (¿determinan?) la manera de pensar de las personas Los lenguajes, la de los programadores Ruby • Cercano a nuestra forma de pensar • Lo cual da una experiencia mejor • ¡Es divertido! • Te hace sentir inteligente 25 04/10/2006 Confidentiel
  26. 26. Ruby el Corazón de Rails Ruby: lenguaje de programación orientado a objetos Basado en lenguaje natural Ayuda al pensamiento humano Usable: fácil de aprender Eficiente: menos líneas de código Felicidad: mejora la experiencia del programador Comunidad muy activa 26 04/10/2006 Confidentiel
  27. 27. Ruby el Corazón de Rails La estética del diseño japonés Minimalista Foco en factores humanos Principio de la menor sorpresa Principio supremo en el diseño de Ruby Hace felices a los programadores Hace Ruby mas fácil de aprender Principio de lo sucinto • No malgastar tiempo en ficheros de configuración, getters, setters, etc. • Cuanto mas rápido programas, más consigues • Less Code: menos código, menos errores, menor coste de mantenimiento 27 04/10/2006 Confidentiel
  28. 28. Ruby el Corazón de Rails Orientado a Objetos TODAS las clases heredan de Object, incluso Class NO hay primitivas Ruby usa herencia simple (herencia múltiple mixings) Los módulos añaden comportamientos a las clases Los operadores ‘+’ y ‘-’ son métodos 28 04/10/2006 Confidentiel
  29. 29. Ruby el Corazón de Rails Lenguaje Dinámico No hay diferencia entre ‘tiempo de compilación’ y ‘tiempo de ejecución’ Se pueden crear y modificar clases, redefinir o añadir métodos, en cualquier momento Hasta los tipos básicos, como Class u Object 29 04/10/2006 Confidentiel
  30. 30. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 30 04/10/2006 Confidentiel
  31. 31. Ruby on Rails, el desarrollo ágil“Se debe hacer todo tan sencillo como sea posible, pero no más sencillo.” Albert Einstein 31 04/10/2006 Confidentiel
  32. 32. Ruby on Rails, el desarrollo ágil ¿Qué es Ruby On Rails? “Ruby on Rails (RoR) es un entorno de desarrollo web de código abierto que está optimizado para la felicidad de los programadores y para la productividad sostenible. Permite escribir un código bello al favorecer la convención sobre la configuración.” -- www.rubyonrails.org 32 04/10/2006 Confidentiel
  33. 33. Ruby on Rails, el desarrollo ágil Principios de Ruby on Rails DRY: Don’t Repeat Yourself (Once and Only Once) Cada cosa en su sitio Reducir duplicaciones en código, reduce posibilidad de errores COC: Convention Over Configuration El desarrollador sólo necesita definir configuraciones no convencionales Menor trabajo de desarrollo (scaffolding) Hace las aplicaciones web más sencillas de entender 33 04/10/2006 Confidentiel
  34. 34. Ruby on Rails, el desarrollo ágil Nativo Web Desde la web para la web... con todas las consecuencias: Separación limpia presentación (Vista) negocio (Controlador) URLs limpias (“tecno-agnósticas”, usables, indexables...) El interfaz es el producto: AJAX, RJS, conexión con Flash (RIA)... Conectividad. Orientado a la “Web de Datos”: RSS, Web Services, SOAP, REST,... 34 04/10/2006 Confidentiel
  35. 35. Ruby on Rails, el desarrollo ágil ¿Qué tiene de especial? Mejores prácticas “empaquetadas” Diseñado para la “felicidad” del programador Felicidad + Motivación = Productividad Entorno de tests y pruebas incluido Flexibilidad ante los cambios Velocidad de desarrollo (agilidad) Belleza del código 35 04/10/2006 Confidentiel
  36. 36. Ruby on Rails, el desarrollo ágil Un sitio para cada cosa Aplicación Controladores Modelos Vistas Público 36 04/10/2006 Confidentiel
  37. 37. Ruby on Rails, el desarrollo ágil 3 entornos integrados 37 04/10/2006 Confidentiel
  38. 38. Ruby on Rails, el desarrollo ágil MVC (Modelo Vista Controlador) 38 04/10/2006 Confidentiel
  39. 39. Ruby on Rails, el desarrollo ágil MVC (Modelo Vista Controlador) Modelo: Representación específica de la información. La lógica de datos asegura la integridad de estos y permite derivar nuevos datos. Vista: Presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario. Controlador: Responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista. 39 04/10/2006 Confidentiel
  40. 40. Ruby on Rails, el desarrollo ágil MVC (Modelo Vista Controlador) 40 04/10/2006 Confidentiel
  41. 41. Ruby on Rails, el desarrollo ágil Controlador Action Controller Recibe las peticiones HTTP del usuario Modifica, si es necesario, el modelo según la petición Prepara la información a mostrar Selecciona plantilla (Vista) para presentar resultados o gestionar el diálogo 41 04/10/2006 Confidentiel
  42. 42. Ruby on Rails, el desarrollo ágil Modelo Active Record Representa las tablas en la base de datos Declaración en los modelos, limpia y legible No es necesario indicar nombre de tablas Relacionados entre sí de manera predefinida Convenciones para reducir al mínimo el código ...aunque todo se puede personalizar, claro 42 04/10/2006 Confidentiel
  43. 43. Ruby on Rails, el desarrollo ágil Vista Action View Capa de presentación de la aplicación Plantillas generales (layouts) Escritas en Ruby (rhtml) Definen el aspecto base de las páginas que compondrán el sitio o aplicación web No afecta negativamente a la accesibilidad web XML, RSS en la vista Plantillas rxml Plantillas parciales (partials) Reutilización de fragmentos de plantillas (includes) 43 04/10/2006 Confidentiel
  44. 44. Ruby on Rails, el desarrollo ágil Modelo Migraciones (I) Las Migraciones son maneras de modificar esquemas de BD desde Rails Se definen en clases autocontenidas Puden ser introducidas en el sistema de control de versiones Se pueden efectuar las siguientes operaciones: create_table drop_table rename_table add_column rename_column change_column remove_column add_index remove_index 44 04/10/2006 Confidentiel
  45. 45. Ruby on Rails, el desarrollo ágil Modelo Migraciones (II) Ejemplo: create_users.rb class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.column :id, :integer t.column :username, :string t.column :password_salt, :string t.column :password_hash, :string t.column :email, :string t.column :created_at, :datetime end end def self.down drop_table :users end end rake db:migrate 45 04/10/2006 Confidentiel
  46. 46. Ruby on Rails, el desarrollo ágil Scaffolding Scaffold = Andamio Crear una estructura inicial de la web Avance rápido Pruebas desde el primer momento del modelo y el controlador Librerías JavaScript Tests MVC integrados Librerías Ruby SCAFFOLDING 46 04/10/2006 Confidentiel
  47. 47. Índice ¿Por qué surge Ruby on Rails? ¿Quiénes usan Ruby on Rails? Ruby el Corazón de Rails Ruby on Rails, el desarrollo ágil ¿Por donde empiezo? 47 04/10/2006 Confidentiel
  48. 48. ¿Por donde empiezo? “No hay que empezar siempre por la noción primera de las cosas que se estudian, sino por aquello que puede facilitar el aprendizaje.” Aristóteles 48 04/10/2006 Confidentiel
  49. 49. ¿Por donde empiezo? Lenguaje Rails: http://www.ruby-lang.org Ruby on Rails: http://www.rubyonrails.org/ http://sobrerailes.com http://www.conferenciarails.org/ 49 04/10/2006 Confidentiel

×