Hola.
¿Segun ustedes cual creen que es mejor?
No es cuestión de creencias, estamos hablando de un hecho indiscutible:
WPF es mejor, puesto que es la evolución directa de
WindowsForms. En otras palabras:
Winforms = pasado (y con pseudo-obsolescencia programada),
WPF = presente y futuro (largo futuro por delante, sin fecha determinada de muerte).
Con respecto a temas de "diseño",
WindowsForms se basa en la utilización de la API de Windows para renderizar con
GDI+ (
DirectShow), mientras que
WPF lo hace con la API de
DirectX (
Direct3D), y éste puede aprovecharse de ciertas ventajas como la aceleración de hardware por
GPU al renderizar, entre otros muchos beneficios destacables que afectan positivamente al rendimiento de
WPF en comparación con la lenta tortuga de
WinForms y su imperfección.
Respecto al rendimiento de tu aplicación, bueno, éste será proporcionál a la calidad de tus algoritmos, ni más, ni menos. No importa si
WinForms o
WPF, aunque en lo referente al instrumental interno de renderización ya hemos explicado que si, hay una gran diferencia donde
WPF es más óptimo que
WindowsForms, así que es posible que la velocidad de respuesta de la interfáz de usuario pueda ser algo mejor en
WPF si lo comparásemos en igualdad de condiciones con
WinForms.
Y respecto a la personalización, todo depende de como lo mires y lo que necesites.
WPF es mucho más completo en todos los sentidos (y cada día lo es más, puesto que es una tecnología en continuo desarrollo, a diferencia de
WinForms), y eso también incluye que la cantidad de parámetros relacionados con el aspecto y el comportamiento de un control (léase: sus propiedades) sea mucho más amplio en comparación con
WinForms. Además en
WPF se pueden usar plantillas (templates) para modificar sencillamente el aspecto de un elemento, pero en
WinForms también se puede modificar el aspecto de los controles... solo que para hacer grandes cambios en la mayoría de ocasiones se requieren metodologías más tediosas (léase:
Platform Invoke).
De todas formas, la respuesta a "
¿que tecnología es mejor o más completa?" no debería ser un factor decisivo, me refiero, sin saber que es lo que realmente quieres lograr con la programación, para hacer cosas simples
WinForms te servirá perfectamente y te resultará más sencillo. La sofisticación o el perfeccionismo de
WPF implica un nivel bastante más elevado de dificultad al programar en comparación con
WinForms (empezando por el simple hecho de que tienes que compaginar dos lenguajes al mismo tiempo
C#\
VB.NET +
Xaml ), ten eso presente en tu decisión. Por otro lado, ir a por la tecnología más reciente y sofisticada (
WPF) siempre será una buena decisión para todo.
Saludos.