He estado jugando con aplicaciones de consola C# durante aproximadamente un año y quiero pasar a la creación de aplicaciones de GUI. Nunca he hecho ningún desarrollo de GUI además de las aplicaciones básicas de Java, pero quiero seguir usando C#. ¿Debería comenzar a aprender Windows Forms o ir directamente a WPF? ¿Hay una gran diferencia? ¿WPF se basa en Windows Forms o son totalmente diferentes?WPF o Windows Forms
Respuesta
Si recién está comenzando, salte directamente a WPF.
Te permitirá comenzar a crear interfaces enriquecidas mediante el marcado para definir tu interfaz sin enseñarte los posibles malos hábitos (para WPF) que aprenderías de Windows Forms.
Estas dos tecnologías son totalmente diferentes. Ofrecen algunas capas de interoperabilidad en ambas direcciones, pero aparte de eso no tienen nada en común. Windows Forms es más o menos un envoltorio liviano sobre Win32/MFC, lo que significa que su extensibilidad en .NET no es tan buena en todos los casos. WPF es un nuevo marco de interfaz de usuario implementado desde cero. WPF también es mucho más flexible cuando se trata de personalizar los tipos existentes.
Sin embargo, al menos desde mi experiencia, Windows Forms parece ser el marco de interfaz de usuario de escritorio más comúnmente utilizado en la industria. Windows Forms no se puede usar con desarrollo web aunque WPF ofrece aplicaciones Silverlight y XBAP.
Si has hecho algún desarrollo de UI antes, me atrevería a decir que Windows Forms es más fácil de aprender ya que sigue paradigmas de programación más tradicionales. El modelo de programación de WPF es bastante diferente a esto. Si bien WPF se puede usar de la misma manera que Windows Forms, la mayoría de sus beneficios no se logran hasta que acepte el enlace de datos y la encapsulación WPF.
A pesar de afirmar algunos puntos a favor de Windows Forms elegir WPF sobre Windows Forms sería una obviedad para mí si todo lo que desea hacer es aprender un marco de interfaz de usuario. Es superior a Windows Forms en todos los aspectos. ¡Ojalá la industria del software en general lo adapte a una escala mayor! (Aunque no es como si alguien más escribiera aplicaciones de escritorio desde que obtuvimos la web.)
+1 Totalmente de acuerdo. –
WPF ofrece instalaciones muy completas para construir interfaces de usuario extremadamente complejas. Simplifica la integración de gráficos acelerados por hardware en su interfaz. Sin embargo, el diseñador de Visual Studio WPF es realmente malo (casi nunca lo uso). También creo que WPF es mucho más complejo y es más difícil comenzar por él. Pero esto es subjetivo, por supuesto.
Escribo xaml a mano: D y uso el diseñador para establecer márgenes y cosas así. Nada más. –
Ambas tecnologías tienen sus pro y sus contras.
WPF es mejor para el desarrollo multiplataforma y la creación de GUI 'llamativas'. Sin embargo, requiere un .NET framework más nuevo que WinForms y requiere una GPU compatible dx9 o superior (que la mayoría de la gente tendrá).
Pero es un poco más complicado para crear la interfaz/alambre de seguridad de todos los eventos, etc.
WinForms sigue siendo una potente tecnología que a menudo puede ser desarrollado a un ritmo más rápido que WPF Sin embargo, en el final , ambas tecnologías se pueden usar para lograr lo mismo. Sin embargo, WPF es el estándar 'más nuevo'.
WinForms es comúnmente usado para desarrollar aplicaciones de negocios, mientras que WPF se utiliza a menudo para crear bits de base más para el usuario final de software, aplicaciones, etc.
- 1. WPF con Windows Forms - STAThread
- 2. WPF equivalente a Application.AddMessageFilter (Windows Forms)
- 3. WPF DataGrid Vs Windows Forms DataGridView
- 4. ¿Es mejor usar WPF en Windows Forms?
- 5. Learning Windows Forms vs. Windows Presentation Foundation
- 6. Biblioteca para usar SVG en Windows Forms/WPF?
- 7. Migrando de Windows Forms a WPF ... ¿valió la pena?
- 8. Desventajas para alojar Windows Forms Control en la aplicación WPF?
- 9. WPF vs Windows Forms en aplicaciones de escritorio
- 10. ¿Hay algo como Snoop (WPF) o FireBug (ASP.NET) para Windows Forms?
- 11. ¿Es apropiado utilizar fuentes "Wingdings" en una aplicación Windows Forms o WPF?
- 12. ¿Cómo acelerar la inicialización de una aplicación de cliente .NET (Windows Forms o WPF)?
- 13. ¿Qué tipo de aplicación se inicia más rápido: Windows Forms o WPF?
- 14. ¿Cuál sería el mejor desarrollo de chioce, Windows Forms o WPF en C#?
- 15. ¿Son viejas tecnologías de Windows Forms?
- 16. Windows Forms: capturar MouseWheel
- 17. Windows Forms Separator Control
- 18. Windows Forms - ErrorProvider + DataGridView
- 19. Java Swing o Windows Forms para aplicaciones de escritorio?
- 20. ¿Debo elegir Line o FastLine en Windows Forms Chart Control?
- 21. Tab Index en Windows Forms
- 22. Windows Forms and ShowDialog problema
- 23. Restore C# Windows Forms backcolor
- 24. Windows Forms - Multiple Event Loops
- 25. Borrando DrawRectangle en Windows Forms
- 26. Jump Lists y Windows Forms
- 27. ProgressBar es lenta en Windows Forms
- 28. Crear páginas o Windows en WPF
- 29. Ejemplos de MVP para Windows Forms
- 30. Interfaz web para la aplicación Windows Forms
1 Estoy totalmente de acuerdo. WPF es mucho más flexible que Windows Forms y es a largo plazo en el desarrollo de GUI. Está muy cerca de HTML en la forma en que utiliza un diseño basado en XML.El mejor argumento para Windows Forms en este momento es si usted tiene un equipo de desarrollo con gran experiencia en su uso. WPF es el futuro, y ya está un paso adelante de Windows Forms. –
+1 pero, WPF solo se puede usar desde .NET 4.0+ debido a los problemas de fuente en versiones anteriores, así que tenlo en cuenta para la implementación de la aplicación. – Josh
@Fauxide WPF se puede usar en .NET 3.5. Se han creado muchas aplicaciones útiles ... Los problemas con las fuentes no son un obstáculo para todos. –