¿Cuál es el futuro de Ruby on Rails?

Ahora mismo nos encontramos en una coyuntura interesante no solo para el futuro de Ruby y Rails, sino también para el futuro del desarrollo de software en general. Parecería que este cambio tectónico puede introducir cambios que podrían compararse con el cambio introducido cuando el desarrollo web se convirtió en la corriente principal (hace casi 20 años).

La primera señal de los tiempos por venir sucedió en 2011, cuando la compañía china TenCent lanzó su plataforma WeChat. Esa plataforma llevó a China a la tormenta y, por supuesto, la influencia se extendió a los países vecinos del lejano oriente, Japón y Corea del Sur. En Japón, una plataforma similar llamada LINE también se llevó al país a causa de la tormenta, y en Corea del Sur, Kakao tuvo un éxito similar.

Avanzamos rápidamente tres o cuatro años, y finalmente estamos empezando a ver tendencias similares en los países occidentales. Slack y Facebook Messenger se lanzaron como plataformas con varias similitudes con WeChat. Por supuesto, pasarán muchos años antes de que, como civilización, podamos alcanzar WeChat, pero Slack y Messenger son un buen comienzo.

La esencia de esta revolución naciente en el software es el hecho de que estas nuevas plataformas están rompiendo la llamada cuarta pared del software. Similar al fenómeno de romper la cuarta pared en la cinematografía, donde los espectadores se dan cuenta repentina e inesperadamente del hecho de que hay una cámara y el equipo presente en el sitio donde se realiza la película mágica, la ruptura de la cuarta pared en el software llega cuando los usuarios se dan cuenta del hecho de que pueden hablar directamente con la máquina. Esta es una transición bastante natural para la mayoría de las personas: han estado chateando con sus amigos y conocidos en el canal, y lo que podría ser más natural que seguir charlando con sus aplicaciones también. Entonces, en lugar de tener que descargar, instalar, abrir y luego navegar por una aplicación (por ejemplo, una aplicación de Uber), los usuarios ahora pueden simplemente chatear a Uber directamente desde su línea de comandos, de una manera que no es diferente a la forma en que chatearían con un amigo.

Esta interfaz de conversación es lo que está marcando el comienzo de la revolución radical en el mundo del desarrollo de software. Los días de empuje de píxeles están en decadencia; En lugar de navegar por alguna interfaz gráfica, los usuarios podrán realizar sus tareas simplemente hablando con los servicios de back-end.

¿Cómo va eso a Ruby y Rails? He estado usando Rails desde 2005, y he sido testigo de que es una comunidad y tecnología muy resistente y próspera. Ha estado expuesto, en los últimos 10 años más o menos, a muchos desafíos dramáticos, se tomó todo con calma y emergió más y más fuerte. Estoy convencido de que Ruby y Rails harán una transición exitosa, no triunfante, del mundo del empuje de píxeles al mundo de las interfaces de usuario de estilo conversacional.

Las fortalezas del lenguaje Ruby y de la plataforma Rails radican en su poder para comercializar tareas molestas, lo que deja más ciclos de desarrollo disponibles para centrarse en el problema real que nos ocupa. He intentado muchas veces cambiar de Ruby on Rails a tecnologías más nuevas y atractivas, pero siempre terminé regresando a Rails. La razón siempre es que todas las otras tecnologías que he probado (y sí, eso incluye a Scala y Clojure y Elixir y Node) me han impuesto muchas tareas extrañas que realmente no tenían relación con la competencia principal que estaba tratando de resolver. Solo Ruby y Rails ofrecen ese nivel de mercancía en el que puedo recurrir a las convenciones sólidas e impulsadas por el sentido común, y luego comprometer mi pensamiento únicamente sobre cómo resolver la esencia del problema empresarial, sin tener que luchar contra el problema subyacente. tecnología molesta.

5 aspectos sobre tu futuro en Ruby on Rails –

Kickstarter, Shopify, Hulu, Github, Airbnb, 500px. ¿Estas marcas tienen algo en común? que están destinados a ser reconocidos a nivel mundial. Los sitios web mencionados están construidos sobre Ruby on Rails.

