¿Cuáles son los pros y los contras de la Vs. automática? actualizaciones de IU manuales?

¿Cuáles cree que son los pros y los contras de las actualizaciones automáticas de la interfaz de usuario impulsadas por el modelo de vista (a veces llamado estado) (es decir, el enlace del modelo), en comparación con la actualización manual de la interfaz de usuario? Los marcos web como Angular y React son ejemplos muy populares. (Los widgets de la plataforma nativa (Android, iOS, Windows) como las vistas de lista también admiten actualizaciones automáticas). Algunos de los pros / contras que se me ocurren son los siguientes:

  • 1
  • Pro: la lógica de actualización se expresa de forma decreciente en la plantilla.
  • Con: Ya que toda la lógica de actualización también se incorpora a la plantilla, la plantilla inicial se llena, lo que puede dificultar su lectura.
  • 2
  • Pro: la manipulación de la interfaz de usuario se abstrae para que pueda optimizarse con un motor de renderizado adecuado.
  • Contras: aunque los motores de renderización se vuelven más inteligentes (como el mecanismo de diferenciación de DOM virtual), las actualizaciones de IU personalizadas pueden ser mucho más efectivas ya que el desarrollador sabe exactamente la naturaleza del cambio que quiere hacer (suponiendo que el desarrollador siga una ruta de rendimiento).
  • 3
  • Pro: Realizar un cambio en un modelo de vista actualizará todos los campos vinculados a él. Esto puede ser útil para no perderse la actualización de todos los campos relevantes cuando los datos cambian en aplicaciones grandes.
  • Con: a medida que la aplicación se vuelve grande y compleja, también es más difícil de controlar si un componente creó su propio estado para el mismo objeto en lugar de heredarlo por encima de la jerarquía. Los componentes pueden incluso ser escritos por diferentes desarrolladores. Puede resolverse permitiendo que solo el componente raíz retenga un estado. Pero en ese caso, por ejemplo en React, hará que la lógica de renderizado cree y compare, compare todos los demás elementos de IU virtuales innecesarios.
  • 4 4
  • Contras: Integrar animaciones / transiciones en marcos basados ​​en datos es complicado y requiere un esfuerzo adicional.
  • 5 5
  • Con: La depuración se vuelve más difícil ya que estas bibliotecas consisten en miles de líneas de código desconocido (AFAIK, React ofrece sus propias herramientas de depuración).

Se afirma que los marcos de enlace de datos aumentan la productividad y disminuyen los errores, por lo tanto, escalan bien con la creciente complejidad de la aplicación, pero ¿cómo logra eso manipular el modelo de vista en lugar de la propia interfaz de usuario? Debe haber una razón por la cual estas grandes empresas eligen usar este método, pero no entiendo totalmente el beneficio. (No estoy discutiendo otras características de estos marcos como el enfoque de componentes o el enrutamiento, etc. Solo en términos de actualizaciones basadas en datos).

He dado ejemplos del desarrollo web, pero siéntase libre de comentar también sobre el desarrollo de la plataforma nativa.

¿Realmente no es práctico escribir una aplicación grande sin usar ese marco?

Encontré este blog, y parece ser útil en este caso:

Si bien es aceptable permitir que las actualizaciones menores se apliquen automáticamente, cualquier cosa importante, en particular las actualizaciones de seguridad, debe probarse y verificarse exhaustivamente antes de permitir su acceso a su infraestructura. Mantenga un entorno de prueba que le permita aplicar y ejecutar actualizaciones para que pueda asegurarse de que no haya interrupciones importantes en cada ciclo.

Más allá de eso, probablemente puedas dejar que todo se aplique automáticamente.

Tenga en cuenta que, dependiendo de qué tan grande sea el entorno de su servidor, este ciclo podría ser de unas pocas semanas a unos pocos meses.

Fuente: Actualizaciones manuales y automáticas: ¿cuál es el mejor para su negocio? – Liberty Center One