SlideShare ist ein Scribd-Unternehmen logo
1 von 20
UPNFM PREUFOD – La Esperanza Asignatura: Informática Educativa Catedrático: Erick Sierra Slideshare sobre Ruby OnRails Elaborado por: KionyGrissel Medina Girón Josué Reynaldo Mejía Barahona La Esperanza, Intibucá Agosto 2011
Ruby OnRails Introducción al framework de Ruby onRails incluyendo el típico -hola mundo- para dar nuestros primeros pasos.
Introducción a Ruby on Rails Introducción al framework de Ruby onRails incluyendo el típico -hola mundo- para dar nuestros primeros pasos. Desde que tuve conocimiento de la revolución del diseño de aplicaciones web, popularmente conocido como Web 2.0, he sido testigo de varias tecnologías que giran alrededor de ésta: Sindicación de contenidos RSS, AJAX, Tags, Web Services, etc.
Introducción a Ruby on Rails Hoy en día podemos encontrar muchas webs orientadas a la comunidad o la generación de contenido por parte de los usuarios, como por ejemplo: Technorati, Odeo, Basecamp, del.icio.us, digg, etc. Muchas de éstas aplicaciones web están siendo desarrolladas bajo Ruby onRails, surgen varias interrogantes como  el ¿por qué no eligen otra plataforma?, ¿es Ruby onRails mejor que otras plataformas?, ¿es sólo una moda?. Estas preguntas merecen respuestas concretas, expliquemos en qué consiste esto.
Quées Ruby? Ruby es un lenguaje de scripts, multiplataforma, netamente orientado a objetos es software libre, fue creado por YukihiroMatsumoto conocido como Matz. La primera versión fue liberada en 1995, hereda varias caracaterísticas de lenguajes como: Perl, Smalltalk, Eiffel, Ada y Lisp. Como lo indica su propio autor, es un lenguaje “aparentemente sencillo pero internamente complejo”. Esto quiere decir que mientras más nos abstraemos en el paradigma orientado a objetos notaremos realmente la complejidad del lenguaje (al menos fue mi caso, ya que vengo de lenguajes estructurados y orientados a eventos); lo considero un lenguaje muy intuitivo casi a un nivel de lenguaje humano.
Quées Ruby? Ruby fue diseñado para un desarrollo rápido y sencillo. Cada día este lenguaje va ganando más adeptos, tanto así que la empresa SunMirosystems, está apoyando un proyecto llamado Jruby que es un interprete de Ruby escrito 100% en Java.  Entre las carecterísticas del lenguaje se encuentran: Posibilidad de hacer llamadas directamente al sistema operativo. Muy potente para el manejo de cadenas y expresiones regulares. No se necesita declarar las variables. La sintaxis es simple y consistente. Gestión de memoria automática. Todo es un objeto. Métodos Singleton. un largo.
Quées Rails? Rails es un framework para el desarrollo de aplicaciones web, software libre por naturaleza, está basado en el patrón de diseño Modelo Vista Controlador (MVC). Fue creado por David HeinemeierHansson, empleado de la empresa 37signals. Fue liberado por primera vez al público en julio del 2004, y lo implemento en una aplicación orientada a la administración de proyectos llamada Basecamp. Actualmente se uniéron más personas al desarrollo de Rails podemos visualizar aquí a los integrantes. Rails está basado en estos principios de desarrollo: Don’tRepeatYourself ConventionOverConfiguration
Quées Rails? Primer principio: La primera regla que a mi buen entender significa “No lo vuelvas a repetir”, es una de las cosas más novedosas que he podido encontrar en este framework. Imaginate tener un formulario, y llamarlo las veces que quieras y desde donde quieras, simplemente con una línea código. Tener una tabla en tu base de datos, y manipular a los registros como un objeto y a sus campos como un atributo, sin necesidad de declarar nada, son sólo algunas aplicaciones de este principio de desarrollo.
Quées Rails? El segundo principio: Nos dice “Convención antes que Configuración”, muy bien con esto el framework nos dice: oye he notado que tu siempre usas ésto de ésta forma, o veo que siempre tienes que configurar esto de aquí, porque no hacemos una cosa, yo te doy todo esto configurado, si tu respetas ésta configuración te ahorras tiempo, y sino quieres hacerlo, no hay problema no me molesto, para muestra un botón: class Auto < ActiveRecord::Base end
Quées Rails? ¿Qué hago con eso?  La verdad no deberíamos hacer nada pero ya hicimos mucho, con esa declaración de una clase, lo que hemos logrado es mapear a una tabla en nuestra base de datos. ¿Por qué en plural? Dicho de otra manera Rails buscará una tabla llamada “autos”, en nuestra base de datos, esto es así porque Rails cree conveniente que debe llamarse así (principio de pluralización).
Quées Rails? Aunque este comportamiento se puede desactivar de una manera muy sencilla, ¿Y si no la encuentra?, pues nos dará un error. Y qué ocurre si la tabla con la que quiero trabajar no tiene ese nombre exacto, no hay problema, con una línea más serás complacido: class Auto < ActiveRecord::Base set_table_name 'carros' end Con esto el framework comprenderá que en vez de usar ‘autos’, debería usar ‘carros’ así de sencillo. Muy bien hasta aquí tenemos una muy pequeña noción de lo que es Ruby y Rails, ahora veamos lo necesario para tenerlo instalado en nuestra máquina.
Instalando Ruby Versión FreeBSD: Actualizando los portsportsnapfetchportsnapupdateInstalando Rubycd /usr/ports/lang/ruby18makeinstallclean
Instalando Ruby Versión Linux: Descargamos el fuente de aca: ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz./configuremakemakeinstall
Instalando Ruby Para usuarios de Debian o Ubuntu: sudo apt-getinstallrubyirbrdoc
Instalando Ruby Versión Windows  Descargar: http://rubyforge.org/frs/download.php/12751/ruby185-21.exeSiguiente, Siguiente, Aceptar, No, deseo registrarme luego.Muy bien hasta aquí ya tenemos instalado Ruby.
Instalando Rails Si disponemos de conexión a internet el trabajo se resumen en:geminstallrails –include-dependencies. Para una instalación manual debemos descargarnos cada uno de los módulos: Los archivos deberan ser descargados en un sólo directorio y los comandos ejecutados en ese directorio. geminstallrake-0.7.1.gem      geminstallactivesupport-1.3.1 geminstallactiverecord-1.14.4.gem geminstallactionpack-1.12.5.gem geminstallactionmailer-1.2.5.gem geminstallactionwebservice-1.1.6.gem geminstallrails-1.1.6.gem
Rails Ejemplo Ahora crearemos la vista para esta acción que acabamos de crear, en ‘directorio_trabajo/ejemplo/app/views/test’ crea un archivo llamado ‘index.rhtml’ y dentro de el colocas el texto ‘Mundo Hola desde RoR!’, lo grabas y colocas lo siguiente en tu navegador: http://localhost:3000/test/
Rails Ejemplo Supongamos que el controlador "test" es el controlador principal de tu aplicación, y naturalmente no sería lo ideal que los usuarios ingresen a tu página a través de "tudominio.com/test", deberían ingresar simplemente escribiendo "tudominio.com", bien para lograr esto editemos ‘directorio_trabajo/ejemplo/config/routes.rb’:descomentamos la línea# map.connect ”, :controller => "welcome"quedaría así: map.connect '', :controller => "test":  Y como nos indican unas líneas arriba, debemos borrar el archivo ‘directorio_trabajo/ejemplo/public/index.html’, y ahora si se podría acceder a través de ‘http://localhost:3000/’.
Ventajas de Ruby Simple: fácil de aprender y mantener Poderoso “Languagestaysoutofyourway” Equipado con excelentes librerías Desarrollo rápido Código abierto  “Divertido”
Desventajas de Ruby Rendimiento comparable a Perl  o Python, pero lejos de C o C++ Podemos extender  Ruby con estos lenguajes No existen muchas frameworks desarrolladas en Ruby Ruby onRails (http://www.rubyonrails.com/) es la excepcion No existe una framework de GUI multi-plataforma ampliamente aceptada RAA – Ruby Application Archive (http://raa.ruby-lang.org/) No tan grande como CPAN – Comprehensive Perl Active Network (http://www.cpan.org) Peros: Documentación en progreso No es un lenguaje demasiado conocido en países occidentales Más pensado para Linux que Windows No tiene un buen soporte de Unicodetodavía

Weitere ähnliche Inhalte

Andere mochten auch

Recorregut per la història.
Recorregut per la història.Recorregut per la història.
Recorregut per la història.jessi2007123
 
Laboratorio 1 Sistemas de Información
Laboratorio 1 Sistemas de InformaciónLaboratorio 1 Sistemas de Información
Laboratorio 1 Sistemas de InformaciónMiguel Pustela Jara
 
Tiendas virtuales
Tiendas virtualesTiendas virtuales
Tiendas virtualeskarlamasi
 
Reglamento del directorio nacional y comité ejecutivo
Reglamento del directorio nacional y comité ejecutivoReglamento del directorio nacional y comité ejecutivo
Reglamento del directorio nacional y comité ejecutivovidasindical
 
Sistemas de información
Sistemas de informaciónSistemas de información
Sistemas de informaciónvaneprieto
 
Cultura, sociedad y comunicación digital
Cultura, sociedad y comunicación digitalCultura, sociedad y comunicación digital
Cultura, sociedad y comunicación digitalTMSHADOW
 
Aprendizaje por proyectos presentación malvina
Aprendizaje por proyectos presentación malvinaAprendizaje por proyectos presentación malvina
Aprendizaje por proyectos presentación malvinaMalvina Hernandez
 
2 hacia el concepto de barreras al aprendizaje
2 hacia el concepto de barreras al aprendizaje2 hacia el concepto de barreras al aprendizaje
2 hacia el concepto de barreras al aprendizajeCarla Milani
 
Asistencia 1
Asistencia 1Asistencia 1
Asistencia 1Vaguper
 
Sistema nervioso
Sistema nerviosoSistema nervioso
Sistema nerviosoesteban1204
 

Andere mochten auch (20)

Comunicado nª05
Comunicado nª05Comunicado nª05
Comunicado nª05
 
Project final
Project finalProject final
Project final
 
temaTICas 2
temaTICas 2temaTICas 2
temaTICas 2
 
Recorregut per la història.
Recorregut per la història.Recorregut per la història.
Recorregut per la història.
 
Laboratorio 1 Sistemas de Información
Laboratorio 1 Sistemas de InformaciónLaboratorio 1 Sistemas de Información
Laboratorio 1 Sistemas de Información
 
es la que va
es la que vaes la que va
es la que va
 
Tiendas virtuales
Tiendas virtualesTiendas virtuales
Tiendas virtuales
 
Fallo honorarios
Fallo honorariosFallo honorarios
Fallo honorarios
 
Reglamento del directorio nacional y comité ejecutivo
Reglamento del directorio nacional y comité ejecutivoReglamento del directorio nacional y comité ejecutivo
Reglamento del directorio nacional y comité ejecutivo
 
Sistemas de información
Sistemas de informaciónSistemas de información
Sistemas de información
 
Software
SoftwareSoftware
Software
 
Cultura, sociedad y comunicación digital
Cultura, sociedad y comunicación digitalCultura, sociedad y comunicación digital
Cultura, sociedad y comunicación digital
 
Aprendizaje por proyectos presentación malvina
Aprendizaje por proyectos presentación malvinaAprendizaje por proyectos presentación malvina
Aprendizaje por proyectos presentación malvina
 
Gung ho
Gung hoGung ho
Gung ho
 
Internet
InternetInternet
Internet
 
Ley min mujer
Ley min mujerLey min mujer
Ley min mujer
 
2 hacia el concepto de barreras al aprendizaje
2 hacia el concepto de barreras al aprendizaje2 hacia el concepto de barreras al aprendizaje
2 hacia el concepto de barreras al aprendizaje
 
Asistencia 1
Asistencia 1Asistencia 1
Asistencia 1
 
Sistema nervioso
Sistema nerviosoSistema nervioso
Sistema nervioso
 
Casilla de verificacion
Casilla de verificacionCasilla de verificacion
Casilla de verificacion
 

Ähnlich wie Ruby on Rails intro

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 2009Nelson Rojas Núñez
 
Presentación Ruby on Rails
Presentación Ruby on RailsPresentación Ruby on Rails
Presentación Ruby on RailsGiannis Morales
 
Ruby on the Rails
Ruby on the RailsRuby on the Rails
Ruby on the Rails000ari2014
 
"La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails""La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails"Enrique Place
 
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ónNelson Rojas Núñez
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Marco Antonio Ordoñez Valverde
 
Plataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webPlataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webFreelance
 
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
 
Taller evento TestingUY 2016 - Automatización de Pruebas con Ruby
Taller evento TestingUY 2016 - Automatización de Pruebas con RubyTaller evento TestingUY 2016 - Automatización de Pruebas con Ruby
Taller evento TestingUY 2016 - Automatización de Pruebas con RubyTestingUy
 
Joserojas Web 2.0
Joserojas Web 2.0Joserojas Web 2.0
Joserojas Web 2.0Jose Rojas
 

Ähnlich wie Ruby on Rails intro (20)

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
 
Python django
Python djangoPython django
Python django
 
Presentación Ruby on Rails
Presentación Ruby on RailsPresentación Ruby on Rails
Presentación Ruby on Rails
 
Ruby on the Rails
Ruby on the RailsRuby on the Rails
Ruby on the Rails
 
"La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails""La era de los frameworks: Ruby On Rails"
"La era de los frameworks: Ruby On Rails"
 
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
 
Atix13
Atix13Atix13
Atix13
 
ATIX13
ATIX13ATIX13
ATIX13
 
Atix20
Atix20Atix20
Atix20
 
Atix13
Atix13Atix13
Atix13
 
ATIX20
ATIX20ATIX20
ATIX20
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
 
Plataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webPlataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones web
 
Laravel
LaravelLaravel
Laravel
 
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
 
Laravel vc
Laravel vcLaravel vc
Laravel vc
 
LARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptxLARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptx
 
Taller evento TestingUY 2016 - Automatización de Pruebas con Ruby
Taller evento TestingUY 2016 - Automatización de Pruebas con RubyTaller evento TestingUY 2016 - Automatización de Pruebas con Ruby
Taller evento TestingUY 2016 - Automatización de Pruebas con Ruby
 
Java desde Cero.pdf
Java desde Cero.pdfJava desde Cero.pdf
Java desde Cero.pdf
 
Joserojas Web 2.0
Joserojas Web 2.0Joserojas Web 2.0
Joserojas Web 2.0
 

Kürzlich hochgeladen

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 

Kürzlich hochgeladen (20)

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 

Ruby on Rails intro

  • 1. UPNFM PREUFOD – La Esperanza Asignatura: Informática Educativa Catedrático: Erick Sierra Slideshare sobre Ruby OnRails Elaborado por: KionyGrissel Medina Girón Josué Reynaldo Mejía Barahona La Esperanza, Intibucá Agosto 2011
  • 2. Ruby OnRails Introducción al framework de Ruby onRails incluyendo el típico -hola mundo- para dar nuestros primeros pasos.
  • 3. Introducción a Ruby on Rails Introducción al framework de Ruby onRails incluyendo el típico -hola mundo- para dar nuestros primeros pasos. Desde que tuve conocimiento de la revolución del diseño de aplicaciones web, popularmente conocido como Web 2.0, he sido testigo de varias tecnologías que giran alrededor de ésta: Sindicación de contenidos RSS, AJAX, Tags, Web Services, etc.
  • 4. Introducción a Ruby on Rails Hoy en día podemos encontrar muchas webs orientadas a la comunidad o la generación de contenido por parte de los usuarios, como por ejemplo: Technorati, Odeo, Basecamp, del.icio.us, digg, etc. Muchas de éstas aplicaciones web están siendo desarrolladas bajo Ruby onRails, surgen varias interrogantes como el ¿por qué no eligen otra plataforma?, ¿es Ruby onRails mejor que otras plataformas?, ¿es sólo una moda?. Estas preguntas merecen respuestas concretas, expliquemos en qué consiste esto.
  • 5. Quées Ruby? Ruby es un lenguaje de scripts, multiplataforma, netamente orientado a objetos es software libre, fue creado por YukihiroMatsumoto conocido como Matz. La primera versión fue liberada en 1995, hereda varias caracaterísticas de lenguajes como: Perl, Smalltalk, Eiffel, Ada y Lisp. Como lo indica su propio autor, es un lenguaje “aparentemente sencillo pero internamente complejo”. Esto quiere decir que mientras más nos abstraemos en el paradigma orientado a objetos notaremos realmente la complejidad del lenguaje (al menos fue mi caso, ya que vengo de lenguajes estructurados y orientados a eventos); lo considero un lenguaje muy intuitivo casi a un nivel de lenguaje humano.
  • 6. Quées Ruby? Ruby fue diseñado para un desarrollo rápido y sencillo. Cada día este lenguaje va ganando más adeptos, tanto así que la empresa SunMirosystems, está apoyando un proyecto llamado Jruby que es un interprete de Ruby escrito 100% en Java. Entre las carecterísticas del lenguaje se encuentran: Posibilidad de hacer llamadas directamente al sistema operativo. Muy potente para el manejo de cadenas y expresiones regulares. No se necesita declarar las variables. La sintaxis es simple y consistente. Gestión de memoria automática. Todo es un objeto. Métodos Singleton. un largo.
  • 7. Quées Rails? Rails es un framework para el desarrollo de aplicaciones web, software libre por naturaleza, está basado en el patrón de diseño Modelo Vista Controlador (MVC). Fue creado por David HeinemeierHansson, empleado de la empresa 37signals. Fue liberado por primera vez al público en julio del 2004, y lo implemento en una aplicación orientada a la administración de proyectos llamada Basecamp. Actualmente se uniéron más personas al desarrollo de Rails podemos visualizar aquí a los integrantes. Rails está basado en estos principios de desarrollo: Don’tRepeatYourself ConventionOverConfiguration
  • 8. Quées Rails? Primer principio: La primera regla que a mi buen entender significa “No lo vuelvas a repetir”, es una de las cosas más novedosas que he podido encontrar en este framework. Imaginate tener un formulario, y llamarlo las veces que quieras y desde donde quieras, simplemente con una línea código. Tener una tabla en tu base de datos, y manipular a los registros como un objeto y a sus campos como un atributo, sin necesidad de declarar nada, son sólo algunas aplicaciones de este principio de desarrollo.
  • 9. Quées Rails? El segundo principio: Nos dice “Convención antes que Configuración”, muy bien con esto el framework nos dice: oye he notado que tu siempre usas ésto de ésta forma, o veo que siempre tienes que configurar esto de aquí, porque no hacemos una cosa, yo te doy todo esto configurado, si tu respetas ésta configuración te ahorras tiempo, y sino quieres hacerlo, no hay problema no me molesto, para muestra un botón: class Auto < ActiveRecord::Base end
  • 10. Quées Rails? ¿Qué hago con eso? La verdad no deberíamos hacer nada pero ya hicimos mucho, con esa declaración de una clase, lo que hemos logrado es mapear a una tabla en nuestra base de datos. ¿Por qué en plural? Dicho de otra manera Rails buscará una tabla llamada “autos”, en nuestra base de datos, esto es así porque Rails cree conveniente que debe llamarse así (principio de pluralización).
  • 11. Quées Rails? Aunque este comportamiento se puede desactivar de una manera muy sencilla, ¿Y si no la encuentra?, pues nos dará un error. Y qué ocurre si la tabla con la que quiero trabajar no tiene ese nombre exacto, no hay problema, con una línea más serás complacido: class Auto < ActiveRecord::Base set_table_name 'carros' end Con esto el framework comprenderá que en vez de usar ‘autos’, debería usar ‘carros’ así de sencillo. Muy bien hasta aquí tenemos una muy pequeña noción de lo que es Ruby y Rails, ahora veamos lo necesario para tenerlo instalado en nuestra máquina.
  • 12. Instalando Ruby Versión FreeBSD: Actualizando los portsportsnapfetchportsnapupdateInstalando Rubycd /usr/ports/lang/ruby18makeinstallclean
  • 13. Instalando Ruby Versión Linux: Descargamos el fuente de aca: ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz./configuremakemakeinstall
  • 14. Instalando Ruby Para usuarios de Debian o Ubuntu: sudo apt-getinstallrubyirbrdoc
  • 15. Instalando Ruby Versión Windows Descargar: http://rubyforge.org/frs/download.php/12751/ruby185-21.exeSiguiente, Siguiente, Aceptar, No, deseo registrarme luego.Muy bien hasta aquí ya tenemos instalado Ruby.
  • 16. Instalando Rails Si disponemos de conexión a internet el trabajo se resumen en:geminstallrails –include-dependencies. Para una instalación manual debemos descargarnos cada uno de los módulos: Los archivos deberan ser descargados en un sólo directorio y los comandos ejecutados en ese directorio. geminstallrake-0.7.1.gem     geminstallactivesupport-1.3.1 geminstallactiverecord-1.14.4.gem geminstallactionpack-1.12.5.gem geminstallactionmailer-1.2.5.gem geminstallactionwebservice-1.1.6.gem geminstallrails-1.1.6.gem
  • 17. Rails Ejemplo Ahora crearemos la vista para esta acción que acabamos de crear, en ‘directorio_trabajo/ejemplo/app/views/test’ crea un archivo llamado ‘index.rhtml’ y dentro de el colocas el texto ‘Mundo Hola desde RoR!’, lo grabas y colocas lo siguiente en tu navegador: http://localhost:3000/test/
  • 18. Rails Ejemplo Supongamos que el controlador "test" es el controlador principal de tu aplicación, y naturalmente no sería lo ideal que los usuarios ingresen a tu página a través de "tudominio.com/test", deberían ingresar simplemente escribiendo "tudominio.com", bien para lograr esto editemos ‘directorio_trabajo/ejemplo/config/routes.rb’:descomentamos la línea# map.connect ”, :controller => "welcome"quedaría así: map.connect '', :controller => "test": Y como nos indican unas líneas arriba, debemos borrar el archivo ‘directorio_trabajo/ejemplo/public/index.html’, y ahora si se podría acceder a través de ‘http://localhost:3000/’.
  • 19. Ventajas de Ruby Simple: fácil de aprender y mantener Poderoso “Languagestaysoutofyourway” Equipado con excelentes librerías Desarrollo rápido Código abierto  “Divertido”
  • 20. Desventajas de Ruby Rendimiento comparable a Perl o Python, pero lejos de C o C++ Podemos extender Ruby con estos lenguajes No existen muchas frameworks desarrolladas en Ruby Ruby onRails (http://www.rubyonrails.com/) es la excepcion No existe una framework de GUI multi-plataforma ampliamente aceptada RAA – Ruby Application Archive (http://raa.ruby-lang.org/) No tan grande como CPAN – Comprehensive Perl Active Network (http://www.cpan.org) Peros: Documentación en progreso No es un lenguaje demasiado conocido en países occidentales Más pensado para Linux que Windows No tiene un buen soporte de Unicodetodavía