¿Rails va a ser relevante en 5 años?

Eso requiere una definición o criterio para determinar relevancia. Muchos argumentarían que Rails no es relevante hoy, y podría hacer un caso convincente de por qué. Por supuesto, hay otra cara de esa moneda.

Yo diría que la relevancia, en el desarrollo de software orientado a la web, a menudo se deja en la mesa cuando nos adueñamos de la novedad. Ruby on Rails no es tan experimental, técnicamente. Bastardiza las filosofías y va en contra de las convenciones obsoletas, claro, pero la tecnología en sí no es emocionante.

Pero eso está bien. Deseable, incluso. La entropía es abundante, y la web no es una excepción. Un cierto grado de estabilidad, un enfoque medido, puede dar confianza y seguridad. ¿Qué ejemplo no querría que el seguro de usar un conjunto de herramientas que se sabe que funciona y que logre el trabajo?

Si visualiza el progreso en Rails como un círculo, y lo que sea nuevo y novedoso en el desarrollo web como tangentes fuera de ese círculo, tendrá una idea de lo que la última década ha sido para Rails. El software ha evolucionado y, si bien no ha girado en torno a Rails, el marco sigue siendo un delicado equilibrio de lo nuevo con la precaución de la experiencia.

A menos y hasta que el desarrollo de Rails salga de las bisagras, seguirá siendo lo que ha sido durante la última década: un marco confiable, suficientemente seguro y pragmático para los desarrolladores que necesitan entregar software web que funcione. Ya sea que eso cumpla o no con una definición de relevancia, creo que es seguro decir que es bienvenido.

Si bien la respuesta de DHH es tan breve como para ser un objetivo fácil de “necesita mejorar” y es muy probable que esté un poco sesgada, estoy totalmente de acuerdo. 🙂

Probablemente ya no escuchas tanto sobre Rails como hace cinco años, principalmente porque ya no es The New Hotness. Hay muchas maneras en que puede suceder. Desde lo alto de mi cabeza: otra cosa puede ocupar su lugar, puede ser “juzgada y encontrada con fallas” o, como creo que sucedió, ahora es la corriente principal . (Concedido, no tan convencional como Java, que es prácticamente la definición, pero lo suficientemente convencional).

Cinco años es un tiempo muy corto entre “mainstream” e “irrelevante”, especialmente para algo que todavía está en desarrollo activo . Más aún cuando el desarrollo activo de su lenguaje subyacente está dirigido en gran parte a una de las principales quejas en su contra (es decir, que Ruby es lento). Para que se vuelva irrelevante, otra cosa tendría que reemplazarlo casi por completo en su nicho particular, que es el rápido desarrollo de aplicaciones web basadas en bases de datos de tamaño pequeño a mediano (sin hacer demasiado de un lío ineludible). El mejor rival que veo en el horizonte en estos días es Phoenix, el marco de aplicaciones web de Elixir. El elixir es lo suficientemente nuevo y lo suficientemente extraño (la mayoría de los desarrolladores todavía están haciendo OO y tienen muy poca exposición a la FP), por lo que no veo que se convierta en un desafío tan grande en los próximos cinco años, por no hablar de derrotar a Rails tan completamente. (Y mientras la gente está aprendiendo Elixir, pueden ver que su sintaxis fue fuertemente influenciada por Ruby, y deciden ir a revisar eso si aún no lo saben).

En diez años, tal vez … pero incluso entonces, no creo que se vaya. Tal vez si DHH y / o Matz cometen algunos errores graves , y el resto de los mantenedores no los detengan y corrijan. Incluso si Phoenix se pone al día en términos de tamaño de la comunidad, número de trabajos, bibliotecas, etc., creo que coexistirán pacíficamente durante mucho tiempo, uno para las personas que prefieren OO y no necesitan un rendimiento increíblemente rápido, y otro para aquellos que prefieren la PF o que necesitan un rendimiento increíblemente rápido.

Creo que Rails es, con diferencia, la mejor plataforma para implementar herramientas de codificación avanzadas.

El siguiente video muestra una demostración temprana de Rails Express.

Sería virtualmente imposible implementar este tipo de tecnología en Laravel o Django.

Sí.