Successfully reported this slideshow.

Joserojas Web 2.0

1,388 views

Published on

  • Be the first to comment

  • Be the first to like this

Joserojas Web 2.0

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

×