Créditos de imagen: la próxima web

¿Por qué estas y tantas otras nuevas empresas decidieron construir sus productos utilizando RoR?

Cuando David Heinemeier Hansson, o DHH, como se le conoce más popularmente, desarrolló el marco para RoR, estaba trabajando en el campamento base, su conocida puesta en marcha. A partir de entonces, Ruby on Rails creció rápidamente, atrayendo a una base de fanáticos de desarrolladores leales.

El marco de Ruby on Rails es muy conocido por sus habilidades que mejoran la velocidad de desarrollo y, posteriormente, el tiempo de comercialización y la reducción de costos. Aunque cayó en desgracia por un tiempo, RoR está volviendo lentamente a la vida.

El software, por ejemplo, Rails puede acceder a una base de datos, mejorando los resultados de una consulta de base de datos que se combina con texto estático para ser transmitido a un programa web como archivos CSS, HTML y JavaScript.

El índice TIOBE muestra a Ruby en el noveno rango en marzo de 2018, y una encuesta realizada por la comunidad de Desarrolladores de Overflow de Pila en 2017 vio cómo RoR se ubicó entre los idiomas más populares entre los 10 principales.

¿Qué razones hacen que RoR sea ampliamente aceptado incluso hoy? Ofrecemos una descripción general de por qué RoR continúa desarrollándose.

1. Flexibilidad en un presupuesto

RoR es de código abierto. Eso es un hecho conocido. La libertad de uso significa que las empresas con presupuestos limitados pueden usar su marco para crear aplicaciones web destacadas.

La obtención de costos de licencias para muchos de los idiomas habituales puede resultar bastante costosa, especialmente para las empresas de arranque. ¿Es de extrañar que en el mundo de la programación, RoR esté fuertemente asociado con las startups?

Considere estas empresas que se ejecutan en Rails:

  • Airbnb
  • SoundCloud
  • Shopify
  • Heroku
  • Blanqueador
  • Zendesk
  • CrunchBase

2. Fácil de aprender

Kevin Systrom, el CEO de una plataforma de intercambio de imágenes conocida como Instagram, seguirá siendo una de las historias más influyentes del éxito de nuestro tiempo. Como se dice, es un programador en gran parte autodidacta, que aprendió a programar en la noche mientras trabajaba como comercializador para Next-stop. Instagram no se basa en RoR, pero podría haberlo sido, dada la facilidad de aprendizaje de Rails.

Como se dice

RoR usa la sintaxis del idioma inglés básico, por lo que es fácil de entender y fácil de aprender varias características.

Por lo tanto, cuando se diferencia de otros idiomas, se vuelve más fácil leer el idioma de Rails. Como definimos anteriormente, los desarrolladores no harán el esfuerzo de crear el código o volver a escribir desde cero.

3. Tiempo para la eficiencia del mercado

“¿Deberíamos usar Python, Java o RoR?” Los clientes a menudo acuden a nosotros con este mismo dilema. Los escenarios de casos de uso varían, pero Ruby on Rails permite un desarrollo más rápido que los otros idiomas convencionales.

Las estimaciones difieren, pero RoR reduce el tiempo de desarrollo en un 25% a un 50% en comparación con otros idiomas. Con RoR, un desarrollador no necesita perder tiempo desarrollando un código sin fin porque el marco ya tiene muchos complementos y módulos.

Traducir los esfuerzos reducidos a un tiempo de desarrollo más corto. Se requiere menos tiempo para reducir los costos de construir un sitio web en RoR. Y los costos reducidos eventualmente significan ganancias mejoradas.

4. Facilidad de mantenimiento y sistema de soporte.

Optimizar para la felicidad del programador, DHH se cita a menudo como diciendo. No podemos estar más de acuerdo. Como RoR se ha desarrollado a lo largo de los años en un marco consistente y sólido, lo que realmente lo distingue es su base de comunidad leal.

