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)
2. 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
3. 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.
5. 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
6. 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.
8. 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
9. 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..
10. 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”
12. 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!
13. 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
15. 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)
16. 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.
17. 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).
19. 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.
20. 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
21. 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...
22. 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!
23. 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.
24. 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
25. 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
26. 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
27. 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%>
28. 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
29. 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
30. 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
31. 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)
32. 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)
34. “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/