La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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,

Presentaciones similares


Presentación del tema: "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,"— Transcripción de la presentación:

1 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. 85 MOTIVOS* PARA RUBY ON RAILS

2 QUÉ ES RUBY 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. 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:

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: - Dont 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 provee Scaffolding, una técnica para construir vistas, modelos, controladores, bases de datos, etc. a partir de operaciones simples. $ rails new blog $ rake db:create $ rails generate controller home index $ rails generate scaffold Post name:string title:string content:text $ rails server

6 MODELOS Definición class Animal {'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 class Post < ActiveRecord::Base validates :name, :presence => true validates :title, :presence => true, :length => { :minimum => 5 } end class Comment < ActiveRecord::Base belongs_to :post end Modelos asociados 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 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 Category < ActiveRecord::Base has_many :posts end class Post < ActiveRecord::Base belongs_to :category has_many :comments has_many :tags end 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 end

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| NewsLetter.weekly_deliver(user) end 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 class Post < ActiveRecord::Base scope :1_week_before, lambda { |time| where("created_at < ?", time) } end 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 "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,"

Presentaciones similares


Anuncios Google