MUcho se habla de Rails pero la verdad es que no tengo ni idea de que es. ¿Alguien me lo puede definir en un par de frases? ¿Podia alguien grabar la conferencia? Muchas gracias
Ruby es un lenguaje dinámico de script.
Rails es un framework para desarrollo web hecho con Ruby.
2 frases. :]
Yo lo uso y es acojonante la productividad que se consigue (vengo de PHP). Y te preguntarás ¿por qué Ruby, y no Java o PHP). Pues porque ruby es un lenguaje MUY dinámico y que permite hacer algunas cosas que PHP o Java ni siquiera soportan, y que lo hacen idóneo para trabajar rápido.
Lo primero es el lenguaje. Ruby es un lenguaje muy, muy flexible. De hecho, el creador de rails, intentó implementar su "idea" con PHP, pero fue el propio lenguaje el que no le dejó "explayarse".
Ruby permite, por ejemplo, implementar métodos en tiempo de ejecución. En el siguiente párrafo explico como rails explota esto.
Además, rails te "obliga" a seguir ciertas pautas, es lo que llaman "convención sobre configuración". En lugar de pasarte horas modificando archivos.xml para que todo esté como quieres, se dan por hechas ciertas cuestiones, que se deberán aplicar siempre.
En realidad todo es configurable, no vayais a pensar que rails no es flexible. Lo que pasa es que si sigues las pautas, estarás programando tu aplicación en cuanto te sientes delante del ordenador. Un par de ejemplos de estas pautas:
La clave primaria de una tabla debe llamarse 'id'. Nada de id_tabla, tabla_id o IdTabla.
Los nombres de las tablas deben ir en plural.
Yo uso rails y estoy contento con estas pautas, me parecen correctas y no interfieren para nada en mi forma de programar. De hecho, me parecen simplemente, buenos consejos a seguir.
Aparte, rails es un framework MVC, con lo que añadimos otra característica interesante al resultado de lo que programemos , que será más mantenible y estará mejor estructurado.
Rails trae incorporado un componente que se llama ActiveRecord. Es un ORM, sirve para mapear tablas/registros a objetos. Entre otras cosas, permite no tener que escribir SQL, ni siquiera en caso de que haya relaciones (joins) de por medio. En php existe algo similar, que es lo que usaba: DB_DataObject, pero ActiveRecord abstrae aún más las cosas. Ejemplo:
Tengo el modelo Articulo, que "apunta" a la tabla articulos, y la Clase Usuario, que apunta a la tabla usuarios.
Para decirle a rails que un usuario tiene varios artículos, basta con especificar una línea:
class User
has_many:articles #
end
Por haber hecho eso, cuando tenga una instancia de un usuario:
@usuario = Usuario.find(1) # ahora el usuario con id 1 está en @usuario
for articulo in @usuario.articulos
render_text articulo.titulo # <--- imprime el titulo de cada articulo del usuario
end
La "magia" ocurre en la línea "has_many:articles". Gracias al dinamismo de Ruby, rails acaba de añadir a nuestra clase Usuario varios métodos, uno de ellos articulos(), que devuelve la colección de artículos del usuario. Añadir un nuevo artículo a la colección del usuario, es tan sencillo como escribir @usuario.articulos << articulo. Luego @usuario.save, y todo está guardado en la base de datos. ActiveRecord soporta relaciones 1-1, 1-n y n-n.
Os habréis fijado en que no hace falta poner paréntesis, pero si quieres, puedes ponerlos.
Otro componente, ActionView, tiene "helpers" (ayudantes), que permiten implementar cosas como campos con autocompletado y editores "in situ" (es mi traducción particular), con un par de líneas. Los editores estos, permiten editar un campo de un objeto sin falta de llegar a recargar la página en la que te encuentras. Son ideales para usarlos en la parte de administración de un sitio web. La implementación de widgets con el famoso AJAX es pan comido con rails:P.
Otra cosa bastante importante, rails viene con un motor de tests integrado, que facilita tanto la tarea de desarrollar guiándose por ellos, que los uso desde la primera aplicación que hice con rails. Hay que tener en cuenta, que he aprendido ruby y rails al mismo tiempo. Si bien es cierto que tengo experiencia como programador web, considero un logro el haber llegado al nivel que tengo en el tiempo que lo he hecho.
Me dejo mil cosas en el tintero, pero ahora mismo no tengo más tiempo.
Pero que es?
(Puntos:1)( http://cosasdelnene.blogspot.com/ )
MI bitacora [blogspot.com]
Re:Pero que es?
(Puntos:2)( http://hronia.blogalia.com/ | Última bitácora: Jueves, 22 Enero de 2009, 06:57h )
___
"Tamparantán que te han visto Pepe, tamparantán que te han visto Juan"
Re:Pero que es?
(Puntos:2, Interesante)Rails es un framework para desarrollo web hecho con Ruby.
2 frases. :]
Yo lo uso y es acojonante la productividad que se consigue (vengo de PHP). Y te preguntarás ¿por qué Ruby, y no Java o PHP). Pues porque ruby es un lenguaje MUY dinámico y que permite hacer algunas cosas que PHP o Java ni siquiera soportan, y que lo hacen idóneo para trabajar rápido.
Re:Pero que es?
(Puntos:5, Informativo)Lo primero es el lenguaje. Ruby es un lenguaje muy, muy flexible. De hecho, el creador de rails, intentó implementar su "idea" con PHP, pero fue el propio lenguaje el que no le dejó "explayarse".
.xml para que todo esté como quieres, se dan por hechas ciertas cuestiones, que se deberán aplicar siempre.
Ruby permite, por ejemplo, implementar métodos en tiempo de ejecución. En el siguiente párrafo explico como rails explota esto. Además, rails te "obliga" a seguir ciertas pautas, es lo que llaman "convención sobre configuración". En lugar de pasarte horas modificando archivos
En realidad todo es configurable, no vayais a pensar que rails no es flexible. Lo que pasa es que si sigues las pautas, estarás programando tu aplicación en cuanto te sientes delante del ordenador. Un par de ejemplos de estas pautas:
Yo uso rails y estoy contento con estas pautas, me parecen correctas y no interfieren para nada en mi forma de programar. De hecho, me parecen simplemente, buenos consejos a seguir.
:articles #
end
:articles". Gracias al dinamismo de Ruby, rails acaba de añadir a nuestra clase Usuario varios métodos, uno de ellos articulos(), que devuelve la colección de artículos del usuario. Añadir un nuevo artículo a la colección del usuario, es tan sencillo como escribir @usuario.articulos << articulo. Luego @usuario.save, y todo está guardado en la base de datos. ActiveRecord soporta relaciones 1-1, 1-n y n-n.
Aparte, rails es un framework MVC, con lo que añadimos otra característica interesante al resultado de lo que programemos , que será más mantenible y estará mejor estructurado.
Rails trae incorporado un componente que se llama ActiveRecord. Es un ORM, sirve para mapear tablas/registros a objetos. Entre otras cosas, permite no tener que escribir SQL, ni siquiera en caso de que haya relaciones (joins) de por medio. En php existe algo similar, que es lo que usaba: DB_DataObject, pero ActiveRecord abstrae aún más las cosas. Ejemplo:
Tengo el modelo Articulo, que "apunta" a la tabla articulos, y la Clase Usuario, que apunta a la tabla usuarios.
Para decirle a rails que un usuario tiene varios artículos, basta con especificar una línea:
class User has_many
Por haber hecho eso, cuando tenga una instancia de un usuario:
@usuario = Usuario.find(1) # ahora el usuario con id 1 está en @usuario
for articulo in @usuario.articulos
render_text articulo.titulo # <--- imprime el titulo de cada articulo del usuario
end
La "magia" ocurre en la línea "has_many
Os habréis fijado en que no hace falta poner paréntesis, pero si quieres, puedes ponerlos.
:P.
Me dejo mil cosas en el tintero, pero ahora mismo no tengo más tiempo.Otro componente, ActionView, tiene "helpers" (ayudantes), que permiten implementar cosas como campos con autocompletado y editores "in situ" (es mi traducción particular), con un par de líneas. Los editores estos, permiten editar un campo de un objeto sin falta de llegar a recargar la página en la que te encuentras. Son ideales para usarlos en la parte de administración de un sitio web. La implementación de widgets con el famoso AJAX es pan comido con rails
Otra cosa bastante importante, rails viene con un motor de tests integrado, que facilita tanto la tarea de desarrollar guiándose por ellos, que los uso desde la primera aplicación que hice con rails. Hay que tener en cuenta, que he aprendido ruby y rails al mismo tiempo. Si bien es cierto que tengo experiencia como programador web, considero un logro el haber llegado al nivel que tengo en el tiempo que lo he hecho.
Bueno, espero al menos,