seminario ruby on rails aula open source

Download Seminario Ruby On Rails Aula Open Source

If you can't read please download the document

Upload: sergio-alonso

Post on 29-Jun-2015

352 views

Category:

Technology


1 download

TRANSCRIPT

Disfrutando la Programacin Web: Ruby on Rails

Sergio A. Alonso

[email protected]://obelix.bunker.org.ar

Aula OpenSourcewww.aulaopensource.com.ar

Conferencia basada en anterior, dictada en

Escuela de Informtica y Sistemas VIII Jornadas de Administracin e Informtica - FCAD UNER

Theme created bySakari Koivunen and Henrik OmmaReleased under the LGPL license.

Disfrutando la Programacin Web: Ruby on Rails

Theme created bySakari Koivunen and Henrik OmmaReleased under the LGPL license.

Algunas Siglas y Convenciones

Web 2.0 (lo que se viene):Sitios colaborativos: con mucha gente

Respeto por los estndares (gracias Firefox!)

CSS (hojas de estilo en cascada)

Ajax: la venganza de JavascriptAhorro de ancho de banda

RIA (Rich Internet Application)

Sitios veloces

Apoyo en Frameworks

FrameworkEs un software que ayuda a construir otros softwares.

Usualmente, es un gran aplicacin incompleta, que se configura y conectan sus partes.

Provee (y obliga) a seguir buenas practicas de construccin de Software.

Algunas Siglas y Convenciones

FrameworkTpicamente, un Framework puede incluir soporte de programas, bibliotecas y un lenguaje de scripting entre otros softwares para ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Algunas Siglas y Convenciones

Framework(s)Django (Python)

.NET (Microsoft)

Qcodo (PHP 5)

Struts, Spring (Java)

Rails, Camping, Nitro, Ramaze, Sinatra, Rango (Ruby)

...

(http://es.wikipedia.org/wiki/Framework)

Algunas Siglas y Convenciones

Por qu Ruby?

...otro mas?

Ruby

Ruby

Escrito en 1995 por un japones chiflado llamado Yukihiro Matz Matsumoto

... Hasta el 2000 no estaba traducido al ingls

Bindings hacia C++

Java

.NET

Python

Tk

Ruby

Sintaxis limpia

Excepciones

Consola interactiva en tiempo de ejecucin: irb

Buscador de ayuda en consola (ri algo)

Documentacin empotrada de referencia: rdoc

Esta creciendo

>> mucho, * 3 + ... => mucho, mucho, mucho, ...

Ruby
(mientras viene llegando la gente)

Multihilos (hasta en DOS!)

Orientado completamente a objetos. La mayora de los usuarios proviene de Java y C++

Permite intervenir los objetos en tiempo de ejecucin

Inspirado en Perl, Eiffel, LISP, Python y Smalltalk

Se busca que sea natural, no simple

y = 5 + 6y = 5.plus 6

Ruby
(mientras viene llegando la gente)

Los programadores pueden redefinir el lenguaje. Si en lugar de plus o + a Ud. le gusta la palabra sumar ...

class Saludarattr_accessor :nombre def initialize(nom = "Mundo")@nombre = nomenddef decir_holaputs "Hola #{@nombre}!"enddef decir_chauputs "Chau #{@nombre}, nos vemos!."endend

Ruby
(mientras viene llegando la gente)

Ruby

Bienvenidos al tren

Rails

Salidas va Ajax, JS, HTML, XML

Pruebas, Migraciones

DRY - No Repitas (Don't Repeat Yourself)

Logging de transacciones

Convencin sobre Configuracin

URL fciles de recordar:

http://localhost:3000/tabla/edit/2

http://libros.com/revisiones/list/2006-08-11

Rails

Windows / MAC / Linux (Software Libre!)

Layouts: chau frames!

Partials: partes similares de formularios

CSS incluidas + personalizadas

Ramas de desarrollo desde el inicio de la aplicacin:

Development -> Test -> ProductionEditores: Gvim, RadRails, Netbeans, RoRed, Jedit, ...

Rails

Editor RadRails
(Como para perderle el miedo, todos son buenos)

Editor Vim

Modelo Vista Controlador: quizs lo mas til que se van a llevar de estas diapositivas.

Java: J2EE, Struts, Swing

Python: Django, TurboGears, ...

PHP: QCodo, Smarty, phpMVC, Trax

ASP.NET, Windows Form

...

MVC

Pero en Rails se acordaron que MVC deba ser fcil

MVC

Rails MVC simple

o casi

MVC

Rails MVC completo

Rails on Linux

apt-get install ruby ruby1.8-dev libmysql-ruby irb libapache2-mod-ruby libfcgi-ruby1.8 libapache2-mod-fastcgi apache2 mysql-server libapache2-mod-fcgid libfcgi0 libfcgi-ruby1.8 vim-gnome panconqueso aceituna

wget http://rubyforge.org/frs/download.php/11289/

rubygems-0.9.0.tgztar xvzf rubygems-0.9.0.tgz

cd rubygems-0.9.0/

ruby setup.rb

gem install Rails

(gem se puede usar tambin en Windows y Mac)

Rails on Linux: demostracin

Creacin de directorios y archivos necesarios

Preparar base, tabla y permisos

Crear Modelo y Controlador

Usando Scaffold para hacer

render de la vista: Un ABM (muy) rpidoMostrar logs

Levantar server de pruebas

Rails

Windows!

Si, si! tambin se puede: InstantRails!(http://instantrails.rubyforge.org/)

Quiero mas!

Noticias: http://blogs.onrails.com.ar

Lista de Correo: www.rubyargentina.com.ar

IRC: #ruby / #ruby-es en irc.freenode.org

Libro recomendado:

Theme created bySakari Koivunen and Henrik OmmaReleased under the LGPL license.

Disfrutando la Programacin Web: Ruby on Rails

Sergio A. Alonso

[email protected]://obelix.bunker.org.ar

Aula OpenSourcewww.aulaopensource.com.ar

Conferencia basada en anterior, dictada en

Escuela de Informtica y Sistemas VIII Jornadas de Administracin e Informtica - FCAD UNER

Theme created bySakari Koivunen and Henrik OmmaReleased under the LGPL license.

Click to edit the title text format

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline LevelNinth Outline Level

Click to edit the notes' format