2010-04-28 22 views
15

Acabo de completar dos aplicaciones de WinForm como parte de un curso intensivo. Solo me preguntaba sobre la tecnología en general ... ¿debería pasar a algo nuevo, o WinForms sigue siendo viable para el futuro?¿Aprender WinForms vale la pena? ¿Está desactualizado?

+0

** WPF **. 'Dijo Nuff. (Además, esto puede ser una mejor opción para StackOverflow). – squircle

+9

Hay agencias del gobierno todavía en VAX y/o que usan COBOL. El hecho de que sea "viejo" no significa que no se use. –

+0

genial. Pensé que podría ofender a las personas en StackOverflow publicando esto. Bueno saber. – RedEye

Respuesta

12

Diría que Windows Forms es ideal para aplicaciones basadas en formularios. WPF/Silverlight es ideal para animaciones y aplicaciones basadas en gráficos.

Si necesita hacer algún trabajo de utilidad o hacer una herramienta, no veo por qué Win Forms no puede cumplir ese propósito. WPF puede ser excesivo a menos que realmente quieras que se vea bonito. Además, con WPF debe aprender XAML, que no es tan fácil ni tan intuitivo como trabajar con el diseñador de Win Forms.

Si es un desarrollador o diseñador web, trabajar en WPF podría parecer más similar al diseño de una página web porque trabaja en XAML y tiene un control preciso sobre la interfaz.

WPF/Silverlight también tienen excelentes capacidades de enlace de datos, además de que Silverlight puede quedarse sin navegador, por lo que incluso podría ser ventajoso omitir WPF para la primera versión y hacer una versión de Silverlight. SL a WPF es mucho, mucho más fácil de transportar que WPF a SL (ya que SL es un subconjunto de WPF).

Para mi proyecto en el que estoy trabajando, se hará solo en SL4 por la posibilidad de ejecutarlo fuera del navegador como si fuera una aplicación de escritorio, eliminando la necesidad de portarlo a WPF. La instalación de una aplicación de Silverlight en la computadora de un usuario es simple y directa, y le brinda la ventaja adicional de utilizar todo su código existente y la actualización automática.

+1

Simplemente curioso ... ¿Se puede ejecutar una APP Silverlight en Mac/OS? – RedEye

+1

@RedEye Sí. Tenemos una aplicación Silverlight en la versión beta final que se ha probado en Safari (tanto para PC como para Mac), así como para Chrome, IE, FF, etc. en la PC. Funciona genial. –

+0

Eso es genial. Gracias Michael. – RedEye

2

Todo depende de dónde trabaje y en qué trabaje.

Si logras conseguir un trabajo en el que están desarrollando algo nuevo, la respuesta sería "no", ya que espero que utilicen WPF o Silverlight.

Si, sin embargo, obtiene un trabajo en el que admite una aplicación existente, la respuesta sería "sí", incluso si la están convirtiendo, ya que soportará la aplicación anterior durante bastante tiempo.

3

Diría que WinForms es bueno saberlo, pero invertiría más tiempo en WPF. WPF tiene similitudes con Silverlight y eso le daría más bases para trabajar.

Dicho esto, nunca está de más aprender :)

2

Ambas tecnologías tienen sus strenghs y debilidad.

Puede realizar controles muy complejos con WPF, sin embargo, algunas tareas simples son más difíciles de hacer. Por ejemplo, las vistas de árbol en WPF pueden formatearse como quieras con algún trabajo, pero las cosas simples como las líneas punteadas entre los elementos no están presentes por defecto y son realmente difíciles de hacer que funcionen (nunca hasta ahora). .

Cualquiera que sea el caso, ya que WPF, XAML y todas las demás tecnologías relacionadas son productos puros de Microsoft, el lenguaje como Delphi y otros pueden tomar tiempo antes de usarlos, por lo que Winform permanecerá, al menos durante algunos años.

Conozco ambos y uso ambos dependiendo del proyecto que realice. Debo admitir que prefiero WPF para la mayoría del proyecto.

2

Bueno, si eres increíble con los colores y la experiencia del usuario :) WPF es para ti.

