SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
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
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.
Web 2.0: La evolución de la web
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
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.
Web 2.0: La evolución de la web
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
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..
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”
Web 2.0: La evolución de la web
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!
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
Web 2.0: La evolución de la web
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)
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.
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).
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 : Ejemplo
class Alumno < ActiveRecord::Base
has_many :cursos
def es_socio
not num_socio.nil?
end
end
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 : Ejemplo
class CursoController < ApplicationController
    scaffold :curso
    layout ’base’
    def nueva_accion
        render_text "Nueva acción"
    end
end
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.es

   http://www.rubyonrails.com

   http://api.rubyonrails.com

   http://www.ruby-lang.com

   http://www.joserojas.org/categorias/ruby
“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/

Más contenido relacionado

La actualidad más candente

PHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesPHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesHéctor Garduño Real
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCarlos Azaustre
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVCSebastián Rocco
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsJavier Suárez Ruiz
 
Definición y función de lenguaje java script
Definición y  función de lenguaje java scriptDefinición y  función de lenguaje java script
Definición y función de lenguaje java scriptAndres Rodriguez
 
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.FormsdotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.FormsJavier Suárez Ruiz
 
Curso Básico de AngularJS
Curso Básico de AngularJSCurso Básico de AngularJS
Curso Básico de AngularJSCarlos Azaustre
 
Hack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJSHack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJSCarlos Azaustre
 
Asp .net
Asp .netAsp .net
Asp .netmellcv
 
Presentacion sobre asp
Presentacion sobre aspPresentacion sobre asp
Presentacion sobre aspkarenReyes152
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersJavier Suárez Ruiz
 
Login social con node.js
Login social con node.jsLogin social con node.js
Login social con node.jsCarlos Azaustre
 
Workshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsWorkshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsVisual Engineering
 
Curso programación páginas web con ASP.NET
Curso programación páginas web con ASP.NETCurso programación páginas web con ASP.NET
Curso programación páginas web con ASP.NETEuroinnova Formación
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000Javier Suárez Ruiz
 

La actualidad más candente (20)

PHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesPHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajes
 
Curso de HTML5
Curso de HTML5Curso de HTML5
Curso de HTML5
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de Platzi
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVC
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.Forms
 
Definición y función de lenguaje java script
Definición y  función de lenguaje java scriptDefinición y  función de lenguaje java script
Definición y función de lenguaje java script
 
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.FormsdotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
 
Curso Básico de AngularJS
Curso Básico de AngularJSCurso Básico de AngularJS
Curso Básico de AngularJS
 
Hack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJSHack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJS
 
Asp .net
Asp .netAsp .net
Asp .net
 
Presentacion sobre asp
Presentacion sobre aspPresentacion sobre asp
Presentacion sobre asp
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI Handlers
 
Login social con node.js
Login social con node.jsLogin social con node.js
Login social con node.js
 
Workshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsWorkshop 7: Single Page Applications
Workshop 7: Single Page Applications
 
Curso programación páginas web con ASP.NET
Curso programación páginas web con ASP.NETCurso programación páginas web con ASP.NET
Curso programación páginas web con ASP.NET
 
Charla ie
Charla ieCharla ie
Charla ie
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000
 
Tips aspnet
Tips aspnetTips aspnet
Tips aspnet
 
Angular 6
Angular 6Angular 6
Angular 6
 

Destacado

CSS Preprocessors - Sass
CSS Preprocessors - SassCSS Preprocessors - Sass
CSS Preprocessors - SassLourdes Montano
 
Sass: CSS con Superpoderes
Sass: CSS con SuperpoderesSass: CSS con Superpoderes
Sass: CSS con SuperpoderesEdgar Parada
 
Desarrollo Agil con Ruby Y Rails
Desarrollo Agil con Ruby Y RailsDesarrollo Agil con Ruby Y Rails
Desarrollo Agil con Ruby Y RailsFran Diéguez
 
Curso TDD Ruby on Rails #06: Mocks y stubs
Curso TDD Ruby on Rails #06: Mocks y stubsCurso TDD Ruby on Rails #06: Mocks y stubs
Curso TDD Ruby on Rails #06: Mocks y stubsAlberto Perdomo
 
