Sin duda Alguna Ruby on Rails (RoR) es uno de los Frameworks back-end más reconocidos por ciertas y especificas ventajas al programar en él. Ya que con gran facilidad podemos crear aplicaciones muy complejas de manera rápida y en cuestión de minutos lo que ningún otro lenguaje de programación o Framework ofrece.
Ruby
Ruby es un lenguaje de programación totalmente orientado a objetos multiplataforma (lenguaje interpretado y de scripts), en el que RoR fue basado para su creación.
Ruby es totalmente software libre y fue creado por Yukihiro Matsumoto también conocido como Matz; la primera versión liberada al público fue en 1995, su sintaxis es muy parecida a lenguajes como Perl y Python.
RoR
Es un Framework del lado del servidor qué nos facilita la construcción de grandes aplicaciónes web y que a su vez estas son de código abierto; creado por David Heinemeier Hansson liberando la primera versión en Julio del 2004.
Rails maneja el paradigma del MVC (Model-View-Controller) mejor conocido como modelo vista controlador que nos permite dar ciertas configuraciones de manera libre en el controlador para darle lógica a nuestras vistas y permitirnos manejar información de una base de datos mediante consultas al activerecord en base a los atributos o campos de nuestro modelo ya creado.
Su Filosofía: Don´t Repeat yourself. Nos indica que lo que ya está hecho no tiene porqué volver a hacerse.
Una de las cosas más interesantes de este Framework, es que nos permite combinar lenguaje de Ruby con HTML o HTML5 mediante archivos con la extensión .html.erb en las vistas del controlador, lo que nos facilita el manejo de distintas funciones, variables o métodos dentro de nuestra aplicación.
Al igual que muchos otros Frameworks, Rails nos permite instalar librerías y bibliotecas (llamadas Gemas) desde la consola de Rails o desde el mismo símbolo del sistema (en Windows). Ejecutando una simple instrucción como esta:
gem install rails
Descargará e instalará las Gemas necesarias para nuestra aplicación. Puedes encontrar los códigos para la instalación de diversas y múltiples tipos de Gemas para tus aplicaciones gracias a la comunidad de programadores de .
Volviendo al tema, una de las cosas que más le encantó a la comunidad de programadores de Ruby; es su bella sintaxis, ya que es legible y parecida al pseudo-código.
Muy bien, se habrán dado cuenta que al hablar de RoR no solo estamos hablando del Framework sino también de Ruby; menciono esto ya que es de gran importancia saberlo, puesto que debemos tener conocimientos básicos de Ruby o en su caso conocer muy bien la sintaxis para poder comprender el Framework.
Dejemos aún lado los Conceptos básicos de Ruby y RoR, pasemos a ver un poco de código.
Instalación de RoR
Antes que nada debemos instalar Rails y eso lo pueden hacer de manera muy fácil () y descargándote el Paquete que viene con las versiones más actuales de Ruby, Rails, Bundler, Git, SQL Server Support y MySQLite.
La instalación es muy sencilla simplemente aceptan términos y condiciones y dan siguiente para instalar todos los complementos de Rails; por último hacen clic en el botón finalizar para concluir la instalación.
Ahora nos vamos a la consola y tecleamos el siguiente código:
rails –v
Luego:
ruby –v
Si la instalación es correcta estos códigos nos darán en pantalla las versiones que instalamos de Rails y Ruby en nuestro ordenador, si no es así vuelve a instalar el paquete de Rails ya que algo se te pudo haber escapado en la instalación.
Mi primera App en RoR
Ahora vamos a crear nuestra primera aplicación, para ello primero nos posicionaremos en la carpeta donde queremos que se creen todos los archivos necesarios para nuestra aplicación. Ejemplo:
C:\CursoRuby>
C:\CursoRuby> cd Proyecto01
C:\CursoRuby\Proyecto01>
Y ahora colocamos lo siguiente:
rails new MiPrimerApp
Esto nos puede tomar unos segundos para que genere todos los archivos necesarios para nuestra aplicación.
Una vez listo abrimos nuestro editor de texto (sugiero usar Sublime Text 2) para examinar todas las carpetas y archivos que nos ha creado Rails, esto con el de darnos una idea de cómo es la jerarquía de los ficheros, archivos y/o carpetas que maneja RoR en nuestras aplicaciones.
Volvemos a la Consola y tecleamos lo siguiente:
rails s
O también podemos escribir el comando así:
rails server
Lo que hará este comando así de sencillo será cargar nuestra aplicación para poder visualizarla en el navegador, generalmente la carga en el puerto 3000 de nuestro localhost, Ejemplo:
localhost:3000
Una vez visualizada la aplicación en el navegador nos podremos dar cuenta que por defecto Rails genero una vista con la portada de RoR, en donde nos indica que esta vista o archivo debe ser borrada y reemplazada por la vista index del controlador welcome.
Muy bien ahora regresamos de nuevo a la consola y nos salimos del servidor mediante la combinación de teclas Ctrl+C.
Después tecleamos lo siguiente:
rails g controller welcome index
Lo que hará este comando es crearnos el Controlador “Welcome” con la Vista “Index”.
Una vez creados los ficheros, procedemos a borrar el archivo index.html en la Carpeta /Public de nuestra aplicación.
Luego nos vamos a la carpeta /config y abrimos en nuestro editor de texto el archivo routers.rb en el cual borraremos el “#” de la línea 53 (que nos sirve para comentar algún texto o código en Ruby), y nos quedará una línea de comandos de Ruby así:
root :to => ‘welcome#index’
Y ahora para Finalizar nuestra pequeña aplicación de RoR , abrimos el archivo “index.html.erb” que es la Vista “index” de nuestro controlador “Welcome” y colocamos lo siguiente:
<h1> Esta es mi Primer Aplicación en Ruby on Rails </h1>
<p> By: Michael Serrato </p>
Por último vamos a cargar nuestra aplicación:
rails s
Qué abrirá un servidor con nuestra app en el puerto 3000 (que ya viene así por defecto).
Abrimos nuestro navegador y visualizamos nuestra aplicación, en:
http://localhost:3000/welcome/index
Les debe aparecer la Vista en la que creamos la página de HTML5:
<h1> Esta es mi Primer Aplicación en Ruby on Rails </h1>
<p> By: Michael Serrato </p>
Por último te dejo el video de la presentación en ninjacode.tv del tema; en la primera parte resolvemos dudas en general para posteriormente pasar al código:
Y listo ahí tendrán un pequeño ejemplo de cómo es que se trabaja en el Framework Ruby on Rails y cómo utilizar la consola y los comandos de Rails.
Espero que les sea de gran ayuda este Post. Recuerden dejar sus dudas o comentarios.
¿Te ha gustado?, ¿quieres ser un desarrollador profesional con Ruby on Rails?, descubre la plataforma cursoderails.com, donde comenzarás a ver Ruby on Rails desde cero hasta nivel avanzado. Todo ello con un tutor que estará guiando su camino y con actualizaciones semanales, ejercicios, exámenes con certificado”. Por ser lector nuestro, le obsequiamos con un cupón descuento, introduzca html5facil y lo conseguirás.
Excelente!!! 😉
Pues si. Excelente. Habrá más??? Graciasss
Claro Amigo, es probable que publique un segundo Post sobre Ruby on Rails continuando con los Conceptos más Importantes de éste framework y tal vez un Sistema de Posteo utilizando una Herramienta muy versátil de Rails conocida como el Scaffolding.
Qué te parece?? 😀
¿Es algo parecido a node.js o me equivoco?…
No amigo, NodeJS es Javascript del lado del Servidor, Ruby on Rails es un Framework MVC de Ruby, son totalmente diferentes 🙂
Muchas gracias!
A veces miramos tanto código que luego no sabemos ni arrancar la aplicación.
Muy útil!
Muchas Gracias por su comentario 🙂
Tengo un problema, quiero instalar rails pero en una maquina sin red. que me aconsejas??
Puedes hacerlo si gustas, pero te dará problemas al tratar de instalar nuevas gemas ( librerias de RoR ), ya que este procedimiento necesita de una conexión a la red para poder transferir a tu PC las librerias de manera correcta ,mira este link: http://rubygems.org/ . Podrás correr algunas aplicaciones, sin embargo, la mayoría necesitan de una conexión a internet y/o hacer uso de nuevas gemas, sobretodo si estas utilizando alguna API.
Yo te recomiendo que trabajes con Ruby on Rails teniendo una conexión a internet siendo que es muy indispensable para este framework.
Espero haberte ayudado 🙂
Entonces RoR lo recomiendas única y exclusivamente para aplicaciones web?
Bueno, más bien ese es el punto de frameworks como Ruby on Rails o Django. E
Bueno, más bien ese es el punto de frameworks como Ruby on Rails o Django. En el caso de RoR es un paso por llevar el Lenguaje de Programación Ruby a la web, claro que Ruby por si solo puede ser útil para generar cualquier tipo de programas y no únicamente aplicaciones web como el framework.
Excelente aporte.
podrias realizar un ejemplo donde se consulten registros una Base de datos Existente?
Si, claro, espero y en poco tiempo pueda hacer un nuevo post sobre Ruby on Rails sobre consultas Active Record 🙂
Si, claro, espero y en poco tiempo pueda hacer un nuevo post de Ruby on Rails sobre Consultas ActiveRecord 🙂
Uf como siempre dije RoR tiene mucha magia que a veces a las personas que recien empiezan les parece muy complejo, routes, controllers, views, conceptos como ORM(Active Record) que talvez no los conoscan. A algunos recomiendo que primero empiezen con Sinatra para que comprendan los metdos GET,POST,PUT,DELETE y no simplemente se limiten al scaffold que rails nos provee. Suerte con los post
Bueno en el caso de los routers, los controladores y las vistas son parte de la arquitectura del MVC que ya varios frameworks han implementado, hablamos por ejemplo de CodeIgniter, BackboneJS, Express para NodeJS, Django, CakePHP, etc. Y si claro es buen inicio comenzar aprendiendo los métodos GET, POST, PUT y DELETE ya que es muy cierto lo que mencionas… No debemos limitarnos al scaffolding, sin embargo, yo recomendaría que empiecen estudiando un poco la API de rails, y más que nada conozcan como funciona el Active Record, que es uno de los puntos esenciales para aprender a manejar Ruby on Rails al 100%, y pues una manera de practicar con ello sería comenzar por crear algunas migraciones y modelos simples además de generar algunas consultas mediante pequeños formularios, que principalmente para alguien que va iniciando esto serviría de gran ayuda.
Realmente RoR es un framework muy completo, es perfecto para Startups como en sus inicios lo usó twitter, ahora creo que lo usan grandes aplicaciones como github, airbnb(creo que ahora usa node.js), groupon, y aplicaciones saas como zendesk y shopify. Realmente te deseo suerte con tus post ya que encontrar información de RoR en español es muy difícil y gente que no conoce ingles no puede tener acceso a esta maravillosa tecnología, te recomendaría que también hagas un post de como poner en producción una pequeña aplicación en Heroku ya que la mayoría de gente solo enseña a hacer código mas no en ponerlo en producción. Mucha suerte.
Claro, tálvez lo haga. Muchas Gracias por el consejo 🙂 lo tendré en cuenta, Saludos!! 😀
¿Podrías hacer demos de aplicaciones sencillas? Una agenda o similar para fijar conceptos (añadir, borrar, consultar, listados paginados, …)
Que estupido que eres, y la gente que agradece esta publicación también sin ofender, esta persona lo único que hizo fue copiar lo mismo que se encuentra aquí: http://guides.rubyonrails.org/getting_started.html (Material oficial de Ruby on Rails) y acerca de la información, igual, copio el mismo contenido y lo "resumio". No sean tontos, leean la referencia oficial de un lenguaje o un software, no vallan a blogs o foros no oficiales donde publica cualquier persona. Ej: Un chico de 16 años con poca experiencia.
Buen día Federico, gracias por dar tu punto de vista, solo una observación, no hay necesidad de ofender al autor, pues comparte su conocimiento con buena intención y aún siendo muy joven es muy bueno en lo que hace. Cuando quieras proponer una corrección o sugerencia, puedes hacerlo e incluso tu mismo colaborar con algo que crear, es más profesional. Es normal encontrar mucha similitud con el sitio web de ROR, pues de allí saco muchos ejemplos, el solo agrego su explicación para personas que necesitan entenderlo de otra manera. Saludos.
Gracias Luis Antonio, aunque siendo sincero no tuve que ver ese contenido que explica Federico, ya que el "Típico Hola Mundo" es algo de lo más básico para comenzar a programar en algún lenguaje, así que no tuve que ver ningún material, la verdad fue cosa fácil, aquí lo importante era la explicación para quienes van iniciando, pero claro, puedo hacer cosas mejores que eso :), gracias por tu critica Federico pero las cosas no fueron así como tu pensaste, aunque si en algún momento lo prefieres puedes demostrar tus conocimientos y habilidades al público de esta comunidad, no hay restricciones, Saludos!! 🙂
Oye descargue el archivo pero viene con extensión .1 y ya baje el hacha pero esa madre no me la reconoce, que puedo hacer? para poder iniciar con RoR
Hola, tengo una pregunta, alguien sabe como configurar RoR en wondows 8? He tratado de seguir este tutorial pero cuando ingreso el commando rails s me genera otro tipo de informacion al que esta en este sitio web, tampoco se me abre localhost:3000, talvez porque nunca inicialice el servidor, aunque he tratado de muchas formas y nada.
Gracias por su apoyo.
No olvidaste entrar al directorio de tu proyecto una vez que lo creaste desde la terminal?, es un error muy común. De igual manera envíame un correo y escríbeme el mensaje que te aparece cuando intentas correr la aplicación. Saludos!! 🙂
Necesito que me den una idea de como migrar la base de datos en redmine 2.4.1 porque me dice que el archivo rakefile.rb no se encuentra en el directorio.
gracias y espero ayada