Conozco asp.net y el desarrollo de winform. No soy el tipo de desarrollador que se lanza a una nueva tecnología solo porque es nueva. Necesita brindarme beneficios adicionales como una mayor productividad.
¿Cuáles son las ventajas de WPF sobre Winforms para aplicaciones empresariales puras? No me interesan los atractivos visuales adicionales, la animación, los degradados, los efectos de visualización de imágenes, etc., que proporciona WPF. Las aplicaciones comerciales son para la entrada de datos, informes de datos y tal vez algunos gráficos y visualización estática de fotos.
¿Cómo ayudará WPF en estas aplicaciones? ¿Vinculación de datos más rica? WinForm es una tecnología madura probada y me gusta el hecho de que puedo hacer todo en Visual Studio frente a múltiples IDE para WPF (familia VS y Blend). Además, creo que WPF no tiene controles de enlace de datos tan ricos como sus contrapartes de Winform (DataGridView, etc.). AFAIK, Microsoft seguirá admitiendo Winforms durante muchos años.
Intenta convencer a alguien como yo de que cambie.
Respuestas:
Para mi equipo, WPF ha demostrado ser mucho más rápido que WinForms para desarrollar aplicaciones. Recientemente lanzamos una aplicación de tamaño medio en 32 días hombre. Tuvimos la ventaja de contar con un desarrollador de WPF experimentado en el equipo y con muchachos sin experiencia que estaban ansiosos por aprender la tecnología. Había una gran moral y la productividad era impresionante.
¿Se considera un codificador manual o un codificador de arrastrar y soltar? Si se considera un usuario de arrastrar y soltar, es posible que la cosecha actual de herramientas de WPF no sea adecuada para usted. ¿Quizás esperar a Visual Studio 2010? Trabajo casi exclusivamente en XAML. La mayoría de los usuarios de WPF probablemente estarán de acuerdo en que esta es la forma más efectiva de crear aplicaciones WPF en este momento. Pero luego, también creo mi HTML a mano, por lo que me parece natural ...
Solía pensar así, pero recientemente desarrollé una aplicación empresarial que tiene degradados, animación básica y efectos. Estas características sofisticadas se agregaron para mejorar la experiencia del usuario. ¿Por qué las aplicaciones empresariales deberían ser Battleship Grey? ¿Por qué deberían ser inutilizables? Por supuesto, no es el color, los degradados ni la animación lo que hace que una aplicación empresarial sea utilizable, pero el uso de estos efectos puede ayudar a la experiencia del usuario, y esto es lo que es importante para mí. Podría haber hecho todo lo que hice en la aplicación WPF en WinForms, simplemente me hubiera llevado mucho más tiempo.
El soporte de enlace de datos es realmente asombroso. Es mi característica más querida en la plataforma. Eche un vistazo a esta maravillosa hoja de referencia de enlace de datos .
He decidido que no voy a intentar convencer a nadie más de que se cambie a WPF. Los desarrolladores a los que he intentado "convencer" (todos los desarrolladores experimentados de Winforms) generalmente han tenido problemas con la plataforma. No están invertidos en tecnología. Ellos no "lo entienden". Animo a las personas a que comprueben la tecnología para ver si es adecuada para ellos como desarrolladores. La curva de aprendizaje es enorme. Si aprende con los libros, consulte esta publicación de SO para ver algunas mini reseñas sobre los libros de WPF. Si aprende por videos, consulte los videos de windowsclient.net WPF . Si aprende con el ejemplo, consulte esto o estoenviar. Olvídese de todo lo que sabe sobre WinForms. WPF realmente parece más cercano a ASP que WinForms. Cree algunas aplicaciones de muestra. Vea si funciona para usted y su equipo.
Como tiene múltiples habilidades (habilidades asp.net/winform), puede ver la ventaja de mejorar en WPF, ya que está muy relacionado con Silverlight. Silverlight llena ese vacío entre sus aplicaciones de cliente enriquecidas y las aplicaciones web.
Personalmente, creo que WPF es la mejor tecnología del lado del cliente disponible para .NET framework y, en general, evitará el desarrollo en WinForms para trabajos futuros. YMMV
Buena suerte con tu decisión.
fuente
Tengo bastante experiencia en winforms y solo he jugado un poco con WPF, pero estoy vendido.
¿Por qué?
MUCHA más flexibilidad. Si desea hacer algo no estándar en formas de viento, se produce dolor y sufrimiento, pero en WPF es simple.
Enlace de datos mucho mejor
Más fácil de desarrollar (una vez que comprenda los conceptos básicos, que lamentablemente llevará un tiempo)
fuente
Cuando comencé a mirar WPF, lo traté como "Winforms con gráficos vectoriales" y corrí directamente hacia el lado del acantilado de aprendizaje. La forma correcta de hacer la transición de WinForms a WPF es tomar una dosis heroica de cualquier narcótico que pueda poner en sus manos para olvidar todo lo que sabe y luego comenzar desde cero.
En serio, es mucho más limpio y fácil si usa un patrón como Model-View-ViewModel. Lea más en The Orbifold , este hilo de Google Groups y Channel9
Luego, en algún momento, tendrás una epifanía y comenzarás a vincular todo. Su código subyacente no será mucho más que una llamada a InitializeComponent ().
fuente
Gracias por la publicacion. Mi empresa ha invertido mucho tiempo en WinForms. No puedo imaginarme sacar una aplicación de tamaño mediano en 32 días hombre; Nuestros períodos de certificación son meses y ciclos de lanzamiento a veces anuales o más largos (a pesar de apegarnos lo más cerca posible a una filosofía de desarrollo ágil), tal es la naturaleza de las aplicaciones que desarrollamos.
Acabo de jugar con WPF por primera vez y descubrí que puedo obtener algunos beneficios de WPF en WinForms usando ElementHost. Extendí un WPF TextBox, luego envolví mi clase extendida en un Win Forms UserControl y ahora tengo una aplicación WinForms que usa ese cuadro de texto WPF, completo con soporte de revisión ortográfica.
Me impresiona ver que Microsoft pensó en esto (hospedar WPF en WinForms y viceversa), ya que realmente no veo que mi empresa se mude a WPF a menos que podamos realizar la transición durante un largo período de tiempo; simplemente se ha invertido demasiado en WinForms para empezar de nuevo. Con mi experiencia reciente, puedo comenzar a hablar con otros desarrolladores sobre mi experiencia reciente y ver cuáles son sus pensamientos. Creo que a WPF le llevará algún tiempo acostumbrarse y eso parece coherente con otros comentarios.
fuente
No es un duplicado, pero esta publicación puede resultarle útil sobre los beneficios de WPF además de los nuevos bits gráficos.
¿WPF o WinForms para herramientas internas?
fuente
Simplemente verifique los resultados de esta búsqueda aquí en Stackoverflow para obtener numerosas respuestas. https://stackoverflow.com/search?q=WPF+Winforms
fuente
Imagínese si pudiera usar la misma interfaz de usuario (XAML) de su página ASP.NET/(Silverlight) con su aplicación de escritorio. Solo lo compilaría una vez, pero lo conectaría a cualquiera de los dos ... ese es uno de los propósitos de WPF / XAML ... ¿ya lo hemos logrado? Todavía no, pero cada vez más cerca.
fuente