Si, por otro lado, eres como yo y solo puedes reconocer los colores de 8 bits: P te encontrarás usando WinForms mucho. Tiene la ventaja sobre WPF de que puede hacer girar la aplicación sin pensar demasiado en la IU, y seguirá siendo utilizable y se verá bien.

WPF le proporciona una gran potencia, y con gran potencia tiene una gran responsabilidad.

+2

Le doy -1 por el comentario hortera pero bueno, me costó demasiado rep. :) –

+1

Bueno, el sistema funciona de esta manera: P.S. Mi comentario proviene de la experiencia personal. Normalmente trabajo solo. No hay buenos y baratos temas WPF por ahí.La última vez que intenté hacer bonita mi aplicación, perdí 3 horas de personalización. Toda la lógica de la aplicación tomó solo 1 hora. Sería mejor con WinForms en primer lugar. WPF es genial si tienes buen ojo para los colores, buenos temas o un diseñador. Si solo desea escribir rápidamente un software funcional, al menos en este momento, WinForms es muy útil. – kyrisu

1

Requiere muy poco tiempo para aprender, así que creo que realmente vale la pena. El patrón que usa WinForms también lo usan muchos otros frameworks, por lo que no perderá nada al aprenderlo.

Y también, WPF es quizás más fácil si tiene alguna base.

1

Yo diría que si acaba de comenzar, WPF es probablemente en lo que debe concentrar sus energías. Dicho esto, actualmente estoy trabajando en un proyecto de Winforms, y comencé 2 nuevos el año pasado, y funciona muy bien.

5

La familiaridad con WinForms lo ayudará. Las aplicaciones heredadas los usarán, y si trabajas en una tienda de microsoft, te encontrarás con aplicaciones heredadas. También deberías aprender algo más nuevo, porque eso es parte de ser un programador. Las cosas que sabes ahora son solo la base de lo que sabrás. Nunca dejes de aprender o terminarás como el chico de la engrapadora en Office Space.

+2

Quisiste decir que "allí (probablemente) habrá un tiempo en el futuro cuando las aplicaciones WinForms se considerarán aplicaciones heredadas". –

2

Además de todo lo que se ha dicho, creo que algún conocimiento de winforms siempre es útil para crear pequeñas aplicaciones de juguete o tirar ese tipo de cosas.

+1

quizás una manera rápida y fácil de prototipo de algo? – RedEye

+1

Definitivamente bueno para el desarrollo rápido de aplicaciones. – ulty4life

2

No compre todo el bombo. Mi cliente sigue exigiendo el desarrollo de WinForms. Pronto comenzaremos un proyecto completamente nuevo y es WinForms, C#, NHibernate. Así es, no es Web, javascript, ajax, nube, metro, WPF, Silverlight, bla, bla.

La razón de ser es simple: por qué en la tierra gastamos el doble de esfuerzo en WPF cuando necesitamos dedicar tiempo a las plataformas COMPETING. El espacio de la GUI está totalmente fragmentado. WPF NUNCA será multiplataforma y las horas invertidas en las minucias de WPF disminuyen la probabilidad de compatibilidad con Cocoa, Linux. Además parece que Microsoft se han vertido WPF a favor de la increíble Javascript y HTML 5. sofisticada

Personalmente, prefiero marcos GUI orientada a componentes más marcos basados ​​en MVC por la sencilla razón de que son más fácil y más rápido para escribir con. No estoy de acuerdo con que MVC sea el mejor patrón para el desarrollo de GUI. Sí, tiene su lugar en el mundo, como en el desarrollo web, donde la tecnología de nivel de presentación avanza hacia los lados con el mínimo común denominador de navegador.

IMO hay espacio para una horquilla WinForms 3, de fuente abierta y con la vista puesta en el soporte multiplataforma adecuado.

+0

BTW ese marco es https://github.com/picoe/Eto –

0

muchas empresas lo encuentran con experiencia para migrar su solución a la web. Las empresas usan tecnologías de virtualización como Citrix y App-V para entregar su software a través de la web sin tener que desarrollar nuevas soluciones.

Si ya está haciendo ASP.NET, sería bastante fácil aprender WinForms.