¿Qué es Ruby on Rails y por qué usarlo?

2/36
Recursos

Aportes 14

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos (todo es un objeto, incluso los números). Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Además de todo esto es totalmente libre. No sólo gratis, sino también libre para usarlo, copiarlo, modificarlo y distribuirlo.

Algunas de sus características son:

  • Es de tipado dinámico, osea las variables no están asociadas a un tipo de dato específico (entero, string, boleano, float, etc) permitiendonos realizar cambios en tiempo de ejecución.
  • Es interpretado, una cualidad que nos permite mayor agilidad al momento de ejecutar nuestro programa pues ya no será necesario compilar el programa, así como tampoco necesitaremos binarios para cada uno de los sistemas operativos donde lo ejecutaremos, existen varios interpretes en Ruby CRuby, JRuby, Mruby, Rubinius, Opal, RubyMotion.
  • DRY, No te repitas (en inglés Don’t Repeat Yourself, también conocido como Una vez y sólo una) según este principio toda pieza de información nunca debería ser duplicada debido a que la duplicación incrementa la dificultad en los cambios y evolución posterior, puede perjudicar la claridad y crear un espacio para posibles inconsistencias.
  • La filosofía de Ruby es hacer la programación más humana, mejorar la productividad y felicidad del desarrollador, siguiendo los principios de una buena interfaz de usuario, sostiene que el diseño de sistemas necesita enfatizar las necesidades humanas más que las de la máquina, su objetivo es que cuando te sientas a leer el código sea más natural.
  • Es un lenguaje que nos permite realizar metaprogramación - “Es la habilidad de usar código para generar código”
  • También nos permite crear DSL o Lenguaje específico de dominio, que son herramientas increíblemente poderosas para facilitar la programación o configuración de sistemas complejos, o programas dedicados a resolver un problema en particular.
  • Ruby posee una comunidad bastante activa y a sus paquetes o librerías se les conoce como “gemas” actualmente existen unas 161.000 gemas aprox, que se han descargado alrededor de 55 millones de veces.
  • Esta muy bien diseñado al punto que a inspirado a otras tecnologías como elixir o CoffeeScript, D, Groovy, Falcon y Swift.
  • El ecosistema ruby es muy completo, el lenguaje es utilizado para
    • WEB con frameworks como Ronu on Rails, Sinatra, Rack, Grape
    • Mobile, RubyMotion es una implementación del lenguaje Ruby para la creación de aplicaciones en iOS, OS X y Android.
    • Utilidades de terminal, lo que te imagines un ejemplo es HomeBrew
    • Aplicaciones gráficas (programas de escritorio) QT, SWING, Ruby GTK, Shoes, FxRuby, Zenity,VisualRuby, QtRuby, SharedDevelop


Creo que la mejor forma de aprender es enseñar, por si les interesa tenemos un server en Discord “Aprende Ruby On Rails” donde tocamos temas referentes a Ruby y Ruby on Rails, son bienvenidos a compartir sus experiencias, les dejo el link https://discord.gg/N84JsXW

Conceptos extraídos de:
- Ruby https://www.ruby-lang.org/es/about/
- Gemas https://rubygems.org/
- Tipado dinámico https://charlascylon.com/2017-05-10-dynamic-vs-static
- Lenguajes compilados e interpretados
- https://blog.makeitreal.camp/lenguajes-compilados-e-interpretados/
- https://www.toptal.com/ruby/the-many-shades-of-the-ruby-programming-language
- Filosofía Ruby
- https://www.informit.com/articles/article.aspx?p=18225
- https://www.artima.com/intv/ruby.html
- DRY http://joaquin.medina.name/web2008/documentos/informatica/documentacion/logica/OOP/Principios/2012_07_30_OopNoTeRepitas.html
- Metaprogramación https://medium.com/@hackvan/entendiendo-la-metaprogramación-con-ruby-7a0360ee67e7
- DSL https://www.toptal.com/ruby/ruby-dsl-metaprogramming-guide
- Ruby Influencia otros lenguajes
- https://royalsocietypublishing.org/doi/10.1098/rsif.2015.0249
- https://es.slideshare.net/AlexanderEcheverra/lenguaje-de-programacin-ruby-69781302
- Ecosistema ruby
- https://www.jetbrains.com/lp/devecosystem-2020/
- https://www.jetbrains.com/es-es/lp/devecosystem-2020/ruby/

¿Qué es Ruby on Rails y por qué usarlo?


Ruby tiene más de 20 años, es un lenguaje interpretado. Enfocado en la legibilidad, productividad y dinamismo. Lo cual nos ayudará a “Don´t Repeat Yourself”. Además todo dentro de Ruby es un objeto.

Rails, el framework

Este ya tiene más de 15 años. Tiene una compresión conceptual que nos permitan llegar a dónde queremos con nuestra app de una forma más rápida.

Además, otro de sus conceptos es el aprendizaje JIT o “Just In Time Learning”, y esto nos da una base inicial con poco conocimiento que si saber muchas cosas podemos hacer grandes proyectos.

Y es que RoR está también enfocado en el reconocido manifiesto agíl, donde se quiere:

  • Dar valor a tu producto y a cliente.
  • Individuos e interacciones sobre procesos y herramientas.
  • Software funcionando sobre documentación extensiva.
  • Colaboración con el cliente sobre negociación contractual.
  • Respuesta ante el cambio sobre seguir un plan.

Tengo que hacer un coding challenge para una vacante a la que estoy aplicando y no jamás he tocado RoR. Vamos a ver si lo logro.

Lo estaba esperando

He estado revisando Ruby on Rails por otros medios, antes de revincularme a Platzi, y algo que observé es que no renderiza los cambios automáticamente; es necesario refrescar los cambios realizados. Para ello, se puede integrar con otras tecnologías como React.

Lo complejo del caso, así como lo interesante, es que hay varias formas de atajar un problema, por lo que cuesta un poco abarcar una metodología de trabajo.

Espero poder aprender mucho de este curso, así como poder compartir con uds ideas y conocimientos.

Ruby, el lenguaje

  • Nace en 1993, pero se lanza en 1995
  • Interpretado
  • Enfocado en la legibilidad, productividad y dinamismo
  • Es Flexible
  • Habilita la composición DRY (Don’t repeat yourself)
  • Todo es un objeto

Rails, el framework

  • Compresión conceptual
  • Aprendizaje JIT (Just in time learning)
  • Principio DRY
  • Convenciones sobre configuraciones
  • Está diseñado para construir rápido
  • Está diseñado para automatizar
  • Sin sorpresas

Rails sigue los principios del Manifiesto Ágil:

  • Individuos e interacciones sobre procesos y herramientas
  • Software funcionando sobre documentación extensiva
  • Colaboración con el cliente sobre negociación contractual
  • Respuesta ante el cambio sobre seguir un plan

El legado de Rails

  • La primera versión fue lanzada en el 2005, con actualizaciones constantes a través de los años. En 2021 la última versión es la 6.14
  • Existen más de 3994 contribuidores a abril del 2020
  • Se han hecho 76342 commits a abril del 2020

Algunas empresas que usan RoR

  • Twitch
  • Airbnb
  • GitHub
  • Heroku
  • Bloomberg

Genial! Muy motivado para iniciar con Rails para desarrollar a mas alto nivel.

FINALLY, IT’S HERE

¡Finalmente!

Muy bueno!

uy por fin!!

Genial!

Maravilloso ruby, siempre es importante manejarlo a tiempo, nunca se sabe cuando lo vas a necesitar

Se me hace que este curso va hacer bastante entretenido y educativo.