Conosco asp.net e lo sviluppo di winform. Non sono il tipo di sviluppatore che salta in una nuova tecnologia solo perché è nuova. Deve darmi vantaggi extra come una maggiore produttività.
Per il mio team, WPF ha dimostrato di essere molto più veloce di WinForms per lo sviluppo di applicazioni. Di recente abbiamo rilasciato un'app di medie dimensioni in 32 giorni uomo. Abbiamo avuto il vantaggio di uno sviluppatore WPF esperto nel team e di ragazzi inesperti desiderosi di apprendere la tecnologia. C'era un grande morale e la produttività era impressionante.
WinForm è una tecnologia collaudata matura e mi piace il fatto di poter fare tutto in Visual Studio rispetto a più IDE per WPF (famiglia VS e Blend).
Ti consideri un programmatore manuale o un programmatore drag-and-drop? Se ti consideri un drag-and-dropper, l'attuale raccolto di strumenti WPF potrebbe non essere adatto a te. Forse aspettare Visual Studio 2010? Lavoro quasi esclusivamente in XAML. La maggior parte degli utenti di WPF sarà probabilmente d'accordo sul fatto che questo è il modo più efficace per creare applicazioni WPF al momento. Ma poi, creo anche il mio HTML a mano, quindi mi sembra naturale ...
Quali sono i vantaggi di WPF rispetto a Winforms per le app aziendali pure? Non mi interessano gli extra per gli occhi, le animazioni, i gradienti, gli effetti di visualizzazione delle immagini e così via forniti da WPF.
La pensavo in questo modo, ma di recente ho sviluppato un'applicazione aziendale che ha gradienti, animazioni di base ed effetti. Queste fantasiose funzionalità sono state aggiunte per migliorare l'esperienza dell'utente. Perché le app aziendali dovrebbero essere Battleship Grey? Perché dovrebbero essere inutilizzabili? Certo, non sono il colore, i gradienti, l'animazione a rendere utilizzabile un'app aziendale, ma l'uso di questi effetti può aiutare l'esperienza dell'utente, e questo è ciò che è importante per me. Avrei potuto fare tutto quello che ho fatto nell'app WPF in WinForms - ci sarebbe voluto molto più tempo.
Legame di dati più ricco e migliore?
Il supporto per l'associazione dati è davvero sorprendente. È la mia caratteristica più amata nella piattaforma. Dai un'occhiata a questo meraviglioso Cheatsheet di Databinding .
Prova a convincere qualcuno come me a cambiare.
Ho deciso che non cercherò di convincere nessun altro a passare a WPF. Gli sviluppatori che ho cercato di "convincere" (tutti sviluppatori Winforms esperti) di solito hanno avuto difficoltà con la piattaforma. Non sono investiti nella tecnologia. Non "capiscono". Incoraggio le persone a controllare la tecnologia per vedere se è giusta per loro come sviluppatori. La curva di apprendimento è enorme. Se impari dai libri, dai un'occhiata a questo post SO per alcune mini-recensioni sui libri WPF. Se impari dai video, controlla i video WPF di windowsclient.net . Se impari con l'esempio, dai un'occhiata a questo o questoinviare. Dimentica tutto quello che sai su WinForms. WPF sembra davvero più vicino a ASP rispetto a WinForms. Crea alcune applicazioni di esempio. Vedi se funziona per te e il tuo team.
Poiché sei multi-qualificato (asp.net/winform skills), potresti vedere il vantaggio di acquisire competenze in WPF in quanto è strettamente correlato a Silverlight. Silverlight colma il divario tra le tue applicazioni rich client e le applicazioni web.
Personalmente ritengo che WPF sia la migliore tecnologia lato client disponibile per il framework .NET e generalmente eviterà di sviluppare in WinForms per lavori futuri. YMMV
Buona fortuna con la vostra decisione.