He estado haciendo programación web durante mucho tiempo y, en algún lugar, perdí la noción de por qué estamos haciendo lo que hacemos hoy (o cómo llegamos a hacer las cosas de esta manera).
Comencé con el desarrollo web ASP básico, y muy pronto, la lógica de visualización y de negocios se mezclaron en la página. El desarrollo del lado del cliente varió enormemente (VBScript, diferentes tipos de JavaScript), y tuvimos muchas advertencias sobre las validaciones del lado del servidor (y por eso me mantuve alejado de la lógica del lado del cliente).
Luego me mudé a ColdFusion por un tiempo. ColdFusion fue probablemente el primer marco de desarrollo web que separó la visualización y la lógica empresarial utilizando sus etiquetas. Me pareció muy claro, pero muy detallado, y ColdFusion no tenía una gran demanda del mercado, por lo que seguí adelante.
Luego me subí al carro de banda ASP.NET y comencé a usar su enfoque MVC. También me di cuenta de que Java parecía ser un lenguaje de torre de marfil de los sistemas empresariales, y también probé su enfoque MVC. Más tarde, ASP.NET desarrolló este patrón de diseño MVVM, y Java (precisamente, J2EE o JEE) también luchó y salió con sus enfoques MVC2.
Pero hoy, lo que he descubierto es que la programación de backend ya no es donde está la emoción y el progreso. Además, las prácticas de MVC basadas en el servidor parecen ser obsoletas (¿la gente realmente usa JSTL?). Hoy, en la mayoría de los proyectos en los que estoy, descubrí que los marcos de JavaScript y el desarrollo del lado del cliente es donde se están haciendo todos los progresos emocionantes e innovadores.
¿Por qué ha tenido lugar este movimiento del servidor al desarrollo del lado del cliente? Hice un recuento simple de líneas de uno de mis proyectos JEE, y hay más líneas de código en JavaScript que Java (excluyendo las bibliotecas de terceros). Creo que la mayoría del desarrollo de back-end que utiliza lenguajes de programación como Java o C # es simplemente para producir una interfaz similar a REST, y que se están abordando todos los esfuerzos de visualización, visualización, entrada / salida de datos, interacciones del usuario, etc. a través del marco del lado del cliente como Angular, Backbone, Ember, Knockout, etc.
Durante la era anterior a jQuery, vi muchos diagramas en los que había una línea clara y conceptual entre M, V y C en MVC en el desarrollo de n niveles. Post-jQuery, ¿dónde se dibujan estas líneas? Parece que MVC y MVVM están ahí en el código JavaScript, del lado del cliente.
Lo que quiero saber es, ¿por qué hicimos esa transición? ) y qué problemas resolvió esta transición / cambio?
fuente