¿Por qué seguimos eligiendo Ruby en 2020?

¡Hola, Habr! Les presento la traducción del artículo "¿Por qué Ruby sigue siendo nuestra elección en 2020?" por Vira Vashkovska.



Somos un experimentado equipo de desarrollo de Ruby on Rails. Algunos de nosotros hemos estado desarrollando en Ruby durante años y lo conocemos como la palma de nuestra mano. Es por eso que se necesita mucho coraje para admitir que Ruby no está en su mejor momento en este momento.



El idioma fue muy popular en 2013-2015, pero luego su popularidad disminuyó. Esto es especialmente notable cuando comparamos las estadísticas de Ruby y Ruby on Rails para 2020 con el progreso realizado por otras herramientas. Stack Overflow hizo una comparación bastante trivial de la dinámica de crecimiento de Ruby y Node.js según la cantidad de preguntas formuladas. Sí, este no es el indicador más objetivo, pero te haces una idea ...



imagen



Los usuarios de Ruby han caído, pero ¿es eso suficiente para anunciar la muerte de Ruby? Realmente no. Si ha visto artículos como "Ruby está muerto" o "Ruby es irrelevante", prepárese: en algún momento, todos los idiomas fueron declarados muertos. Tome Node.js, el tiempo de ejecución lo está pasando bien, y sin embargo, la gente se apresura a anunciar su muerte.



imagen



Las vistas apresuradas de la desaparición de la herramienta son increíblemente comunes entre los desarrolladores de software. Ya hemos visto muchos instrumentos declarados muertos, aunque esto no era ni remotamente cierto. Todos los desarrolladores experimentados saben que las historias de lenguajes y marcos moribundos son populares.



¿Ruby y Ruby on Rails estarán muertos para 2020?



Evidentemente no hay humo sin fuego. Ruby no es de ninguna manera perfecto: los desarrolladores han tenido varias razones para pensar en cambiar a otras herramientas. Echemos un vistazo a las críticas más comunes a Ruby y Ruby on Rails y veamos si tiene mérito.



1. "Consumo caótico de recursos del procesador". Se sabe que Ruby y Ruby on Rails tienen una alta utilización de CPU de la nada. Los desarrolladores inician sus procesos típicos, abren monitores de actividad y descubren que el uso de la CPU es del 50% o incluso del 100%. Como regla general, estos cambios ocurren sin razón aparente: los desarrolladores no entienden qué hicieron mal y tienen que terminar el proceso.



Nuestro comentario: Ruby no está funcionando bien con la utilización de la CPU. Por lo general, para reducir el consumo, basta con editar los archivos de configuración y deshabilitar los procesos de exploración en segundo plano innecesarios. El problema suele ser la calidad del código; nuestra única queja es la dificultad para encontrar estos problemas.



imagen



2. "La escritura dinámica no es señal de un buen código". La escritura dinámica en Ruby no se prueba correctamente. Los desarrolladores pueden cometer errores, crear código ilegible y no ser conscientes de ello. Algunas personas piensan que los repositorios de código Ruby son un imán para la deuda tecnológica.



imagen



Nuestro comentario: En Ruby, las variables son dinámicas: una variable puede hacer referencia a diferentes valores y puede cambiarla en cualquier momento. Esto es lo que hace que Ruby sea uno de los lenguajes más rápidos para escribir código, por lo que no es un inconveniente. Ruby también tiene un gran recolector de basura que detecta automáticamente problemas técnicos y no requiere configuración manual. Los proyectos exitosos a gran escala que utilizan Ruby son una prueba de que Ruby puede ser muy ordenado.



3. "No hay curva de crecimiento". No es que Ruby se haya vuelto terrible, es solo que otros lenguajes se han vuelto mucho más poderosos. JavaScript da increibles saltos en calidad cada año, mientras que Ruby crece de manera constante pero lenta. Rails solía ser una clara ventaja competitiva, pero ahora todos los lenguajes tienen marcos similares a los de Rails.



Nuestro comentario: es cierto que Ruby on Rails ha inspirado a Node.js, JS, Python y una gran cantidad de otros marcos. En términos de actualizaciones, aquellos que han estado usando Ruby todo el tiempo han notado mejoras significativas en la velocidad y calidad del código. Ruby on Rails en 2020 es tan rápido como los frameworks JS; tenemos un artículo que explica esto con más detalle.



Ruby y Ruby on Rails es imprescindible para muchos proyectos



Ruby no es un lenguaje convencional, pero es uno de los más eficientes. La gente no lo aprende por diversión, lo hace por trabajo. Lo utilizan Airbnb, Hulu, GitHub y muchas otras plataformas importantes en este momento. Aquí hay algunas estadísticas adicionales sobre los sitios basados ​​en Ruby y su tráfico.



