Ruby On Rails


Brian Díaz @briandiazme



¿Qué es Ruby?

Yukihiro Matsumoto


Diseñado y Desarrollado en los 90's

Influenciado por Perl, SmallTalk, Eiffel, Ada y Lisp

Características

100% orientado a objetos
Open Source
Multiparadigma
Muy Alto Nivel
Portable
Iteradores y Clausuras de Closures
Regex
Reflexión y Metaprogramación
Alteración de Objetos en Tiempo de ejecución
Sobrecarga de Operadores
Amplia librería Estándar
Documentación Abundante


IRB

(Interactive Ruby Shell)

  • Provee una línea de comandos shell o command prompt para experimentación e interacción con el lenguaje. 
  • Con IRB puedes ver los resultados inmediatamente, línea por línea.



Guía rápida sobre Ruby


http://tryruby.org/

¿Qué es Rails?

David Heinemeier hansson


Creado en 2004 (Primer Commit en Github) ROR 1.0 en 2005
Framework open source de desarrollo web  escrito en Ruby
Diseñado para crear aplicaciones Web más fácil al hacer suposiciones acerca de lo que necesita cada desarrollador para empezar

Características


RestFul
Desarrollo ágil
Mínimo de Configuración
Curva de aprendizaje muy baja
Seguridad
Reutilización de Código
ORM

Principios

Code Less
DRY (Dont Repeat Yourself)
MVC (Model View Controller)
Active Record Pattern
CoC (Convention over configuration) 

Estadísticas


Estadísticas


¿Quién Usa RAILS?


HP
Nasa
Intel
basecamp.com
twitter.com
yellowpages.com
airbnb.com

Arquitectura MVC de Rails


1. Browser envía la petición
2. Controlador interactúa con el Modelo
3. Modelo consulta la base de datos 
4. Controlador invoca la Vista
5. La Vista renderisa lo que presenta el Browser

Model

ActiveRecord


Controller

ActionController

View

ActionView

Métodos ActiveRecord (Crear)




Métodos ActiveRecord (Leer)


Métodos ActiveRecord (Leer)


Métodos ActiveRecord (Actualizar)

Métodos ActiveRecord (Eliminar)




Validaciones (Ror 3.1 >=)


Environments

(config/database.yml)

Development (Desarrollo)
Test (Prueba)
Production (Producción)

Bases de Datos

RubyGems

Manejador de paquetes para Ruby que provee librerías y programas llamados Gems

Es una herramienta diseñada para gestionar fácilmente la instalación de gems, y un servidor para su distribución, nos permiten tener nuevas funcionalidades para nuestras aplicaciones RoR

En aplicaciones de rails los gems que se necesiten se incluyen en un archivo llamado gemfile 

www.rubygems.org

Entronos De Trabajo

IDE
Aptana
TextMate
SublimeText
GMate

Cloud
Nitrous.io
Cloud66.com
EngineYard.com
Heroku.Com


Guía Rápida para Rails


www.railsforzombies.org


¿Cuándo Utilizar Rails?


Startups
Desarrollo ágil
Proyectos iterativos
Bajo presupuesto
Proyectos de un precio fijo
Aplicaciones Complejas

Fun Facts






Herramientas + Rails = <3


Git
Heroku
CodeClimate



Gracias

Made with Slides.com