2011-03-26 1 views
7

Voglio creare un'applicazione desktop per Windows, so che c'è un tipo di applicazione basata su API Win32 e un'altra basata sul framework .net.confuso su MFC/.net/WPF

Quindi che cos'è con MFC, WPF, WinForm ecc.?

Da quello che ho visto sono API grafiche, quindi quale scegliere per la mia applicazione?

E ci sono buone risorse (ad es. Libri) per conoscere la tecnologia?

risposta

20

MFC è un framework per la creazione di applicazioni GUI in C++ nativo (non gestito) come il C++ che hai imparato al college. .NET Framework supporta la scrittura di codice gestito in C++/CLI, C#, VB.NET o in altre lingue. Esistono due modi per creare un'applicazione GUI desktop in .NET Framework - Windows Form e WPF. Windows Form è più vecchio e non è più in fase di sviluppo attivo. WPF è più recente.

Se si conosce il C++ e si intende eseguire il deployment su macchine senza .NET Framework, MFC è una buona scelta. Crea interfacce utente moderne e supporta le funzionalità di Windows 7. Se si desidera imparare C# e distribuire su macchine con .NET Framework, prendere in considerazione WPF o Windows Form. Per il tuo "trascinamento di base su un pulsante, fai doppio clic per modificare il gestore, digita un codice nell'app di gestione dei clic" non c'è differenza tra di loro. WPF ha un migliore supporto per la grafica graficamente (gradienti, trasparenza) e per il multi-touch, le meraviglie di Windows 7 ecc. Alcune persone trovano più difficile imparare, ma penso che sia solo perché hanno imparato Windows Form molto tempo fa. Se stai iniziando dal nulla, potresti anche imparare e potrebbe anche imparare quello più nuovo.

MSDN ha molti argomenti "introduttivi" una volta scelto un framework.

+1

+1, ottima risposta! Questo praticamente lo riassume :) –

+2

Hai dimenticato il vantaggio principale di WPF rispetto ai moduli di vincita: l'app WPF utilizza il video accelarator in fase di runtime (bu predefinito) e non la CPU principale. Per una considerazione attenta è molto importante sapere. – Liran

+1

@Liran per alcuni tipi di applicazioni, lo è davvero. Ma non per il tipo di applicazioni "tre caselle di testo e un pulsante" IMO. –