imagen



El ecosistema Ruby on Rails 2020 incluye una de las comunidades más populares en GitHub con más de 3500 colaboradores. Para darte una idea, Django, uno de los frameworks de Python más populares, solo tiene 1500. Por lo tanto, una comparación de Ruby on Rails y Django en 2020 muestra que RoR realmente funciona bien.



El desarrollo de Ruby es rápido y eficiente



En Syndicode, usamos Ruby por muchas razones. En primer lugar, los proyectos de escritura rápida en Ruby toman un 30-40% menos de tiempo que en otros idiomas. Esto se debe a que necesita de 3 a 4 veces menos líneas de código que en Java o Python. El código es ligero y mejora el rendimiento.



Anteriormente, Ruby tenía reputación de ser lento, pero esto se puede solucionar con buenas prácticas de codificación. Estamos totalmente de acuerdo con la guía publicada por Shopify: es fácil escribir un código Ruby rápido si sabe cómo hacerlo.



imagen



Beneficios del desarrollo de Ruby para propietarios de productos



La velocidad de codificación, menos líneas y excelentes marcos parecen una ventaja de desarrollo. ¿Qué hay de los beneficios de rendimiento y calidad del producto? Según nuestra experiencia, Ruby tiene mucho que ofrecer a las empresas.



Rápido tiempo de comercialización. Ruby on Rails es nuestra elección para el desarrollo de MVP porque es la única herramienta que nos permite lograr codificación de alta velocidad sin sacrificar la calidad.



Flexibilidad. Debido a que el código Ruby es tan rápido y fácil de editar, crear y publicar actualizaciones es una tarea sencilla. Los desarrolladores pueden lanzar rápidamente nuevas funciones, introducir innovaciones en el mercado y adaptarse a las necesidades de los usuarios.



Popularidad de Ruby on Rails en 2020: el ecosistema de la plataforma Ruby on Rails supera fácilmente a la mayoría de los entornos de desarrollo de back-end, incluidas las herramientas Node y Python.



Muchas herramientas y bibliotecas gratuitas. Existe un vasto ecosistema de gemas y repositorios de Ruby y Ruby on Rails: fragmentos de código reutilizables que se pueden integrar en cualquier proyecto.



Rentable: con Ruby, debe pagar 2-3 veces menos por el desarrollo. Esto se debe a que la sintaxis del idioma le permite escribir rápidamente. Aún así, muchas funciones se pueden implementar con código generado por la comunidad y listo para usar.



Multiplataforma: el código escrito en Ruby funciona bien en todos los dispositivos y sistemas operativos, y en todos los navegadores. Todos nuestros sitios web, SaaS y mercados impulsados ​​por Ruby funcionan a la perfección en un entorno multiplataforma.



Seguridad: Ruby y Ruby on Rails son ideales para aplicaciones sensibles a los datos (plataformas financieras, mercados, soluciones de atención médica, etc.). Ruby y RoR siguen el ciclo de vida de desarrollo seguro: los desarrolladores priorizan las herramientas de seguridad, las herramientas de monitoreo en tiempo real y se adhieren a altos estándares de seguridad.



Las 5 áreas principales para el desarrollo de Ruby



Apenas hay aspectos del desarrollo web que Ruby no cubra. Sin embargo, según nuestra experiencia, hemos identificado 5 tipos principales de proyectos en los que el uso de Ruby en lugar de otros lenguajes de uso general "marca la diferencia".



Plataformas comerciales



imagen



Ruby es utilizado por: Airbnb, Hulu, Amazon



Marketplaces son enormes plataformas web que conectan a compradores y vendedores, permiten transacciones financieras, transacciones y compras. Manejan grandes cantidades de datos, requieren altos estándares de seguridad y su desarrollo requiere mucho tiempo.



Usamos Ruby on Rails para todos nuestros proyectos en el mercado, incluidos los muy exitosos Clean Agents y HotelCloud. Esto nos permite reducir el tiempo de desarrollo, mejorar la calidad y lanzar actualizaciones rápidamente.



Software como servicio



imagen



SaaS que utiliza Ruby: Basecamp, Dribble



Software-as-a-Service es una plataforma que proporciona servicios continuamente mediante suscripción regular. Dos criterios para construir un SaaS exitoso son la velocidad y la seguridad. Después de todo, los proveedores de SaaS tienen la responsabilidad a largo plazo del éxito de sus clientes. La confiabilidad, el buen rendimiento, la seguridad y las actualizaciones rápidas son esenciales. Es por eso que Ruby on Rails es la mejor opción para el desarrollo de SaaS.



