Descargar la presentación
La descarga está en progreso. Por favor, espere
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)
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.