34

Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Embed Size (px)

DESCRIPTION

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)

Citation preview

Page 1: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR
Page 2: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

AgendaAgendaWeb 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

Page 3: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web El término Web 2.0Web 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.

Page 4: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web

Page 5: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web Aspectos tecnológicosEs una actitud, no una tecnologíaExperiencia del usuario enriquecidaRelanza la web como plataformaServicios, no software empaquetado

Page 6: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web Aspectos tecnológicosSe usa la internet como un gran

repositorio de API's.Posibilidad de construir aplicaciones

que combinan decenas de servicios web reusables.

Page 7: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web

Page 8: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web Tecnologías surgidas

Servicios Web / API'sFolksonomías / Tags para contenidoAJAX / SOAP / XML / WSDL / UDDIRoR: Ruby on RailsRSS

Page 9: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web Aspectos socialesPotencia la inteligencia colectivaLos usuarios controlan su propia dataEl usuario contribuye con el contenidoSistemas basados en la confianzaEl conocimiento se hace libre..

Page 10: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web Aspectos socialesAutoservicio y participaciónDescentralización radicalFuncionabilidades emergentesUsuarios “activos” y no “pasivos”

Page 11: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web

Page 12: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web Nuevas Herramientas

Twitter / Facebook / Flickr / YoutubeGmail / Google MapsBlogs y Sindicación de contenidosBloglines / Google ReaderDel.icio.us / Wikipedia / Remember the MilkY cientos de otros servicios!

Page 13: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web Proveedores de Información

Amazon API'sGoogle Adsense APIGoogle Maps APIYahoo APITwitter APIFlickr API

Page 14: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Web 2.0: La evolución de la web Web 2.0: La evolución de la web

Page 15: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

AJAX: No, no es un club de fútbolAJAX: No, no es un club de fútbolNo 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)

Page 16: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

AJAX: No, no es un club de fútbolAJAX: No, no es un club de fútbolAdió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.

Page 17: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

AJAX: No, no es un club de fútbolAJAX: 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).

Page 18: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Ruby on Rails La revolución del desarrollo web

Page 19: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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.

Page 20: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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

Page 21: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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...

Page 22: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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!

Page 23: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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.

Page 24: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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

Page 25: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Ruby on Rails La revolución del desarrollo web

MVC: El Modelo : Ejemploclass Alumno < ActiveRecord::Basehas_many :cursosdef es_socionot num_socio.nil?endend

Page 26: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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

Page 27: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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%>

Page 28: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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

Page 29: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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

Page 30: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Ruby on Rails La revolución del desarrollo web

MVC: El Controlador : Ejemploclass CursoController < ApplicationController scaffold :curso layout ’base’ def nueva_accion render_text "Nueva acción" endend

Page 31: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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)

Page 32: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

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)

Page 33: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Referencias

http://www.ruby.org.eshttp://www.rubyonrails.comhttp://api.rubyonrails.comhttp://www.ruby-lang.comhttp://www.joserojas.org/categorias/ruby

Page 34: Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

““Cuestiona todo, porque una Cuestiona todo, porque una duda es el primer paso hacia el duda es el primer paso hacia el

conocimientoconocimiento””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/