En combinación con los beneficios de Ruby, Rails ha producido soluciones eficientes que a menudo han inspirado a la comunidad de desarrollo de RoR a hacer lo mismo. Y allí está RubyGems, el servicio de alojamiento de gemas de la comunidad de Ruby.

La sinergia de una infraestructura robusta y una comunidad útil ha hecho de Rails uno de los marcos mejor respaldados del mundo.

5. Prácticas de desarrollo responsable.

RoR usa REST o Representational State Transfer, que representa que los desarrolladores en la mayoría de los casos crean aplicaciones web según los protocolos y estándares establecidos. RoR no solo está bien soportado, sino que está bien defendido porque mantiene un ciclo de vida de desarrollo seguro, un procedimiento de garantía de seguridad complicado.

La prueba automatizada se reemplaza por la prueba manual, que pone fin a un trabajo complejo de tiempo de escritura de código de reescritura.

A medida que avanzamos en el segundo trimestre de un nuevo año, es evidente que RoR solo está ganando posición. El ecosistema de Rails ha avanzado a lo largo de una década, y observamos que el mercado cambiará el deseo de ruby ​​para mejorar en los próximos años.

Ruby on Rails es un marco maduro con una gran comunidad de profesionales capacitados. Sus principios rectores, como la convención sobre la configuración, son una razón para su popularidad, en particular porque los desarrolladores pueden iniciar un nuevo proyecto rápidamente o unirse a un proyecto existente y familiarizarse rápidamente con el código base. Rails está sólidamente establecido y seguirá siendo popular, al igual que las plataformas Java o Microsoft tienen comunidades enormes.

Analizo el futuro de Ruby on Rails en mi libro Learn Ruby on Rails, que se puede descargar de forma gratuita en Leanpub (y también en Amazon.com).

En el libro, señalo que los enfoques de desarrollo web han cambiado fundamentalmente en el último año, desde las aplicaciones de servidor de pila completa que envían las páginas a los navegadores, hasta las aplicaciones de back-end que entregan datos a aplicaciones móviles y aplicaciones de JavaScript en los navegadores. Rails 5.0 se adapta a este cambio al proporcionar un marco adecuado para entregar datos desde un servidor. Es probable que Rails siga siendo popular para las aplicaciones del lado del servidor porque es bien conocido, adecuado, con un gran grupo de desarrolladores calificados. La alternativa, JavaScript en el servidor, sigue madurando.

Rails seguirá siendo popular para aplicaciones web simples de pila completa, como el acceso a bases de datos a nivel de departamento empresarial, negocios para pymes o prototipos rápidos para nuevas empresas. Los marcos de JavaScript continuarán madurando y creciendo en popularidad para las aplicaciones basadas en navegador.

En el libro, sugiero algunas formas de mantenerse actualizado y acomodar el cambio a algunos nuevos enfoques de desarrollo web.

La gente me va a odiar por esto y he sido un tipo dedicado de Ruby

un .js basado en V8 (Nodo, DART o Ember) o Python es el camino a seguir ahora

Considere Yehuda Katz ahora corre Ember.js
Goliat está más o menos muerto con Google devorando a su creador.

.js gana porque todas las escuelas del mundo que ofrecen tecnología, enseñan Javascript
Ahora es la capa de presentación de la hoja de ruta para Yahoo, EBay y un gran número de titanes de Silicon Valley.

Python es el futuro para todos los chips neuronales, la robótica y, por cierto, bastante bueno en el backend. Python está alimentando los robots del mundo, Openstack y Cloudstack. Agregue a esto la mayoría de las orquestaciones e incluso Google (shhh) está usando Python en algunos casos. Si conoces a Ruby, Python es mucho más fácil.

Además de estos, SCALA es una buena opción para backend también.

No me malinterpretes, RoR todavía está caliente entre $ tartups, pero si estás subiendo al autobús; necesitas considerar donde irá