Escalabilidad: SaaS está creciendo rápidamente, las empresas están creciendo a una tasa del 50-60% por año. El código base debe adaptarse a las nuevas necesidades y manejar cargas elevadas. Ruby y RoR le permiten cambiar rápidamente la funcionalidad y adaptar los servicios a los nuevos requisitos.



Rentabilidad: Ruby on Rails tiene uno de los ecosistemas más importantes para el desarrollo web. Una gran comunidad de GitHub, gemas de alta calidad y bibliotecas listas para usar contribuyen a una infraestructura sólida.



Elegimos Ruby on Rails para InstaLinks, un SaaS que genera enlaces inteligentes accesibles desde computadoras de escritorio y dispositivos móviles. RoR también cumple con los requisitos de proyectos más grandes como CRM; eche un vistazo a nuestro caso con UkrVit.



MVP



imagen



Las empresas que han utilizado Ruby para MVP como Twitter, Shopify, GitHub, Basecamp



Ruby y Ruby on Rails son opciones obvias para el desarrollo de MVP. Los MVP deben desarrollarse rápidamente: los propietarios de productos quieren distribuirlos a los usuarios, demostrar un servicio considerado a los inversores y ampliar su alcance.



Fácil de construir: incluso un pequeño equipo de Ruby on Rails y Ruby puede crear un gran MVP;

Facilidad de aprendizaje: los desarrolladores nativos pueden unirse rápidamente a nuestro proyecto más adelante porque aprender Ruby on Rails lleva poco tiempo debido a su sintaxis simple.



Aquí hay un ejemplo de MVP creado por nuestros desarrolladores web usando Ruby on Rails. HelloCare es el mercado de la salud, donde la seguridad y la confiabilidad han sido nuestras principales prioridades. Ruby on Rails nos permite avanzar hacia el logro de estos ambiciosos objetivos al tiempo que mantenemos bajos los costos de fabricación y el tiempo de comercialización.



Aplicaciones multiplataforma con Ruby on Rails



imagen



Aplicaciones multiplataforma creadas con Ruby: Basecamp, GitHub Una



aplicación móvil debe poder aprovechar las API del dispositivo, enviar notificaciones automáticas y adaptarse a las características del hardware y del sistema operativo. Una buena herramienta de backend para una aplicación móvil debería enviar alertas, anuncios y sincronización de datos. Usamos Ruby y Ruby on Rails para configurar el back-end para la base de datos, el servidor web y el servidor de aplicaciones.



Aunque utilizamos principalmente Ruby para proyectos web, a menudo nos referimos a este lenguaje para herramientas multiplataforma. Esto es exactamente lo que hicimos con Kindercare, una aplicación que automatiza la gestión y organización del cuidado diurno y preescolar. Hemos utilizado Ruby y Ruby on Rails para desarrollar versiones móviles y web de la plataforma y la aplicación ha recibido excelentes respuestas y altas calificaciones en todo el mundo.



Servicios innovadores con el desarrollo de IoT e IA



Ruby on Rails a menudo se considera una herramienta asequible para proyectos simples, pero en realidad es mucho más que eso. Nos encanta usar Ruby y Ruby on Rails para productos ambiciosos que utilizan IA, IoT, aprendizaje automático, etc.



El lenguaje es lo suficientemente potente como para adaptarse a innovaciones complejas y su sintaxis simple ahorra mucho esfuerzo de desarrollo.



Ruby Gems ofrece una gran cantidad de código listo para usar para la innovación en IA e IoT.



conclusiones



Ruby nunca muere. Tanto las estadísticas como las experiencias de los desarrolladores de Syndicode apuntan a lo mismo: Ruby es un lenguaje práctico que resulta ideal para resolver problemas empresariales específicos. Puede que no ofrezca ningún enfoque específico listo para usar, lo que lo hace menos interesante para comunidades como Stack Overflow, pero funciona.



El futuro de Ruby on Rails es aún más optimista; más bien, está floreciendo. Sigue siendo una de las plataformas de desarrollo web más populares, e incluso los marcos similares a RoR aún tienen que ponerse al día con el original. Ruby y Rails son herramientas rápidas y eficientes para crear soluciones web y móviles, y la ventaja no va a ninguna parte.



Si está planeando crear un mercado, SaaS o cualquier plataforma web con una versión móvil, probablemente Ruby sea la opción correcta para su proyecto. Lo sabrá con seguridad cuando hable con los desarrolladores al respecto, así que no dude en contactarnos.



All Articles