He desarrollado aplicaciones de Windows Forms durante 5 años. Mucha gente dice que debería investigar WPF. Tengo algunas preguntas sobre WPF frente a Windows Forms para determinar cuál es mejor. WPF es más nuevo que Windows Forms y mucha gente dice que será el futuro. Otros dicen que Windows Forms es más antiguo y, por lo tanto, más seguro. No estoy seguro de cuál será el futuro. He buscado en Google ventajas y desventajas, pero espero que me puedan dar una respuesta más detallada a estas preguntas:
No tiene sentido decir que WPF es mejor que los formularios de Windows o viceversa. Depende de muchos factores:
Qué tipo de interfaz de usuario está construyendo. Obviamente, la complejidad de las vistas que está diseñando influirá en el rendimiento en ambas plataformas. Tienen diferentes canalizaciones de diseño y renderizado.
La eficacia con la que optimiza el rendimiento en cada plataforma.
Ventajas de usar WPF en lugar de formularios de Windows:
XAML facilita la creación y edición de su GUI y permite dividir el trabajo entre un diseñador (XAML) y un programador (C#, VB.NET, etc.).
Le permite crear interfaces de usuario para aplicaciones de Windows y aplicaciones web (Silverlight/XBAP).
Enlace de datos, que le permite obtener una separación más clara de los datos y el diseño.
Utiliza aceleración de hardware para dibujar la GUI, para un mejor rendimiento.
Principales ventajas de usar formularios de Windows en lugar de WPF:
El conjunto de controles integrados de WPF es mucho más limitado que el de WinForms.
Hay una mayor compatibilidad en el espacio de control de terceros para WinForms. (Eso está cambiando, pero por ahora, por la ventaja del tiempo, WinForms tiene un mayor apoyo en la comunidad).
El principal inconveniente de WPF es que Mono realmente no lo admite para plataformas cruzadas (por ejemplo, no funciona en Linux y Mac). Originalmente, Xamarian/Novella dijeron que no lo iban a implementar debido a la complejidad de la implementación. No he visto nada en contrario. No digo que no lo sea, pero su recomendación es escribir clases modelo y luego hacer un front-end específico del sistema operativo. Incluso si WPF es de código abierto, puede basarse en algo que no se puede portar fácilmente.
Depende de tu capacidad de aprendizaje.
¿Qué partes de WPF debería considerar definitivamente?
XAML : Obtenga información sobre XAML y cómo se usa en aplicaciones WPF.
Diseño : aprenda sobre los paneles de diseño y cómo se utilizan para construir interfaces de usuario.
Enlace de datos : aprenda cómo funciona el enlace de datos de WPF y cómo se puede usar.
Plantillas de datos y disparadores : aprenda cómo funcionan las plantillas de datos y los disparadores y cómo se pueden usar.
Estilos : obtenga información sobre cómo se pueden aplicar estilos a las IU en WPF.
Para obtener más información, consulte la URL mencionada a continuación