2010-01-13 23 views
10

He estado desarrollando aplicaciones C# Windows Forms durante un par de años y, aunque he escuchado y leído sobre WPF, nunca he estado en contacto directo con él. Con algo de tiempo de sobra esta primavera, pensé que lo probaría, pero primero sería interesante saber qué pensaron ustedes al respecto. ¿Qué opinas? ¿Vale la pena el tiempo de aprendizaje para un desarrollador de aplicaciones de escritorio .NET? También hay muchas otras cosas interesantes con las que me gustaría pasar más tiempo, así que si es simplemente "divertido" y no sirve para nada, preferiría poner mi atención en otra parte.WPF vs Windows Forms en aplicaciones de escritorio

Respuesta

2

Silverlight es un subconjunto de WPF, Silverlight primariliy está enfocado en la animación y los medios, no está diseñado para aplicaciones de escritorio grandes y complejas, por supuesto, pero no es su objetivo principal.

WPF puede ser alojado en una página web y tiene soporte de navegadores (IE y Firefox)

Yo recomendaría el uso y aprender WPF, y hasta cierto punto este conocimiento se puede aplicar a Silverlight más adelante en la pista.

Y de manera realista, estamos a menos de 2 años de tener pantallas multitáctiles extendidas e implementadas en las actividades cotidianas de las personas normales, por lo que centrarnos en esto es preocuparnos por un pequeño porcentaje en el mercado actual.

+0

El doble toque múltiple se convertirá en un problema para mí en el futuro previsible, las aplicaciones que desarrollo son considerablemente más tradicionales que eso. ¿Usted, que supongo que conoce WPF, consideraría usar WPF para una aplicación de escritorio "aburrida" (como un sistema de gestión de clientes) si fuera a desarrollarla hoy? – Erik

+0

Sí, no pretenderé que sea más difícil y más complejo que las formas de pago, pero WPF/XAML no va a desaparecer pronto ... de alguna manera es una inversión en su futuro;) – archeo

4

Sí, le sugiero que aprenda WPF. Tiene muchas ventajas sobre WinForms, como la aceleración de la GPU y la facilidad de lectura del código (XAML).

Además se ve bien en su CV.

+1

Además tiene una serie de mejoras arquitectónicas sobre WinForms que hacen que sea mucho más fácil estructurar bien sus programas. ¡No se trata solo de los gráficos! – itowlson

+0

¿Algún inconveniente en el uso de WPF o es todo mejor, en comparación con las formas de ganar? – Erik

+1

Puede crear cosas en WinForms sin comprender XAML, extensiones de marcado, convertidores de tipo, propiedades de dependencia, eventos enrutados, diccionarios de recursos, enlace de datos, estilos y plantillas. Es bastante difícil construir algo en WPF sin entender la mayoría de ellos. Por otro lado, todas esas son herramientas que hacen que las UI sean más flexibles y robustas. –

-1

El rumor en Microsoft es que WPF es una tecnología sin salida. El futuro es Silverlight por varias razones. Por un lado, WPF solo acepta un "control enfocado" que no funciona en un entorno multitáctil. Silverlight no tiene esta limitación. Por lo tanto, no es compatible con algunas de las tecnologías futuras de MS, como dispositivos portátiles multi-touch y Microsoft Surface.

En este momento WPF es más rico en características, pero si fuera yo y no necesitaba algo específico de WPF, me gustaría desarrollar para Silverlight. Y obtenga la ventaja de poder incrustarse en páginas web.

+6

¿Podemos ver una referencia para este comentario? – benPearce

+0

Seguramente Microsoft podría actualizar WPF para admitir multi-touch dada la inversión que ya han hecho en él? Dado que Silverlight se basa en gran medida en WPF de todos modos, ¿qué lo hace tan a prueba de futuro? – Sam

+0

Los dos no son mutuamente excluyentes - * au contraire *. La mayoría de lo que aprendes en WPF se puede aplicar a Silverlight (con una serie de limitaciones exasperantes que con suerte se resolverán algún día) y viceversa. Entonces, cuando estás aprendiendo WPF, también estás aprendiendo Silverlight, y viceversa. Incluso si Microsoft matara a WPF mañana, cualquier inversión en aprender WPF aún sería valiosa en el mundo de Silverlight. Y como dices, por ahora WPF tiene más funciones: también es más consistente y, por lo tanto, es mucho más fácil de aprender. – itowlson

2

Moveré todo el trabajo de desarrollo de aplicaciones de WinForms a WPF. A pesar de una curva de aprendizaje desalentadora (por alguna razón, he descubierto que WPF en general es más difícil de aprender que cualquier nueva tecnología que he encontrado en la última década y media), estoy descubriendo que cuanto más compleja es la interfaz de usuario , el mejor WPF es como una forma de implementarlo.

2

¿vale la pena el tiempo de aprendizaje para un desarrollador de aplicaciones de escritorio .NET?

¡Absolutamente! Si ese es su trabajo específico, no hay mejor tecnología para aprender (a diferencia del desarrollador de RIA, desarrollador web, desarrollador de Java, etc.).

así que si es simplemente "divertido" y no es práctico, prefiero llamar mi atención a otro lado.

Es de gran utilidad práctica si alguna vez desea escribir aplicaciones para Windows. Todas las aplicaciones ... pero en particular las que tienen una interfaz de usuario no estándar, desollada o compleja.

Así que no, no es solo diversión ... ¡pero es divertido!

Piénselo ... su primer marco de gráficos/aplicaciones Microsofts que se ha escrito sin grandes concesiones al legado de Win32 ... esto significa que es un cambio arquitectónico radical de lo que ha sucedido antes, y con eso vienen grandes beneficios.

La única advertencia es que puede tomar un tiempo para conseguir su cabeza alrededor de ella

0

Si usted tiene una interfaz de usuario que es bastante simple y desea que la aplicación sea fácil de mantener para los futuros desarrolladores (por ejemplo, alguien que no tiene escaló la curva de aprendizaje de wpf) entonces es probable que sea mejor ir a formularios de Windows.

Si tiene requisitos complejos de UI y siempre tendrá buenos desarrolladores de wpf disponibles, entonces vaya a la ruta de WPF.

Tengo mucha curiosidad si otros están de acuerdo con esto? Por favor comenta.

estoy de acuerdo que WPF tiene una curva de aprendizaje empinada y yo tipo de tener la sensación de que se avecina en el fondo de mi mente que Microsoft va a desechar WPF y XAML para otra cosa una vez que las pantallas táctiles se vuelven más populares ...

0

Es difícil de decir, pero es más probable que se abandonen las formas de victoria que WPF, por lo que la forma de las winforms difícilmente es a prueba de futuro. Para WPF ... si es bueno o malo es difícil, pero es el futuro si Windows 8 es el futuro (aparte de HTML, es el único lenguaje de GUI allí).

1

Algo que los otros han perdido:

WPF permite una separación más fácil de diseño y codificación. Si esperas tener un diseñador de tu aplicación, es una gran cosa. Él puede usar sus propias herramientas de diseño amigables en lugar de herramientas de codificación para crear UI.

Cuestiones relacionadas