Antes de responder a tu pregunta, pequeños conocimientos sobre cómo ser desarrollador, de acuerdo con mi experiencia. Las tecnologías siempre cambian y lo que es “estándar” hoy puede no ser mañana. Siempre tendrá que aprender a mantener el ritmo con la tecnología y, dependiendo de su trabajo, cambiará de tecnología (cuanto más flexible, más activo es para la empresa). Este no es siempre el caso, pero es común en la industria. Por ejemplo, en este momento estoy trabajando como desarrollador de Ruby y Ruby on Rails (ROR), antes de eso trabajé con Java, Action Script, etc.

Ahora para responder a su pregunta, ROR no irá a ninguna parte pronto. ¿Por qué? Los indicadores son simples:

  • Tanto Ruby como Rails tienen una comunidad de código abierto muy fuerte y activa
  • Es de código abierto, y gratuito.
  • Es la tecnología elegida por muchas empresas, especialmente las nuevas empresas debido a su agilidad.

Un problema, Ruby, por lo tanto, ROR tiene su desempeño, pero eso está mejorando casi mensualmente y los proyectos como JRuby se ven muy prometedores.

En los próximos 5 años, creo que ROR estará allí como está ahora. Siguiente 10? Quién sabe.

ROR no es difícil de aprender, y aprenderás cosas que te ayudarán incluso si cambias a nuevas tecnologías (por ejemplo, PlayFramework (Scala) está inspirado en Rails).
El último consejo es abordar las tecnologías como ingeniero y no como minero. Todos podemos escribir código, pero entenderlo y la interacción con todo lo que lo rodea es más importante. A la larga, la mejor inversión que puede hacer.

Ruby on Rails fue un paso importante en el desarrollo de aplicaciones web.

Fue increíblemente instructivo en muchos temas, tal vez lo más importante, en la configuración de la convención -vs- y en el comienzo del reconocimiento de que HTTP es, en sí mismo, un marco que debe ser reconocido en el desarrollo moderno de aplicaciones.

Sin embargo, el pensamiento de vanguardia ha pasado del modelo del “servidor de aplicaciones” a las aplicaciones de una sola página que se ejecutan en el navegador y acceden a las API de back-end.

Esas API backend ahora se están descomponiendo en arquitecturas de microservicio que permiten ciclos rápidos de desarrollo / prueba / despliegue y bases de código que son mucho más fáciles de razonar.

Esto coloca a los desarrolladores de Rails y Rails en una posición en la que es hora de pescar o cortar cebos.

Rails ha elegido maravillosamente la combinación de Rails API, que es una versión reducida de Rails dirigida directamente al desarrollo de la API.

Los desarrolladores de Rails * deben * cambiar de mentalidad, sin embargo, o arriesgarse a no quedarse atrás.

Voy a cerrar con un pensamiento final. El desarrollo de software profesional es una mentalidad, no un conjunto de habilidades. Se trata de identificar problemas y crear soluciones, NO conocer un conjunto específico de herramientas:

El herramental ha cambiado y seguirá cambiando a un ritmo cada vez más rápido. No se apegue demasiado a sus métodos y herramientas actuales.

Lo más importante es que no juegues “el idioma de la semana”. Mantén tu visión alta o volarás en una montaña!

