win usar que porque .net wpf winforms architecture

.net - usar - wpf vs win forms



WPF, Windows Forms, o alguna otra cosa? (5)

Estamos a punto de embarcarnos en el desarrollo de un nuevo producto. Nuestro producto actual es una aplicación convencional Windows-Server para Windows Forms escrita usando VB.NET.

¿Está listo WPF para una aplicación comercial? Por lo que he visto, parece que es más difícil desarrollar una interfaz de usuario con WPF que con Windows Forms. Pero supongo que la velocidad viene con la experiencia. Sin embargo, estoy un poco preocupado de que WPF no pueda entenderse.

¿Deberíamos quedarnos con Windows Forms? Si nos quedamos con Windows Forms, ¿estamos relegándonos a la depreciación desde el primer momento? Creo que sería más rápido comercializar, pero ¿seguirán apareciendo los formularios de Windows en cinco años?

¿Deberíamos migrar lejos de los productos de Microsoft? Todos nuestros desarrolladores son desarrolladores .NET, por lo que la migración a otro entorno de desarrollo podría estar fuera de discusión.

Ojalá tuviera una bola de cristal.


Hicimos el cambio y construimos nuestro último paquete de comercio electrónico de escritorio completamente en WPF (a excepción de los informes, que interoperamos para usar ReportViewer). No he tenido un día de arrepentimiento. El enfoque declarativo de WPF ha sido fácil de comprender para todos, y ayuda a imponer la separación de la IU de la lógica empresarial.

Dicho eso, si su equipo tiene mucha experiencia en WinForms, entonces puede ser contraproducente perder tiempo aprendiendo WPF.

Si eso no es un problema, pruebe WPF y tal vez se enganche.


En mi elección de plataforma (Windows Forms o WPF), mi principal problema era instalar la aplicación en las PC de nuestros clientes.

Nuestros clientes son principalmente grandes empresas. Entonces, cada componente adicional que tenemos que instalar significa un retraso en el plazo de aprobación.

Así que he elegido .NET 2.0 y Windows Forms, porque esto estará preinstalado en el 90% de todas las PC en las que tengo que instalar.

Si sus clientes son usuarios domésticos / finales, la interfaz de usuario más atractiva (WPF) puede ser algo a tener en cuenta.


WPF es realmente más fácil de usar que Windows Forms, es completamente diferente. En el momento en que comprenda el poder de XAML y lo que puede hacer con el enlace de datos, los estilos y la animación, nunca querrá volver a arrastrar controles al diseñador de Windows Forms.

Simplemente acostúmbrese a la idea de escribir XAML a mano y no usar el diseñador visual. El diseñador de XAML integrado en Visual Studio 2008 es basura, Expression Blend es mejor, pero está muy orientado al diseñador.


  1. WPF se utiliza en varias aplicaciones recientes de MS, incluido Visual Studio 2010, por lo que creo que es "seguro" utilizarlo en su propia aplicación. La velocidad de desarrollo está ligada a su familiaridad con las herramientas y sus características.

  2. Windows Forms definitivamente seguirá existiendo en cinco años.

  3. Si está compilando un producto destinado a ejecutarse en el escritorio de Windows, tendrá dificultades para encontrar algo mejor que .NET , especialmente teniendo en cuenta que es lo que ya sabe. Si crees que algún día querrás un puerto Mac o Linux, tal vez quieras considerar una alternativa. Incluso entonces, con Mono mejorando constantemente y sin planes inmediatos para ese puerto, .NET se ve bastante bien.


@GvS: Esto es bastante discutible, ya que estoy casi seguro de que 3.0 / 3.5 ha sido una actualización automática por algún tiempo. Sin embargo, debe tenerse en cuenta que WPF no es compatible con Windows 2000.

Otro punto a considerar es que los controles WPF y Windows Forms no son intercambiables. Si tiene una gran inversión en controles de Windows Forms, se pueden usar hasta cierto punto en un contenedor de Windows Forms en WPF, pero es muy diferente.