2009-03-10 8 views
6

WPF se posiciona como un sucesor de Windows Forms, pero teniendo en cuenta la práctica de abandonar kits de herramientas (y lo que percibo un "hincha" s en WPF), ¿existen alternativas recomendadas de Microsoft?alternativas WPF

+0

Tengo curiosidad por saber qué es lo que considera como hinchazón en WPF. –

+0

¿Qué mierda dice que WPF es Bloat? ¿Lo has usado? – abmv

+3

En todo caso, WPF está poco desarrollado: hay muchas funcionalidades que no han tenido tiempo de agregar y que deberían ser parte del kit básico. –

Respuesta

14

No creo que usted necesita preocuparse acerca de WPF siendo abandonado. WinForm estuvo presente durante mucho tiempo, y WPF es el reemplazo.

Bloat? No sé ... Parece una gran actualización de WinForms para mí. Si hay hinchazón, siempre estará ahí porque debajo de todo está la API de Win32. Hasta que no se reescriba desde cero, no creo que nada sea perfecto. Y dado que cada kit de herramientas dirigido a la plataforma Windows tiene que lidiar con eso ... Prefiero irme con WPF y ReSharper ...

3

Depende de su lenguaje de programación favorito, pero Qt es un buen conjunto de herramientas GUI para C++. Tiene características impresionantes, es gratuito y tan independiente de la plataforma como lo es para los kits de herramientas GUI.

+0

No creo que sea gratis para uso comercial, sin embargo. – ine

+0

@amdfan: ¿Esto no cambió con el cambio a LGPL? –

+1

Lo es. Está disponible bajo LGPL desde v4.5, por lo que puede usarlo en aplicaciones de fuente cerrada y/o comerciales. Solo los cambios que realice en QT deben estar disponibles como código fuente. (Consulte http://www.qtsoftware.com/products/licensing) – sth

7

Otro signo que Microsoft se toma en serio sobre WPF es que se está acostumbrando a hacer Visual Studio 2010 XAML parece ser utilizado por algo más que WPF (Workflow Foundation, Communication Foundation).

he estado de codificación en WinForms durante los últimos 5 años y yo era un poco escéptico de WPF demasiado al principio. Pero después de leer algunos libros y probar mi primera aplicación en WPF, ¡estoy comenzando a ver la belleza de esto!

me dejo de sorprenderme la forma en que se necesita poca código de "pegamento" en una aplicación de WPF en comparación con lo que habría hecho en WinForms. Aquí hay un ejemplo: tuve que mostrar un histograma simple. En WinForms, habría escrito un control personalizado y habría manejado el renderizado yo mismo. En WPF, ¡lo hice todo desde xaml sin una línea de código! Acabo de vincular las muestras de datos a un cuadro de lista, sustituí la plantilla de diseño de la lista en un panel de pila horizontal y sustituí la plantilla de elementos por rectángulos cuya altura está vinculada a los valores de muestra.

+4

Creo que Windows 8, que se centra en HTML5, puede marcar una bandera aquí. La adopción de WPF nunca ha sido tan grande, y MS ciertamente brindará soporte en VS para HTML5, ya que espera que las aplicaciones para Windows 8 se escriban en HTML5 ... – Loudenvier

+0

@Loudenvier Eso no es estrictamente cierto. El soporte de HTML5 al que se refiere está utilizando el nuevo Windows Runtime, que es la parte de Metro de Windows 8. Visual Studio 11 es una aplicación creada en el escritorio de Windows 8, que no tiene acceso a WinRT. El soporte de WPF continuará a través de Windows 8 en el lado del escritorio del sistema operativo. –

+0

@SamuelSlade tienes razón en todo lo que dijiste. Todo es verdadero y correcto. Y no contradice lo que dije también. Pero nunca comenzaría un nuevo proyecto en WPF hoy. De hecho, rechacé una oferta de trabajo (pagando más) porque sería para administrar un proyecto de WPF y creo que la tecnología no tiene futuro, y no quería perder mucho tiempo trabajando en "obsoletos" tecnología y luego convertirse en algo obsoleto en el "mercado". HTML 5 (Lo sé: ¿qué es realmente HTML 5? Nadie lo sabe :-) es la respuesta para mí, o el viejo y bueno WinForms :-) – Loudenvier