Si está preguntando sobre el futuro inmediato, hay algunas características nuevas que se están incorporando en Rails 3.1 que se conocen en este momento:

  1. Mejor soporte de motores, incluido el montaje de aplicaciones Rails completas (este fue un proyecto de Ruby Summer of Code) (más información: http://piotrsarnacki.com/2010/09 …)
  2. Manejo de activos que incluye la generación de sprites CSS y otros trucos interesantes. (discutido un poco aquí: http://thechangelog.com/post/215 …)
  3. Representación progresiva, lo que significa que las partes del sitio web se procesarán y enviarán antes de que se represente toda la página, lo que permite un aumento de velocidad aparente para el usuario final. (De la nota clave de RailsConf de DHH)

El código base de Rails es muy volátil. Eche un vistazo a cuántas versiones de ‘Desarrollo web ágil con rieles’ ha habido en los últimos nueve años.

Pruebe un ejemplo de una versión de dos años de ese libro y vea cuánto le lleva hacer que funcione.

Existe toda una capa de complejidad oculta en virtud de este cambio continuo.

Las personas en la comunidad central no son conscientes de esta complejidad adicional porque pasan mucho tiempo hablando entre ellos y se mantienen actualizados de esa manera. Si tiene otras tareas, como hablar con los clientes, la gestión de proyectos, etc., tendrá problemas para mantenerse al día con los detalles a medida que evolucionan.

Como otro ejemplo, busque en Google Rails Asset Pipeline y vea cuánta gente necesita hacer preguntas sobre cómo entregar imágenes y css.

Active Record es genial Y creo que hay mucho en el uso de las API REST para conectar las interfaces de usuario con el back-end.

En 15 años Rails tendrá 24 años. Pocos frameworks pueden vivir tanto tiempo antes de volverse obsoletos, y dudo que Rails o cualquier framework web 200x dure tanto, al menos no sin cambios drásticos.

JavaScript se ha convertido en algo importante en la actualidad, y se ha convertido en el único lenguaje de programación confiable para crear interfaces de usuario HTML dinamyc. Flash, Silverlight y un montón de otras tecnologías están muriendo a favor de JavaScript. Estamos viendo un gran auge en los proyectos y componentes de JavaScript, como se puede ver aquí: las tendencias del lenguaje GitHub y el panorama fragmentado. El futuro de HTML seguramente parece depender mucho de JS Frameworks, y es probable que Rails deba comenzar a tomarlo en serio, ya sea adoptando un marco predeterminado o pudiendo compartir código ruby ​​como javascript. Independientemente del idioma o marco que desee aprender, también debe incluirse JavaScript.

Si le preocupa el futuro de Rails u otros idiomas, le aconsejo que mantenga sus conocimientos actualizados con nuevos marcos, idiomas y tendencias.

Mientras existan las startups, ROR no irá a ninguna parte (a menos que a Matz o alguien se le ocurra algo más alocado).

ROR tiene la mayor ventaja que ningún otro framework que he usado tiene

Más rápido a un MVP completamente probado.

Hoy en día, muchas compañías de software están adoptando el lenguaje de programación Ruby on Rails debido a sus características de código abierto y fáciles de aprender.
Por lo tanto, se predice que puede haber una gran demanda de Ruby on Rails Developers en el futuro.
No solo aprenda Rails y trabaje como un desarrollador de Rails normal, sino que sea un experto y continúe aprendiendo y actualizándose para ser un desarrollador exitoso para siempre.

Una vez que termine su curso, puede intentar una entrevista en mi compañía llamada Allerin, ya que tiene vacantes para el puesto de aprendiz así como para los experimentados desarrolladores de Ruby on Rails.

¡¡La mejor de las suertes!!

Las tecnologías siempre cambian día a día. Siempre tendrá que aprender nuevas tecnologías, de modo que obtendrá grandes ideas para desarrollar productos de alta calidad rápidamente. En este período no hay un marco mejor que los rieles, obtendrá un futuro brillante si trabajará en la tecnología ROR. Porque,

– La comunidad de desarrollo de Ruby es muy activa y receptiva.
– Ruby on Rails es un marco de aplicación web de código abierto que ayuda a desarrollar aplicaciones web rentables sin sacrificar el rendimiento, la velocidad y la calidad.

Ruby es uno de los más bellos de todos los lenguajes orientados a objetos (OOP). Python es otra gran opción. Le resultaría difícil encontrar otros idiomas OOP imperativos que se vean claros y limpios.

Elixir, Haskell y otros lenguajes funcionales son aún más limpios, pero tienen una manera de pensar un poco diferente cuando se programan y no son tan populares en la programación paga en este momento como OOP.

No es obvio si alguna vez captarán y superarán al ganador del concurso de popularidad durante los últimos 20 años, que ha sido en gran medida los idiomas OOP (orientados a objetos).

El futuro de RoR es bastante claro ahora. En este momento, esta es una de las tecnologías más desarrolladas en el campo de TI, que responde a la pregunta de por qué se crean muchas aplicaciones en línea con sus soportes. Muchos desarrolladores tienden a usar este lenguaje en particular para crear sus programas, esto es bastante cómodo ya que los diferentes desarrolladores conocen bien el lenguaje popular y pueden pasar los programas entre sí para actualizar o realizar algunos cambios valiosos de manera fácil y conveniente. .

Ahora vi un video sobre la aplicación Phoenix. Es bastante bueno Creo que Phoenix tiene un futuro debido a los modelos de actores, el paralelismo, etc.

En este mes he creado una pequeña aplicación con WordPress. Así que creo que WordPress (es decir, PHP) tiene un futuro también.

¿Qué pasa con el futuro más hermoso? Hace veinte años Microsoft estaba en lo más alto. Hoy Apple está aquí. Hace veinte años pensé que Apple no tenía oportunidad. Estaba equivocado.

Así que no haré un pronóstico sobre el primer lugar (¿qué habrá allí, Ruby on rails? Phoenix? NodeJS?). Puedo decir que Ruby on Rails tiene futuro en los próximos cinco años. En cuanto a mí no hago más que aprender a ruby. En este año es suficiente. Cuando pasen algunos años tal vez vaya a Elixir. Tal vez todavía me quede con Ruby. En cuanto a mí no importa.

Rails es un proyecto de código abierto que depende de la innovación y el buen diseño de software de su equipo central para mantener su dirección y estado. Gran parte de la dirección de Rails depende de las opiniones de su creador y director de tecnología de Basecamp David Heinemeier Hansson.

Ben Halpern de The Practical Developer contactó a David sobre el futuro de Rails.

David Heinemeier Hansson sobre el futuro de los rieles

Creo que Quora Usuario ya lo clavó. Rails nunca fue rápido y, personalmente, no espero que se vuelva rápido ya que Ruby no es un lenguaje rápido. Carece de concurrencia y mientras esto se mantenga, otros idiomas ofrecen muchas más oportunidades. También empecé a usar Elixir / Phoenix para nuevos proyectos y también la empresa para la que estoy trabajando hace ese cambio (apenas trabajé en ese cambio).

Con respecto a Ruby on Rails, asumo que se mantendrá en el mercado durante los próximos años, pero para el momento espero que disminuya la participación de mercado. Ruby y Rails son excelentes para desarrollar aplicaciones rápidamente. Pero Elixir y Phoenix ofrecen esto también + características de concurrencia + compilación en sockets web + compilación en el monitoreo de procesos. Los idiomas que ofrecen este conjunto de características reemplazarán a Ruby on Rails si no se realizarán algunos cambios básicos en el idioma de Ruby y dudo que esto sea fácil de lograr.

RoR no es solo una tecnología de código abierto, sino que utiliza código de código abierto y, lo que es más importante, pertenece a una comunidad de código abierto. Los proyectos complejos a largo plazo, las nuevas bibliotecas y la corrección de errores, entre otras cosas, se benefician enormemente de la comunidad de desarrolladores de Ruby-on-Rails. Para aquellas empresas que están trabajando en aplicaciones web de pila completa, Ruby on Rails seguirá siendo una opción más importante.

Si está buscando algún servicio de desarrollo de ROR , le sugiero que vaya a Laitkor, una compañía de software que brinda servicios de desarrollo web.

El futuro de RoR es bastante claro ahora. En este momento, esta es una de las tecnologías más desarrolladas en el campo de TI, que responde a la pregunta de por qué se crean muchas aplicaciones en línea con sus soportes. Muchos desarrolladores tienden a usar este lenguaje en particular para crear sus programas, esto es bastante cómodo ya que los diferentes desarrolladores conocen bien el lenguaje popular y pueden pasar los programas entre sí para actualizar o realizar algunos cambios valiosos de manera fácil y conveniente. .

Con cada lanzamiento próximo de Rails, se vuelve más poderoso. Seguramente tiene mejor futuro .. leer más
El futuro de Ruby on Rails