Conviértete en un desarrollador web front-end
Conviértete en un desarrollador web front-endConviértete en un desarrollador web front-end
Conviértete en un desarrollador web front-endvideo2brain_mx
 
Desarrollo Ágil y Ruby on Rails
Desarrollo Ágil y Ruby on RailsDesarrollo Ágil y Ruby on Rails
Desarrollo Ágil y Ruby on RailsErnesto Jiménez
 
Uso de las Infraestructuras de Datos Espaciales en Astronomía
Uso de las Infraestructuras de Datos Espaciales en AstronomíaUso de las Infraestructuras de Datos Espaciales en Astronomía
Uso de las Infraestructuras de Datos Espaciales en AstronomíaJose Gomez Castaño
 
Pre-procesadores CSS. SASS
Pre-procesadores CSS. SASSPre-procesadores CSS. SASS
Pre-procesadores CSS. SASSMarionaCruz
 
Curso TDD Ruby on Rails #08: Buenas prácticas
Curso TDD Ruby on Rails #08: Buenas prácticasCurso TDD Ruby on Rails #08: Buenas prácticas
Curso TDD Ruby on Rails #08: Buenas prácticasAlberto Perdomo
 
Curso de Ruby on Rails para el Master de Deusto. Día 2
Curso de Ruby on Rails para el Master de Deusto. Día 2Curso de Ruby on Rails para el Master de Deusto. Día 2
Curso de Ruby on Rails para el Master de Deusto. Día 2estialvarez
 
Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on RailsASPgems
 
Haml y Sass: HTML y CSS dietéticos
Haml y Sass: HTML y CSS dietéticosHaml y Sass: HTML y CSS dietéticos
Haml y Sass: HTML y CSS dietéticosDAVID GRILLI
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 
Multiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssMultiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssLeonidas Esteban González
 

Destacado (20)

CSS Preprocessors - Sass
CSS Preprocessors - SassCSS Preprocessors - Sass
CSS Preprocessors - Sass
 
Sass: CSS con Superpoderes
Sass: CSS con SuperpoderesSass: CSS con Superpoderes
Sass: CSS con Superpoderes
 
Desarrollo Agil con Ruby Y Rails
Desarrollo Agil con Ruby Y RailsDesarrollo Agil con Ruby Y Rails
Desarrollo Agil con Ruby Y Rails
 
Curso TDD Ruby on Rails #06: Mocks y stubs
Curso TDD Ruby on Rails #06: Mocks y stubsCurso TDD Ruby on Rails #06: Mocks y stubs
Curso TDD Ruby on Rails #06: Mocks y stubs
 
Conviértete en un desarrollador web front-end
Conviértete en un desarrollador web front-endConviértete en un desarrollador web front-end
Conviértete en un desarrollador web front-end
 
Desarrollo Ágil y Ruby on Rails
Desarrollo Ágil y Ruby on RailsDesarrollo Ágil y Ruby on Rails
Desarrollo Ágil y Ruby on Rails
 
Uso de las Infraestructuras de Datos Espaciales en Astronomía
Uso de las Infraestructuras de Datos Espaciales en AstronomíaUso de las Infraestructuras de Datos Espaciales en Astronomía
Uso de las Infraestructuras de Datos Espaciales en Astronomía
 
Pre-procesadores CSS. SASS
Pre-procesadores CSS. SASSPre-procesadores CSS. SASS
Pre-procesadores CSS. SASS
 
Ruby intro
Ruby introRuby intro
Ruby intro
 
Lenguaje de programación Ruby
Lenguaje de programación RubyLenguaje de programación Ruby
Lenguaje de programación Ruby
 
Sass y compass
Sass y compassSass y compass
Sass y compass
 
Curso TDD Ruby on Rails #08: Buenas prácticas
Curso TDD Ruby on Rails #08: Buenas prácticasCurso TDD Ruby on Rails #08: Buenas prácticas
Curso TDD Ruby on Rails #08: Buenas prácticas
 
Curso de Ruby on Rails para el Master de Deusto. Día 2
Curso de Ruby on Rails para el Master de Deusto. Día 2Curso de Ruby on Rails para el Master de Deusto. Día 2
Curso de Ruby on Rails para el Master de Deusto. Día 2
 
