¿Habrá alguna vez un marco de creación de aplicaciones / sitios web de facto?

No.

Aunque los marcos tenderán a fusionarse o volverse compatibles, todos comenzaron por diferentes razones y cumplirán esos objetivos de una mejor manera que sus “competidores”.

Cuando eliges un marco de aplicación web, tienes varios factores a tener en cuenta. Dinero, tiempo, curva de aprendizaje, contenido del marco, soporte, escalabilidad … Cada marco tiene puntos fuertes y débiles en todos esos dominios.

Primer ejemplo: el marco .NET. Es un encanto usar esto cuando trabajas para una aplicación corporativa. Puede controlar cada configuración de computadora, por lo que es más fácil tomar un marco Microsoft / IE y usarlo. Costará algunos (muchos) centavos, pero al mismo tiempo ahorrará una gran cantidad de trabajo para tareas básicas.

Segundo ejemplo: Yii. Ese marco PHP es gratis. Incluye una funcionalidad decente para crear una red corporativa. Y se puede extender con bastante facilidad. Pero no existe un “soporte de pago”, lo que significa que solo depende de foros y stackexchange para tener algún soporte si algo se rompe en el marco. Y dado que los módulos son de código abierto algún día, tendrá que lidiar con múltiples módulos que casi hacen el trabajo exacto que necesita, crear uno o lidiar con módulos mal codificados …
Todavía ahorra tiempo al comenzar desde PHP puro, pero probablemente no tantos como el marco .NET.

Tercer ejemplo: Drupal. Drupal está más cerca de un marco de gestión de contenido que un CMS. Drupal es excelente para crear sitios web con funciones particulares … pero si su aplicación web está lejos de ser un sitio web simple, Drupal puede no ser la mejor herramienta para usted. Administrar un sitio web con una pequeña sección de clientes es fácil, pero no rehacería Facebook en Drupal …

Entonces, sabiendo que cada marco tiene sus objetivos o valores, es casi imposible que algún día tengamos un solo marco de aplicación web. Si eso sucede, alguien pronto comenzará uno nuevo, porque tendrá una nueva demanda que el marco no puede resolver.

No. Cada marco ofrece algo diferente y una forma diferente de hacer las cosas. Debido a que las personas tienen gustos diferentes, siempre habrá diferentes formas de hacer las cosas.

Solo mira ROR vs Django. Ambos son esencialmente lo mismo cuando se trata del resultado final. Tiene un sitio web que es bastante fácil de construir (en comparación con la construcción básica) y se puede hacer más rápido y más fácil que con un solo lenguaje. Entonces, ¿por qué tenemos dos marcos diferentes? Porque el proceso de construcción del sitio o aplicación es diferente entre los dos.

Aunque esto ayudaría mucho a los desarrolladores, sofocaría gran parte del proceso creativo de los nuevos desarrollos que se introducen y compiten con otros marcos. Por lo general, no lo admiten abiertamente, pero cosas como AngularJS y KnockoutJS y otros luchan por su lealtad y contribuciones no monetarias (es decir, código, informes de errores, solicitudes de características, etc.).

Siempre habrá algo para construir un marco a partir de otra cosa porque a los humanos les gustan las cosas más fácilmente .