Passa al contingut principal

Introducción a Ruby on Rails

Una de las cosas que siempre me ha asombrado es cuando toda la comunidad de una tecnología nueva dice: “esto es simple”, “esto es fácil”, “esto es hermoso” y cuando me muestran cómo se hace algo, me muestran, como si fueran trucos de magia, una serie de acciones que me dejan un poco asustado e intimidado respecto a esta nueva tecnología. Es por eso que quiero comenzar estos tutoriales siguiendo un poco el mismo camino que tuve que seguir para aprender sobre muchos temas que no conocía.



Cuando hablamos de Ruby on Rails hablamos de dos cosas. Por un lado hablamos de Ruby, un lenguaje de programación de los tantos que hay. ¿Qué lo hace especial? Como toda tecnología tiene características muy buenas e interesantes que sería muy largo listar pero lo que lo hace especial es que realmente es como arcilla moldeable y permite, con gran flexibilidad, programar de una forma muy cómoda.



Otra cosa que me gusta mucho de Ruby es que no dejas de encontrar novedades en cada rincón que recorres y siempre me está asombrando. Pero, como todo en la vida, tiene que ver con el gusto del programador. Un programador experto puede dar aquí diez millones de razones técnicas de lo hermoso de este lenguaje pero yo no voy a hacer eso. Yo solamente te voy a invitar a que lo pruebes pero un poco más adelante.








Por otro lado hablamos de Rails, un framework que se usa para desarrollo web como otros frameworks que hay para Ruby: Sinatra, Padrino, Waves, Camping, Remaze y otros muchos pero ¡un momento!



¿Qué es un Framework?




Claro, todos me comienzan a hablar de frameworks para Java, PHP, Ruby, Python. Ay si! Ay si! que Synfony, que CakePHP, Rails, Django y ¡nadie me ha dicho qué es un Framework!. No te voy a dar una explicación muy técnica ya que esa la puedes leer aquí.



Yo te voy a contar una versión resumida de lo que es.



Supongamos que programas en un lenguaje determinado. Digamos Java para no amarrarlo a Ruby. Digamos que eres feliz desarrollando en Java y realizas varios proyectos. De pronto en todos los proyectos te das cuenta que tienes que ingresar números enteros por la consola. Esto es muy pesado pues todo lo que entra por teclado en la consola es texto y cuando necesitas que el valor sea numérico te ves enfrentado a la necesidad de convertirlo.



Tenemos algo como esto:

Código :



int miVariableNumerica;
miVariableNumerica = Integer.parseInt(in,readLine());





…esa línea hace que, lo que ingreso por teclado (in.readLine()) se convierta en un entero (Integer.parseInt). Luego de poner unas 1000 veces eso, decido que estoy aburrido de ponerlo siempre y decido crear una biblioteca que me permita simplificarme el trabajo porque siempre me estoy equivocando en la sintaxis y con tantas mayúsculas y minúsculas me confundo.



Decido que la mejor forma de cambiar esta situación es crear un método llamado ingresaEntero que reciba ese ingreso por teclado y haga esa operación.



Muy bien! Entonces en un archivo llamado miFramework.java creo esto:

Código :



class miFramework
public int ingresaEntero(String ingreso){
int respuesta;
respuesta = Integer.parseInt(ingreso);
return respuesta;
}
end





Bien, a partir de este punto podemos usar en el programa principal algo como:

Código :



int numero;
numero = ingresaEntero(in.readLine());





Estoy tan felíz con eso que decido hacer lo mismo con in.readLine() y lo llamo a ese método leerTeclado. Luego comienzo a darme cuenta de que, por ejemplo, siempre que me conecto a la base de datos realizo el mismo código y decido crear un método llamado conectar(String NombreBase de Datos) y así comienzo a poner todas las tareas repetitivas bajo métodos y nombres de comando que engloban una o varias tareas. Si a esto le sumo patrones, acciones, eventos, etc y tienen un entorno de trabajo uniforme entonces nace un Framework (desde un punto de vista resumido por supuesto).



