Seguro has oido hablar sobre Rails, Ruby o Ruby on Rails, en especial en conversaciones sobre desarollo de aplicaciones web o quizás tu mismo ya lo dominas.
Acá te comento 10 puntos claves que todos debes saber sobre Ruby on Rails.
Ruby On Rails…
1. ¿Qué es Ruby on Rails y para que sirve?
Es un lenguaje de programación dinámico, reflectivo, orientado a objeto y multi propósitos. Fue diseñado y desarrollado a mediados de los 90 por Yukihiro «Matz» Matsumoto en Japón. La primera versión de Ruby fue la 0.95, la cual fue anunciada en el 21 de diciembre de 1995.
Matsumoto, contó que el objetivo de la creación de Ruby es para aumentar la productividad de los programadores y su diversión, siguiendo los principios de user interface design. Se destaca una frase que dijo Yukihiro en una charla de tecnología en Google: «I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language.»
2. ¿Qué es Ruby on Rails?
Es un framework de programación creado por David Heinemeier Hansson, quien le dio el nombre de Ruby on Rails, que usualmente es llamando simplemente Rails.
Rails está enfocado en crear sitios web y combina Ruby con HTML, CSS y JavaScript para crear aplicaciones web que corren en un servidor web. Dado lo anterior, es considerado server-side o Back-end.
Ruby on Rails más que un framework es el proyecto central de una comunidad gigante que produce de manera constante librerías para simplificar las tareas de crear complejas aplicaciones web.
3. ¿Cuáles son los principios de Ruby on Rails?
Rails es dogmático
Esto se refiere que a diferencia de Perl, por ejemplo, que es un lenguaje de programación en donde hay más de una forma de hacer cada cosa y no hay la manera correcta ni la mejor forma. En Rails se dice que un «Rails way» de hecho para muchos problemas. El beneficio de esto es que puedes desarrollamar más rápido, mejorar la colaboración y es más fácil de mantener.
Convention Over Configuration
Algunos frameworks, como los de Java para aplicaciones web necesitan hacer una múltiple cantidad de configuraciones en archivos y cada una con muchos ajustes. Rails esto te lo hace mucho más fácil, asumiendo cosas, así por ejemplo si tu creas por convención un modelo en Rails llamado «User», te creará una tabla en tu base de datos llamada «Users» sin ninguna configuración requerida y además Ruby on Rails asumirá que si el nombre de la tabla es plural si el nombre de la clase es singular.
Don’t Repeat Your Self
Conocido por el acrónimo DRYS, es un principio de desarrollo de software. Tal como su nombre lo dice trata en evitar los duplicados, ya que los duplicados hacen el código más complejo, difícil de mantener y más vulnerable a errores.
Rails toma ventaja de las características de metaprogramming que ruby tiene, no sólo para reusar códigos sino que además para eliminar códigos donde sea posible. Es así que con Rails es posible crear aplicaciones web con sólo unas pocas líneas de código.
4. ¿Por qué Ruby on Rails se ha hecho tan famoso?
Una de las razones es que su lanzamiento fue una revolución en cambio de diseño y además que Rails está diseñado con las mejores prácticas, por lo que de manera natural te lleva a escribir código asombroso.
Algo clave, además, es que en pocas horas te hace posible construir aplicaciones web y dejarlas online funcionando. Para que tengas una idea, la primera versión de Twitter la hicieron en un día usanado Ruby on Rails.
Otro punto importante es que muchas empresas llamativas que de seguro conoces usan Ruby, como lo son: Walmart, Groupon, Cisco, CNET, IBM, JP Morgan, NASA, Yahoo. Hay más de 800,000 web usando Rails en el mundo.
Es así que desde startups a grandes compañias han llegado a la conclusión que cuando se trata de crear aplicaciones web la mejor opción es Ruby on Rails.
5. ¿Qué puedo construir con Ruby on Rails?
Lo que sea que tengas en mente y sea una aplicación web lo puedes hacer on Rails. Sólo dale un vistazo a algunos grandes que construyeron sus sitios con Rails: BaseCamp, 500px, Airbnb, Couchsurfing, Fiverr, Github, Hulu, Indiegogo, KickStarter, Pixlr, Shopify, Square, ThemeForest, Zendesk, entre otros.
6. ¿Puedo construir aplicaciones móviles con Ruby on Rails?
Sólo en Ruby on Rails no puedes construir una aplicación móvil, pero sí puedes construir una aplicación web y esta funcionar como backend de una aplicación móvil.
Además hay un herramienta llamada RubyMotion que te permite construir con Ruby de manera muy fácil aplicaciones nativas para IOS y Android.
Es así que como conclusión literalmente con Ruby on Rails no podrías crear aplicaciones móviles, pero de seguro puede ser una parte importante de un proyecto móvil.
7. ¿Qué tipo de trabajo puedo conseguir en lenguaje Ruby on Rails?
Saber Rails en este momento es una de las habilidades más demandadas en USA y de manera mundial en desarrollo de aplicaciones web.
A las Start-ups especialmente les gusta Rails, por lo que podrías ser parte de una empresa con grandes perspectivas de crecimiento en etapa temprana o podrías también unirte a una empresa más consolidada como podría ser alguna casa de software.
De hecho una opción que toman muchos es trabajar como freelance, es decir de manera independiente realizando proyectos. Los cuales pueden elegir entre pequeños proyectos, medianos y trabajar con una variedad de clientes a largo plazo.
8. ¿Debes aprender Ruby on Rails en lugar de JavaScript?
Como desarrollador Ruby on Rails vas a necesitar saber JavaScript. No es un pre-requisito para aprender Rails pero si es una habilidad que necesitarás aprender desarrollando con Rails.
A medida que te vas sumergiendo más en el mundo de la tecnología, te vas a dar cuenta que necesitas saber diferentes tecnicas. Afortunadamente, a medida que ganas experiencia, aprender un nuevo lenguaje y framework, se hace todo un poco más fácil.
9.¿Cuánto tiempo me tomará aprender Ruby on Rails?
Para comenzar a sumergirte y entender el mundo del desarrollo con Rails, necesitaras algunos meses de estudio. Obviamente igual variará según tu nivel de familiaridad con la programación en general, lo que podría ayudarte a avanzar más rápido.
Sin embargo, es importante que tengas en mente que para ser un Master en Ruby on Rails te va a tomar más de 10 mil horas, así como desarrollar cualquier otra habilidad. Por lo que lo mejor es que ya vayas comenzando.
10. ¿Cómo puedo empezar?¿Qué debo hacer primero?
Algunas páginas gratuitas que te recomendamos que podrías usar para empezar a sumergirte en este mundo del desarrollo son CodeAcademy, TryRuby, Ruby Monk.
En Desafío Latam puedes encontrar cursos y carreras en donde te apoyamos en la formación desde cero hasta que consigas tu primer empleo.
Diego Arias
Artículos relacionados
3 Comentario
Deja una respuesta
Recibe los artículos más leidos y beneficios especiales de nuestra academia
Empieza a trabajar en los roles digitales mejor pagados
Fórmate de manera práctica, e intensiva, con sesiones en vivo de forma flexible y efectiva. Te acompañamos desde que partes hasta que encuentras trabajo.
Excelente blog Diego! Muy útil para quienes sin ser profesionales IT, deseamos tener mayor información de estos perfiles de una forma sencilla y fácil de captar.
Si, me parece rails perfecto pero en cuanto un lenguaje se carga los fundamentos del modelo entidad relacion y convierte una base de datos en un controlador de fichero plano muy caro, ya no me gusta, para empezar me encanta por un lado rails, pero lo odio por esto otro, porque no crea relaciones a nivel de base de datos, no utiliza la potencia en si de la base de datos que utilice con lo que siempre el rendimiento sera mermado y lo tengo comprobado con redmine como obtengas todas las issues con 6 campos personalizados y los quieras mostrar en una select tarda 2 a 5 minutos y estamos hablando solo de 120.000 registros con un doble nucleo y 2 gigas de ram, con esta misma capacidad un mysql bien configurado y obteniendo los mismos datos solo que con los indices bien construidos y demas tardaria poco mas de 60 segundos y en obtener 1 millon de registros.
Cuando se trata de abstraer demasiado obtienes resultados inesperados, cada cosa para lo que es que quieres abstraer abstrae, pero no reinventes la rueda, crea un paso intermedio, existen tablas para consultar las relaciones crea un adaptador bueno y entonces el activerecord me caerá bien, pero mientras se pase por el arco de triunfo el modelo entidad relación para bases de datos relacionales, no terminara de gustarme rails, por cierto mucha convención y mucho experto en rails, pero me decían que no seguía las convenciones el crear un puñetero secuencial e hicieron una chapuza autoincremental en una tabla, y los secuenciales están en casi todas las bases de datos estándar desde que se inventó el SQL85, vamos baje de categoría y me enseñaba un experto en rails (becario) y yo un novato rails con 16 años de experiencia programando en distintos lenguajes de programación y en cuanto vi el como se pasa rails por el forro el modelo me dejo de gustar y mas aun cuando predicaban con las convenciones que luego ellos mismos se saltaban dándoles la solución en formato rails y no quisieron, hicimos un adaptador para oracle y no se podía hacer 100% fiable porque para rails nil y vacío es lo mismo y en oracle se diferencia, entendéis el motivo por el que no me gustan los frameworks. rails para oracle no sirve y la mayoría tienen oracle sql server y db2 y diría que los tres hacen diferencia entre null y vacío
ya he dado un coñazo y no se sabe bien si venero rails o lo odio, pero diría que las dos cosas simultáneamente hasta que convierte la bbdd en un fichero plano en el que las primary keys y las foreing keys son el nombre de la tabla terminado en_id con sql lo podían haber echo igual pero creando las relaciones a nivel de base de datos, pero ahi entran en juego las restricciones que necesitas tener permisos de dba en la aplicación para cambiar esas cosillas.
Ale desahogado XD
Interesantes consejos, a practicar con las gemas