Sé que esta es una publicación anterior, pero creo que sigue siendo válida.
He usado WinForms durante 3 años en la primera empresa para la que trabajé. Hubo algunos programadores realmente buenos allí, y encontraron algunas maneras muy inteligentes de hacer algunas cosas muy interesantes. WinForms ha resistido la prueba del tiempo. Es una plataforma sólida, confiable y eficiente. Muchas personas, y muchas compañías, grandes y pequeñas, han estado usando WinForms por años, y la tecnología ha demostrado ser una y otra vez. La inercia es difícil de combatir, incluso si eres Microsoft.
Aún así, WPF es definitivamente el futuro. Microsoft lo dejó claro al hacer productos como Visual Studio 2010 y Expression Blend con él. (Al usar WPF para proyectos internos, Microsoft se vio forzado a corregir muchos de los problemas, como la representación de fuentes y problemas de velocidad, que impidieron que la gente lo adoptara al principio.) Visual Studio 2010 muestra que WPF ha estado listo para producción desde hace mucho tiempo
Entonces, ¿es mejor escribir su programa en WinForms o WPF? La respuesta es esta: WPF. Digo esto por dos razones: en primer lugar, porque Microsoft lo está apoyando internamente, podemos suponer que estará presente durante un tiempo Microsoft nos ha demostrado que es la siguiente herramienta de elección que me lleva al siguiente punto: se ha vuelto superior a WinForms (algunas personas con las que he hablado no están de acuerdo, pero es la verdad, sin embargo, y se está volviendo más obvia todos los días). WPF tiene una gran cantidad de características que WinForms (probablemente) nunca se otorgarán, como el soporte integrado de datos increíbles, y las animaciones basadas en la línea de tiempo que lo hacen fácil de crear temas increíbles para sus aplicaciones, y contará con diseñadores que suplicarán hacer el cambio.Hay mucho más de WPF de lo que se puede describir en un comentario, pero estos son dos grandes para mí :)
Dicho esto, sé que no hay nada que puedas hacer en WPF que no puedas hacer en WinForms. Puedes hacer cualquier cosa en cualquier idioma si quieres lo suficiente. El punto es que cuando WinForm lo deje buscando en Google cómo alguien más hizo algo genial, WPF incluye soporte integrado para todas las funciones que Microsoft considera que son el futuro de Windows y las pone al alcance de la mano.
Con el tiempo, las personas se acostumbrarán a las nuevas funciones compiladas directamente en Windows, y esperarán que estén disponibles en todas las aplicaciones que utilizan. Esto llegará al punto en que cualquier cosa que no los respalde se sentirá torpe, menos útil y parecerá menos rentable. (Veo la integración táctil como el ejemplo más obvio de esto. Aunque hay soluciones de pantalla táctil que se sujetan a un monitor y emulan un mouse, en cualquier computadora, la tecnología de pantalla táctil ha recorrido un largo camino y con Windows 8 borrando la línea entre el escritorio y los dispositivos móviles, es probable que las personas quieran usar aplicaciones de una forma que será excepcionalmente difícil de implementar si su aplicación usa WinForms).
Tarde o temprano, creo que el soporte y el desarrollo de WinForms se detendrán, y todos los que se quedaron atrás se verán obligados a virar, y rápidamente. Sin embargo, hay demasiados programas que confían en WinForms para que Microsoft pueda abandonarlos en el futuro cercano. Quién sabe lo que va a pasar. Quizás WinForms será para Microsoft lo que los procesadores Itanium para Intel, el producto que tiene suficientes usuarios para mantenerlo en funcionamiento, a pesar de que hay mejores soluciones disponibles. (http://arstechnica.com/business/news/2011/06/ask-ars-why-itaniumask-ars-with-xeons-improvement-why-bother-with-itanium.ars)
Así que mi consejo sería este: con respecto al nuevo desarrollo, realice el cambio a WPF. Envíe a algunos miembros del personal a cursos de capacitación, o déjelos jugar un rato para que puedan tener una mejor idea de la tecnología. La curva de aprendizaje será abrupta, pero al hacerlo aumentará el conjunto de habilidades de su equipo porque, al aprender WPF, también estarán en camino de aprender SilverLight, que es lo suficientemente similar a WPF para que las personas familiarizadas con WPF puedan para aprender rápidamente, pero está diseñado para la web en lugar del escritorio. Esto es valioso porque las aplicaciones reescritas en WPF serán mucho más fáciles de convertir a aplicaciones web más adelante. WPF es nuevo, pero fue creado por una razón, no simplemente por el hecho de hacer algo más para que las personas aprendan. Fue diseñado para hacer que las aplicaciones sean más fáciles de usar, intuitivas y portátiles. Fue diseñado para ayudar a los desarrolladores a hacer que sus aplicaciones se ajusten a la nueva era de las computadoras.
En cuanto a las aplicaciones escritas en WinForms: Creo que es seguro asumir que WinForms seguirá siendo soportado durante bastante tiempo simplemente por la cantidad de soporte que ha obtenido. Recomiendo que su equipo se familiarice con WPF y lentamente empiece a trasladar sus aplicaciones a WPF. Tómese todo el tiempo que Microsoft permita y no apresure el proceso, pero siempre tenga en cuenta que, de una forma u otra, los días de WinForms han terminado, y aunque nadie puede estar seguro de lo que sucederá, se eliminará el soporte para el producto heredado. tan pronto como pueda ser justificado. Incluso si las aplicaciones de WinForms se mantienen durante muchos años, es importante recordar que los tiempos están cambiando y que todos debemos cambiar con ellos.
Realmente depende .... ¿nos puede dar más información acerca de su aplicación? – Brann
Dup? http://stackoverflow.com/questions/388711/when-is-winforms-the-correct-choice-vs-wpf –
No dup - esto tiene una 3D/DirectX doblada. –