Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Preview:

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

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

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.

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

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

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.

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

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

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

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”

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

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!

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

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

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)

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.

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

Ruby on Rails La revolución del desarrollo web

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.

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

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

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!

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.

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

Ruby on Rails La revolución del desarrollo web

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

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

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

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

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

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

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)

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)

Referencias

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

““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/