Hay muchos marcos y tecnologías web (por ejemplo, Spring, Node.js, Yii, Symphony, Play, Ruby on Rails, etc.). ¿Cuál es el marco / tecnología web más evolucionado que probablemente traerá la evolución web futura?

No hay una buena respuesta. Nunca habrá una buena respuesta, pero hay criterios que lo ayudarán a determinar qué es bueno en el futuro.

1) Qué tan fuerte es su capacidad para construir fácilmente API’s. Las aplicaciones basadas en API son ‘la nueva tendencia’, y es fácil ver por qué. Son más baratos de mantener por horas debido a la distribución clara del trabajo y los costos de refactorización más suaves. Son más flexibles para monetizar como plataformas SaaS y, por último, son más baratas de ejecutar desde la perspectiva del servidor, porque con el rápido crecimiento de los marcos front-end (que no discutió, pero son una parte integral del desarrollo web) ), la clave se vuelve: qué tan fuerte es su capacidad de diseñar en el front-end para crear el mejor y más receptivo UX con Javascript, con el soporte de X Framework en el back-end.

2) ¿Cuál es la flexibilidad del lenguaje y qué tan rápido es iterar? Los desarrolladores y el tiempo de desarrollo son caros. Ya no tiene que preocuparse por lo rápido que es un sitio web, comparar un sitio web basado en Java con un sitio web basado en PHP es bastante irrelevante en el factor de velocidad porque todavía están dentro del margen de los tiempos de respuesta. Cuando rompes las cosas con la Arquitectura Orientada a Servicios, puedes apoyar mejor tus procesos individuales que tienen un mayor requisito de procesamiento con las herramientas adecuadas. Puede ejecutar un sitio en Symfony y consultar una aplicación Java que tenga un subproceso adecuado y ejecute cálculos de manera más eficiente, o tener una interfaz de usuario Rails con una aplicación Erlang para proporcionar concurrencia de actores. Una de las formas de avanzar es que las aplicaciones que le permiten hacer el diseño flexible más rápido y crear las cosas centrales más lentamente y con más cuidado.

Hay mucho que decir sobre todos los marcos que enumeró (aunque Node.js no es un marco sino una plataforma), y todos ellos pueden caber legítimamente en esos cuadros. Spring and Play tienen mucho valor debido a su JVM-ness, pero sufren la mayoría de los problemas de la aplicación Java-esque en que son más lentos para diseñar e iterar (lo mismo ocurre con la mayoría de .NET). Si consigues muchos beneficios de estabilidad, velocidad y potencia, pierdes algunos en el dominio del tiempo del desarrollador. Los marcos basados ​​en nodos (y hay miles de millones de ellos, la mayoría basados ​​en Express), son interesantes porque tienen velocidades de iteración rápidas, son rápidas, pero no manejan los cálculos casi tan bien, lo que lo convierte en una gran plataforma ‘web’. , pero no necesariamente es una gran plataforma de aplicaciones, y funciona mejor cuando se combina con otras plataformas. Rails es una forma muy ubicua de hacer las cosas, pero tiene dificultades en comparación con otras plataformas web avanzadas en la creación de API porque desde el principio no estaba necesariamente diseñado para eso … y lo mismo ocurre con Yii y Symfony. Creo que muchos de estos marcos se moverán más en esa dirección, o tendrán un mejor soporte para aplicaciones que van en esa dirección, y encontrar marcos que quieran adoptar esos conceptos tendrá una ventaja en el futuro.

Interesante pregunta.

Mi punto de vista es ninguno; Todos los grandes cambios han sido provocados por el hardware.

  • Banda ancha
  • Wifi
  • Pantallas pequeñas
  • Toque
  • GPS
  • Cámara
  • Entrada de audio
  • Acelerómetros
  • Duración de la batería

Todo esto dio forma al software que escribimos, porque cada uno eliminó un límite en el software que podríamos escribir. Los marcos crecieron alrededor de esos.

Entonces jQuery creció el reconocimiento de swop. Cordova agregó API de cámara. Siempre en banda ancha ha interrumpido casi todo, en todas partes. TV, Compras, Taxis, Radio, Periódicos

Me interesaría ver si la innovación podría provenir del lado del software.