Taller ruby
Taller rubyTaller ruby
Taller ruby
 
Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on Rails
 
2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby
 
Ruby Facil
Ruby FacilRuby Facil
Ruby Facil
 
Haml y Sass: HTML y CSS dietéticos
Haml y Sass: HTML y CSS dietéticosHaml y Sass: HTML y CSS dietéticos
Haml y Sass: HTML y CSS dietéticos
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Multiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssMultiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de css
 

Similar a Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

Similar a Jose Rojas Desarrollo Rapido de Aplicaciones con RoR (20)

Web 2.0 Presentacion Examen
Web 2.0 Presentacion ExamenWeb 2.0 Presentacion Examen
Web 2.0 Presentacion Examen
 
Web2
Web2Web2
Web2
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
La Web 2.0
La Web 2.0La Web 2.0
La Web 2.0
 
Presentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás ConcepciónPresentación rails 3 Santo Tomás Concepción
Presentación rails 3 Santo Tomás Concepción
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Diapositiva Web 2.0
Diapositiva Web 2.0Diapositiva Web 2.0
Diapositiva Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 
Tp Tics Hypertexto
Tp Tics HypertextoTp Tics Hypertexto
Tp Tics Hypertexto
 
Tecnologias de desarrollo web
Tecnologias de desarrollo webTecnologias de desarrollo web
Tecnologias de desarrollo web
 
Alba Modulo01 Concepto
Alba Modulo01 ConceptoAlba Modulo01 Concepto
Alba Modulo01 Concepto
 
LA WED 2.2
LA WED 2.2LA WED 2.2
LA WED 2.2
 
LA WED 2.0
LA WED 2.0LA WED 2.0
LA WED 2.0
 
LA WED 2.2
LA WED 2.2LA WED 2.2
LA WED 2.2
 
W E B 2
W E B 2W E B 2
W E B 2
 
W E B 2
W E B 2W E B 2
W E B 2
 

Más de Jose Rojas

Educación 2.0: La educación del futuro
Educación 2.0: La educación del futuroEducación 2.0: La educación del futuro
Educación 2.0: La educación del futuroJose Rojas
 
Modelos De Negocio En El Sl
Modelos De Negocio En El SlModelos De Negocio En El Sl
Modelos De Negocio En El SlJose Rojas
 
Linux Para Usuarios Finales
Linux Para Usuarios FinalesLinux Para Usuarios Finales
Linux Para Usuarios FinalesJose Rojas
 
DiseñO Web Centrado En El Usuario
DiseñO Web Centrado En El UsuarioDiseñO Web Centrado En El Usuario
DiseñO Web Centrado En El UsuarioJose Rojas
 
Java Es O No Software Libre
Java Es O No Software LibreJava Es O No Software Libre
Java Es O No Software LibreJose Rojas
 
El Poder De Las Redes Deugarte
El Poder De Las Redes DeugarteEl Poder De Las Redes Deugarte
El Poder De Las Redes DeugarteJose Rojas
 
Diseño Web Centrado En El Usuario
Diseño Web Centrado En El UsuarioDiseño Web Centrado En El Usuario
Diseño Web Centrado En El UsuarioJose Rojas
 
Software Libre en la Comunidad Universitaria por Jose Rojas
Software Libre en la Comunidad Universitaria por Jose RojasSoftware Libre en la Comunidad Universitaria por Jose Rojas
Software Libre en la Comunidad Universitaria por Jose RojasJose Rojas
 
Tema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionTema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionJose Rojas
 
Presentacion Fundamentos S L I N I A
Presentacion  Fundamentos  S L  I N I APresentacion  Fundamentos  S L  I N I A
Presentacion Fundamentos S L I N I AJose Rojas
 
S L Y La Brecha Digital Jose Rojas
S L Y La  Brecha  Digital    Jose  RojasS L Y La  Brecha  Digital    Jose  Rojas
S L Y La Brecha Digital Jose RojasJose Rojas
 