Entonces cuando en un framework como Rails pones una instrucción, por lo general, lo que hace es realizar varias instrucciones de Ruby que pueden pasar por acciones como por ejemplo, crear un HTML, crear una tabla, crear una controladora y dejar todo listo e interrelacionado para que tú puedas programar solamente la inteligencia de negocio. El objetivo de usar un framework es dejar las tareas repetitivas y las mejores prácticas en manos del framework.



Y eso es a “groso modo” lo que es un framework y su funcionamiento. Si bien aquí solamente estamos dando una ligera introducción lo importante es que te hagas una idea de cómo funciona, pues en la segunda parte vamos a comenzar con el uso de Rails, entonces ya tendrás una idea de qué es lo que está pasando cada vez que pones un comando y ocurren cosas mágicas y maravillosas.



Ve a la segunda parte, donde veremos la parte técnica del framework




En la segunda parte de la introducción a Ruby on Rails aprenderás mucho más a fondo cómo crear proyectos e nteros en RoR.

Enviar comentario







via Cristalab http://www.cristalab.com/tutoriales/introduccion-a-ruby-on-rails-c107870l/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%253A+clab+%2528Cristalab%2529

Comentaris

Entrades populars d'aquest blog

10 alternativas a Cuevana para ver películas online

10 alternativas a Cuevana para ver películas online : Durante este último tiempo, en Cuevana se sucedieron varios “problemas” por los cuales hubo que ajustar algunas cosas antes de tiempo (como el rediseño del sitio), que dejaron a algunos usuarios ciertos problemas para acceder a las películas o series del portal. Pero realmente esto es algo que no incumbe a los usuarios y, como sabemos, existen muchas otras alternativas a Cuevana dando vueltas por Internet, que intentaremos presentar aquí mismo. Los sitios que repasaremos funcionan del mismo modo que Cuevana, mediante la instalación de un plugin que permite visualizar los videos de Megaupload o WUShare, entre otros servicios, en una calidad de imágen realmente excelente. Tal como sucede con el más popular servicio, todos ellos tienen publicidad que en algunos casos resulta insoportable, pero como dice Federico en DotPod “a caballo regalado no se le miran los dientes”. Alternativas a Cuevana 1. Moviezet Posiblemente el mejor clon d...

Learn Composition from the Photography of Henri Cartier-Bresson

“Do you see it?” This question is a photographic mantra. Myron Barnstone , my mentor, repeats this question every day with the hopes that we do “see it.” This obvious question reminds me that even though I have seen Cartier-Bresson’s prints and read his books, there are major parts of his work which remain hidden from public view. Beneath the surface of perfectly timed snap shots is a design sensibility that is rarely challenged by contemporary photographers. Henri Cartier-Bresson. © Martine Franck Words To Know 1:1.5 Ratio: The 35mm negative measures 36mm x 24mm. Mathematically it can be reduced to a 3:2 ratio. Reduced even further it will be referred to as the 1:1.5 Ratio or the 1.5 Rectangle. Eyes: The frame of an image is created by two vertical lines and two horizontal lines. The intersection of these lines is called an eye. The four corners of a negative can be called the “eyes.” This is extremely important because the diagonals connecting these lines will form the breakdown ...

Más de 50 de las mejores herramientas online para profesores

No es una exageración afirmar que hay ciento de aplicaciones educativas por ahí por la red, para todos los gustos y de todos los colores, por lo que es difícil tratar de recogerlas todas en un listado. Sin embargo, algunas destacan más que otras por su innovación y por su capacidad para conseguir adeptos, y esas son las que protagonizan la presente recopilación. Son 50 interesantes herramientas online basadas en las recopilaciones de EduArea , las muchas ya tratadas en Wwwhat’s new y las destacadas por la experiencia. 1. Dropbox : Un disco duro virtual con varios GB gratuitos y al que se accede desde casi cualquier dispositivo. Sin embargo, es muchísimo más que eso, de hecho ya comentamos 20 razones . 2. Google Drive : La evolución de Google Docs que suma a sus múltiples herramientas de creación de documentos, un considerable espacio virtual gratuito. 3. CloudMagic : Una extensión y una app multidispositivo para buscar información simultáneamente en Gmail, Twitter, Facebook, Evernote ...