¿Es WPF una mala tecnología?

Puedo ser un poco parcial aquí como un conocido defensor del desarrollo de WPF, pero tendría que preguntarme por qué incluso preguntas si WPF es una mala tecnología.

Para el desarrollo de escritorio, en las manos correctas, no puedes vencer a WPF: triunfa sin dudas con WinForms. Sin embargo, el mayor problema es que es complejo; muy complejo, y las personas a menudo cometen el error de abordar esto usando las mismas técnicas que usaron para construir aplicaciones WinForms. Ahora, no me malinterpreten, WinForms es una buena tecnología, pero si quieres probar y construir algo que no se parezca a una aplicación WinForms, entonces comenzarás a enfrentar las limitaciones de una tecnología basada en GDI + . Intente crear una aplicación WinForms que requiera animaciones, efectos de sombreado, aceleración de hardware y similares, y pronto se encontrará con la necesidad de convertir grandes partes de su renderizado en llamadas Win API personalizadas, no es bonito.

WPF toma tiempo para aprender a usarlo correctamente, pero cuando se toma el tiempo, aprende a apreciarlo por lo que es. Y se sentirá frustrado de que Microsoft lo haya relegado solo al modo de mantenimiento. Podría haber sido llevado mucho más lejos.

Por cierto, si el lado XML del desarrollo de WPF lo desanima, siempre puede usar AmmyUI: Ammy

Plug descarado aquí: Hace un tiempo, escribí un artículo sobre cómo un fondo en ASP.NET podría ayudarlo a pensar como un WPFer. Comprensión de WPF a través de ASP.NET

Como desarrollador de WinForms desde hace mucho tiempo que está familiarizado con sus limitaciones, me encanta la idea de WPF. Es como lo mejor del HTML más lo mejor del desarrollo de aplicaciones de Windows.

SIN EMBARGO….

Después de varios intentos a lo largo de los años y el largo estudio de muchos tutoriales, nunca he sido productivo con WPF. Creo que WPF es abusivamente complicado, lleno de letras pequeñas sobre qué etiquetas se supone que contienen qué otras etiquetas. Y la sintaxis de enlace de datos declarativa es igualmente bien intencionada y poderosa, pero no muy reconocible, y es difícil de depurar.

La plataforma de mis sueños sería algo así como MVC Razor para el escritorio, lo que significa la capacidad de mezclar el marcado y el código del lado del servidor en un modelo. (Ahora, sé acerca de Electron, pero en realidad no lo he usado. Ya que depende de JS por lo que sé, no es de tipo fuerte, así que esa es otra diatriba. ¡Tengo que tener mi C #!)

No, en lo que respecta a los kits de herramientas de interfaz de usuario de escritorio, es excepcionalmente bueno.

El soporte de WPF se remonta a Windows Server 2003, lo cual es notable teniendo en cuenta cuán moderna es la escritura de aplicaciones WPF, y puede ejecutar esas aplicaciones en un sistema operativo de casi 15 años.

He llegado a preferir UWP, pero WPF es compatible con máquinas anteriores a Windows 10, y es la mejor opción si es necesario. WPF probablemente también sea mejor si desea evitar el envío en la Tienda Windows.