Presentacion Fundamentos S L I N I A
Presentacion  Fundamentos  S L  I N I APresentacion  Fundamentos  S L  I N I A
Presentacion Fundamentos S L I N I AJose Rojas
 
Diseno Web Centrado En El Usuario
Diseno  Web  Centrado En El  UsuarioDiseno  Web  Centrado En El  Usuario
Diseno Web Centrado En El UsuarioJose Rojas
 
5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas5154 Tema3 Jose Rojas
5154 Tema3 Jose RojasJose Rojas
 
Desarrollo Colaborativo por Jose Rojas
Desarrollo Colaborativo por Jose RojasDesarrollo Colaborativo por Jose Rojas
Desarrollo Colaborativo por Jose RojasJose Rojas
 

Más de Jose Rojas (18)

Educación 2.0: La educación del futuro
Educación 2.0: La educación del futuroEducación 2.0: La educación del futuro
Educación 2.0: La educación del futuro
 
Modelos De Negocio En El Sl
Modelos De Negocio En El SlModelos De Negocio En El Sl
Modelos De Negocio En El Sl
 
Linux Para Usuarios Finales
Linux Para Usuarios FinalesLinux Para Usuarios Finales
Linux Para Usuarios Finales
 
DiseñO Web Centrado En El Usuario
DiseñO Web Centrado En El UsuarioDiseñO Web Centrado En El Usuario
DiseñO Web Centrado En El Usuario
 
Java Es O No Software Libre
Java Es O No Software LibreJava Es O No Software Libre
Java Es O No Software Libre
 
Ponencia
PonenciaPonencia
Ponencia
 
El Poder De Las Redes Deugarte
El Poder De Las Redes DeugarteEl Poder De Las Redes Deugarte
El Poder De Las Redes Deugarte
 
Diseño Web Centrado En El Usuario
Diseño Web Centrado En El UsuarioDiseño Web Centrado En El Usuario
Diseño Web Centrado En El Usuario
 
Software Libre en la Comunidad Universitaria por Jose Rojas
Software Libre en la Comunidad Universitaria por Jose RojasSoftware Libre en la Comunidad Universitaria por Jose Rojas
Software Libre en la Comunidad Universitaria por Jose Rojas
 
Tema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionTema1 Lenguajes De Programacion
Tema1 Lenguajes De Programacion
 
Presentacion Fundamentos S L I N I A
Presentacion  Fundamentos  S L  I N I APresentacion  Fundamentos  S L  I N I A
Presentacion Fundamentos S L I N I A
 
S L Y La Brecha Digital Jose Rojas
S L Y La  Brecha  Digital    Jose  RojasS L Y La  Brecha  Digital    Jose  Rojas
S L Y La Brecha Digital Jose Rojas
 
Presentacion Fundamentos S L I N I A
Presentacion  Fundamentos  S L  I N I APresentacion  Fundamentos  S L  I N I A
Presentacion Fundamentos S L I N I A
 
Diseno Web Centrado En El Usuario
Diseno  Web  Centrado En El  UsuarioDiseno  Web  Centrado En El  Usuario
Diseno Web Centrado En El Usuario
 
5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas
 
5154 - Tema 1
5154 - Tema 15154 - Tema 1
5154 - Tema 1
 
5154 - Tema 2
5154 - Tema 25154 - Tema 2
5154 - Tema 2
 
Desarrollo Colaborativo por Jose Rojas
Desarrollo Colaborativo por Jose RojasDesarrollo Colaborativo por Jose Rojas
Desarrollo Colaborativo por Jose Rojas
 

Último

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Último (12)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Jose Rojas Desarrollo Rapido de Aplicaciones con RoR

  • 1.
  • 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.
  • 4. Web 2.0: La evolución de la web
  • 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.
  • 7. Web 2.0: La evolución de la web
  • 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”
  • 11. Web 2.0: La evolución de la web
  • 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
  • 14. Web 2.0: La evolución de la web
  • 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).
  • 18. Ruby on Rails La revolución del desarrollo web
  • 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)
  • 33. Referencias  http://www.ruby.org.es  http://www.rubyonrails.com  http://api.rubyonrails.com  http://www.ruby-lang.com  http://www.joserojas.org/categorias/ruby
  • 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/