Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

2,983 views

Published on

Presentación en Jornadas de Actualización Tecnológica del IUTEP en Acarigua, Edo. Portuguesa. (Tanto Ruby como Rails tienen ahora versiones más nuevas)

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

  • Be the first to like this

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

No notes for slide

Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

  1. 1. Agenda Web 2.0: La evolución de la web AJAX: No, no es un club de fútbol Ruby on Rails: La revolución en el desarrollo web Referencias
  2. 2. Web 2.0: La evolución de la web El término Web 2.0 fue acuñado por O'Reilly Media en 2004 para referirse a una segunda generación de Web basada en comunidades de usuarios y una gama especial de servicios, como las redes sociales, los blogs o los wikis que fomentan la colaboración y el intercambio ágil de información entre los usuarios.
  3. 3. Web 2.0: La evolución de la web
  4. 4. Web 2.0: La evolución de la web Aspectos tecnológicos  Es una actitud, no una tecnología  Experiencia del usuario enriquecida  Relanza la web como plataforma  Servicios, no software empaquetado
  5. 5. Web 2.0: La evolución de la web Aspectos tecnológicos  Se usa la internet como un gran repositorio de API's.  Posibilidad de construir aplicaciones que combinan decenas de servicios web reusables.
  6. 6. Web 2.0: La evolución de la web
  7. 7. Web 2.0: La evolución de la web Tecnologías surgidas ServiciosWeb / API's Folksonomías / Tags para contenido AJAX / SOAP / XML / WSDL / UDDI RoR: Ruby on Rails RSS
  8. 8. Web 2.0: La evolución de la web Aspectos sociales  Potencia la inteligencia colectiva  Los usuarios controlan su propia data  El usuario contribuye con el contenido  Sistemas basados en la confianza  El conocimiento se hace libre..
  9. 9. Web 2.0: La evolución de la web Aspectos sociales  Autoservicio y participación  Descentralización radical  Funcionabilidades emergentes  Usuarios “activos” y no “pasivos”
  10. 10. Web 2.0: La evolución de la web
  11. 11. Web 2.0: La evolución de la web Nuevas Herramientas  Twitter / Facebook / Flickr / Youtube  Gmail / Google Maps  Blogs y Sindicación de contenidos  Bloglines / Google Reader  Del.icio.us / Wikipedia / Remember the Milk  Y cientos de otros servicios!
  12. 12. Web 2.0: La evolución de la web Proveedores de Información  Amazon API's  Google Adsense API  Google Maps API  Yahoo API  Twitter API  Flickr API
  13. 13. Web 2.0: La evolución de la web
  14. 14. AJAX: No, no es un club de fútbol  No es una tecnología, sino la unión de varias tecnologías  Acrónimo para Asynchronous JavaScript + XML  Cargar y renderizar una página usando XML (XMLHttpRequest)
  15. 15. AJAX: No, no es un club de fútbol  Adiós al “click y espera”  Conexiones a bases de datos transparentes para el usuario.  Mejoras en la usabilidad e interacción del usuario con la aplicación web.
  16. 16. AJAX: No, no es un club de fútbol ● Enriquece la experiencia del usuario.  Acercamiento a las aplicaciones de escritorio.  Puede usarse con cualquier tecnología web (Ruby on rails, PHP, .NET, Java, Coldfusion y otros).
  17. 17. Ruby on Rails La revolución del desarrollo web
  18. 18. Ruby on Rails La revolución del desarrollo web  Basado en el lenguaje Ruby.  Es de propósito general, Rails es sólo una de las posibilidades web, y aparte hay Ruby/Qt, Ruby/GNOME y otros.  La combinación ganadora de la elegancia de SmallTalk, la facilidad de uso y aprendizaje de Python y el pragmatismo de Perl.
  19. 19. Ruby on Rails La revolución del desarrollo web Desarrollo web tradicional  Separación de conceptos  Duplicación de código  Por separado, maduro, pero no muy bien integrado  MVC de moda últimamente  No hay casi nada preparado para la Web 2.0
  20. 20. Ruby on Rails La revolución del desarrollo web Nacimiento de RoR  David Heinemeier Hansson (Dinamarca)  Programaba en PHP  Intentó escribir Rails en PHP pero fracasó miserablemente  Necesitaba algo más y un amigo le había nombrado Ruby y...
  21. 21. Ruby on Rails La revolución del desarrollo web Los Cinco Pilares de RoR  Productividad máxima  Sentido estético  Herramientas muy bien integradas (todo > partes)  Simplicidad, DRY (Don’t Repeat Yourself)  ¡Abajo la configuración, arriba las convenciones!
  22. 22. Ruby on Rails La revolución del desarrollo web El Patrón de desarrollo MVC  Modelo – Vista - Controlador  Creación relativamente nueva (1979)  De amplia utilización en el desarrollo de aplicaciones web.
  23. 23. Ruby on Rails La revolución del desarrollo web MVC: El Modelo  Para acceder a los datos  Módulo: ActiveRecord  Descubre automáticamente las tablas, los campos y las relaciones entre dichas tablas  Se puede personalizar y añadir métodos  Se crea con script/generate model alumno
  24. 24. Ruby on Rails La revolución del desarrollo web MVC: El Modelo : Ejemplo class Alumno < ActiveRecord::Base has_many :cursos def es_socio not num_socio.nil? end end
  25. 25. Ruby on Rails La revolución del desarrollo web MVC: La Vista  Para decidir el aspecto  Módulo: Embedded Ruby, erb  Ruby embebido en HTML  Simple, potente  Archivos .rhtml en app/views/controlador
  26. 26. Ruby on Rails La revolución del desarrollo web MVC: La Vista : Ejemplo <h1>Curso: <%= @curso.titulo%></h1> <p>Seleccione los alumnos a agregar al curso</p> <% Alumno.find_all(nil, ’nombre’).each do |a|%> <%= radio_button(’alumno’, ’elegido’, a.id)%> <% end%>
  27. 27. Ruby on Rails La revolución del desarrollo web MVC: El Controlador  Para controlar las acciones  Módulo: ActionPack  Bisagra del MVC  Clases de Ruby  Un método, una acción
  28. 28. Ruby on Rails La revolución del desarrollo web MVC: El Controlador  Andamios (scaffold) para avanzar más rápido  Se crean con script/generate controller alumno
  29. 29. Ruby on Rails La revolución del desarrollo web MVC: El Controlador : Ejemplo class CursoController < ApplicationController scaffold :curso layout ’base’ def nueva_accion render_text "Nueva acción" end end
  30. 30. Ruby on Rails La revolución del desarrollo web Otras comodidades  generate (genera código)  server (servidor simple para desarrollo)  console (consola interactiva)  runner (ejecuta trozos de Ruby)  breakpointer (engancha con puntos de ruptura)
  31. 31. Ruby on Rails La revolución del desarrollo web Otras comodidades  rakefile (una especie de Makefile pero en Ruby)  stats (estadísticas útiles para el desarrollo)  doc (genera documentación automáticamente)  test (para ejecutar pruebas funcionales)  migrate (para migraciones a otras plataformas)
  32. 32. Referencias  http://www.ruby.org.es  http://www.rubyonrails.com  http://api.rubyonrails.com  http://www.ruby-lang.com  http://www.joserojas.org/categorias/ruby
  33. 33. “Cuestiona todo, porque una duda es el primer paso hacia el conocimiento” Esta presentación está licenciada bajo una licencia de Creative Commons de tipo «Reconocimiento», se permite su copia, distribución y modificación por cualquier medio siempre que se mantenga el reconocimiento a sus autores. No se permite el uso comercial de esta obra. Esta licencia puede consultarse en http://creativecommons.org/

×