6

MS no tiene la práctica de abandonar kits de herramientas (WinForms, MFC, ActiveX y Win32 todavía se están desarrollando activamente) y la "hinchazón" es realmente nuevas capacidades que puede que no necesite ahora pero hay una buena posibilidad de que ' Necesitaré en el futuro

Si no desea que la hinchazón y utilizar sólo una API que será imposible para MS dejar de apoyar a que son más que bienvenidos a trabajar con la API de Win32 directamente.

+5

Silverlight, XNA, Compact Framework, J # y FoxPro. – Dai

+0

No se olvide de Entity Framework, aunque pusieron la fuente a disposición del público para esa. – drake7707

1

Adobe AIR es la fuerte competidor. Si desea crear aplicaciones multiplataforma con una interfaz de usuario avanzada, consulte esta.

-1

Primero que nada, ¡me encanta WPF! No veo ninguna manera elegante/inmediata de lograr la misma funcionalidad y flexibilidad para diseñar interfaces en WinForms ... Dicho esto, es muy triste ver que WPF ya no está a favor dentro de Microsoft. En realidad, algunas personas, entre ellas 'internos' han declarado que la EM se ha desplazado foco formulario WPF y Silverlight ahora es el marco de Windows Phone 7 aplicación (no es algo para suplantar flash más):

http://www.theregister.co.uk/2010/09/09/microsoft_html_5/

Muchas personas, incluido el líder actual de WPF, lo niega, pero veo que esto realmente puede tener algo de verdad detrás. HTML5 ciertamente se convertirá en el estándar "de facto" para interfaces de cliente ricas (web). Se superpone mucho con WPF y también hace muchas otras cosas. Se puede "extender" fácilmente para funcionar para aplicaciones de cliente enriquecido que no sean web, y creo que MS invertirá en eso para tener el liderazgo en herramientas de desarrollo para objetivos web, móviles y de Windows.

No temería el abandono si ya estuviera en medio de un proyecto de WPF, pero tampoco empezaría uno en WPF, como muchos ya han dicho: no es tan simple abandonar algo como WPF sin dar un ruta de migración y su apoyo durante muchos años.

¿Entonces, las alternativas actuales para WPF en el mundo de MS? No creo que ya tengamos uno, tal vez usar su subconjunto en Silverlight es el camino a seguir por el momento. Pero, en los próximos años, HTML5 probablemente será LA alternativa a WPF.

+0

-1 Especulación salvaje –

+0

Bueno, -1 debido a mi "Especulación salvaje" y lo que viene con Windows 8? (¿Llega el invierno? :-) HTML5 ... WPF y Silverlight abandonados a favor de esa especulación salvaje ... Siempre pensé que -1 injusto ... – Loudenvier

+0

Todavía es especulación, aunque bien razonada. Deshacería el -1 ahora si pudiera, pero está bloqueado. –

3

Qt Quick (QML) es el camino a seguir. Tiene un diseño extremadamente nítido y no se contamina con XML ilegible.

4

creo que 4 de cada 5 desarrolladores nunca mirar más allá de la superficie de una tecnología, lo que quieren es arrastrar & caer algunas controles, escribir unas pocas líneas de código y obtener algo & correr, tal vez buscando en Google para algunas muestras para ayudar a resolver algunos problemas, y eso es todo. Para tales personas, hinchar no es una palabra en su diccionario.

Yo, por ejemplo, prefiero buscar debajo de las coberturas y realmente averiguar cómo funciona realmente una tecnología antes de saltar a escribir código usando la tecnología. Hoy, pasé una hora más o menos para investigar cómo funcionan los comandos integrados de WPF, y con la ayuda del reflector logré rastrear cómo se ejecuta un simple comando de corte incorporado para un control de cuadro de texto sin formato, y adivinar ¿para qué, cuando el texto cambió el evento se levantó para una operación de corte, hay alrededor de 30 llamadas en la pila de llamadas, no es ese código inflado?

WPF ciertamente tiene muchas funcionalidades potentes, pero tienen un costo. De alguna manera, creo que WPF es para WinForms lo que MFC es para Win32 API; tanto WPF como MFC tienen al menos la palabra "Fundación" :), pero sería interesante observar si WPF tendrá el mismo destino que MFC.