La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

85 motivos* para Ruby on Rails

Presentaciones similares


Presentación del tema: "85 motivos* para Ruby on Rails"— Transcripción de la presentación:

1 85 motivos* para Ruby on Rails
Una sucinta puntuación sobre su definición, su función y un ejemplo de implementación. (Es decir, una breve introducción). *Si bien los motivos son 85, no se hará referencia explícita a ellos, por lo cual deberán ser deducidos por el lector.

2 Qué es Ruby Un lenguaje de programación dinámico y de código abierto enfocado en la simplicidad y productividad. Su elegante sintaxis se siente natural al leerla y fácil al escribirla. Algunas características: Interpretado: se ejecuta inmediatamente sin necesidad de compilador, aunque la ejecución es más lenta. Orientado a objetos: absolutamente todo es un objeto. Portable: funciona en múltiples plataformas (UNIX, Windows, DOS, Mac, etc.) sin necesidad de cambios. No-tipado: las variables no tienen un tipo. Garbage collector: built-in, sin necesidad de preocuparse por liberar memoria. Sintaxis fácil y clara. Totalmente gratuito, incluso para aplicaciones comerciales.

3 Ejemplos 5.times { print "Hello World" } a = "hola"  a[1] = "a"  print a (imprime ”hala”) 0.zero?  true 2.+(3)  5 (lo mismo que 2+3) 10.class  Fixnum (10**100).class  Bignum class Integer def even? (self % 2) == 0 end p (1..10).select { |n| n.even? }  muestra [2, 4, 6, 8, 10]

4 Qué es Ruby on Rails Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en Ruby siguiendo el paradigma de la arquitectura MVC. Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Principios en los que está basado: - Don’t Repeat Yourself: no duplicar las “piezas de información”. - Convention Over Configuration: ganar simplicidad especificando sólo aspectos no convencionales. - REST: patrón de diseño web basado en identificación de recursos.

5 SCAFFOLDING $ rails server $ rails new blog $ rake db:create
Rails provee Scaffolding, una técnica para construir vistas, modelos, controladores, bases de datos, etc. a partir de operaciones simples. $ rails server $ rails new blog $ rake db:create $ rails generate controller home index $ rails generate scaffold Post name:string title:string content:text

6 Modelos Definición Uso de scopes
class Animal < ActiveRecord::Base   named_scope 'nocturnal', :conditions => {'nocturnal' => true}   named_scope 'carnivorous', :conditions => {'vegetarian' => true}   def self.feed_all_with(food)     self.all.each do |animal|       animal.feed_with(food)     end   end end Uso de scopes if night_time?   Animal.nocturnal.carnivorous.feed_all_with(bacon) end

7 Modelos asociados class Post < ActiveRecord::Base
  validates :name,  :presence => true   validates :title, :presence => true,                     :length => { :minimum => 5 } end Modelos asociados class Comment < ActiveRecord::Base   belongs_to :post end class Post < ActiveRecord::Base   validates :name,  :presence => true   validates :title, :presence => true,                     :length => { :minimum => 5 }   has_many :comments end

8 Migraciones Las migraciones describen transformaciones en clases auto-contenidas que pueden ser chequeadas en sistemas de control de versión y ejecutados en una base de datos. Las migraciones son un modo conveniente de alterar una base de datos en una manera estrucurada y organizada. class CreateProducts < ActiveRecord::Migration   def up     create_table :products do |t|       t.string :name       t.text :description       t.timestamps     end   end   def down     drop_table :products end

9 ActiveRecord ActiveRecord es la capa de Rails de mapeo relacional de objetos. Provee una interfaz orientada a objetos que se relacionan con una base de datos, para hacer el desarrollo más simple y amigable para el desarrollador. El ActiveRecord de Ruby es un ORM (object-relational mapping): hace las traducciones entre objetos Ruby y la base de datos, manejando registros y relaciones. La librería ActiveRecord de Ruby crea un modelo de negocio persistente desde los objetos de negocio y las tablas de datos, unificándose la lógica y los datos en un solo paquete. ActiveRecord agrega herencia y asociaciones al patrón Active Record común, dándole más potencia.

10 Ejemplos class Guest < ActiveRecord::Base belongs_to :comment end
class Category < ActiveRecord::Base   has_many :posts end class Post < ActiveRecord::Base   belongs_to :category   has_many :comments   has_many :tags class Comment < ActiveRecord::Base   belongs_to :post   has_one :guest end  class Guest < ActiveRecord::Base   belongs_to :comment end class Tag < ActiveRecord::Base   belongs_to :post

11 client = Client.find(10) client = Client.first
User.find_each(:batch_size => 5000) do |user|   NewsLetter.weekly_deliver(user) end User.find_each(:start => 2000, :batch_size => 5000) do |user| Client.where("orders_count = ? AND locked = ?", params[:orders], false) Post.where('id > 10').limit(20).order('id desc') class Post < ActiveRecord::Base   scope :last_week, lambda { where("created_at < ?", Time.zone.now ) } end   scope :1_week_before, lambda { |time| where("created_at < ?", time) } Post.4_week_before(Time.zone.now)

12 ASP .NET MVC vs Ruby on Rails
Rails es más flexible y más rápido para trabajar. El scaffolding es más rápido y más fácil, y las migraciones pueden ser muy valiosas. ActiveRecord agiliza mucho. Ruby es muy simple. En cuanto a lo demás, ambos frameworks son muy parecidos, pueden lograr lo mismo. Testing con buenas herramientas en ambos casos. Microsoft es Microsoft…

13 Un ejemplo de aplicación simplE. (UN SIMPLE EJEMPLO DE APLICACIÓN)


Descargar ppt "85 motivos* para Ruby on Rails"

Presentaciones similares


Anuncios Google