Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Joserojas Web 2.0

1,611 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>

×