2011-12-23 14 views
5

Attualmente sto lavorando a un progetto che usa molto MFC, ma mi sembra che oggigiorno la tecnologia MFC non sia ampiamente utilizzata. Quanto è deprecato MFC? Quali sono le alternative per questo? Sto usando VS2010 su Windows.L'MFC è deprecato?

Grazie per le vostre risposte.

+0

No, non è lo stato dell'arte. No, è ** non "deprecato" **. Almeno non da chiunque abbia lo status ufficiale di deprecarlo. –

+0

Puoi anche dare un'occhiata a questa domanda: http://stackoverflow.com/questions/2598006/will-vc-mfc-become-obsolete-in-near-future – dwo

+0

possibile duplicato di [C'è ancora un caso per MFC] (http://stackoverflow.com/questions/121184/is-there-still-a-case-for-mfc) –

risposta

6

Windows Form e WPF stanno diventando sempre più popolari in questi giorni, ma visto che una nuova versione di MFC è stata rilasciata solo pochi mesi fa (vedi here) non la chiamerei ancora deprecata.

2

Sì, MFC non è quello che si potrebbe definire lo stato dell'arte. Se stai iniziando una nuova applicazione (UI) da zero, dovresti trovare dei motivi molto validi per usare MFC (ad esempio, hai già un codice esistente). Ci sono molti svantaggi, per esempio l'archittettura documento/vista, che è adatto solo per piccole applicazioni di interfaccia utente o l'elevata quantità di personalizzazione che devi inserire, se vuoi controlli che non sono inclusi in questo framework (e sicuramente lo farai a qualche punto). Inoltre, non è così facile testare le classi MFC, che dovresti avere in mente.

Ampiamente utilizzati sono approcci con un'architettura MVC (model-view-controller). Si può leggere di più su questi due archiectures qui:

Document/View as used in MFC

Model View Controller

Come si stanno prendendo in considerazione MFC, ti assumere già avere conoscenze in C++. Pertanto, lo Qt Framework di Trolltech/Nokia potrebbe essere interessante per te. Supporta l'architettura MVC, è multipiattaforma compatibile e ancora attivamente sviluppato.

1

MFC non è così male. Il problema è che la maggior parte dei componenti (Windows/Widget) sono piuttosto cattivi o, più precisamente, molto poco flessibili. Come ha detto Hans, ci sono 18 anni di compatibilità con le versioni precedenti e quindi ogni ciclo di clock e memoria sono contati. Questo fa male oggi.

Lo sto utilizzando perché Windows Forms e WPF non sono utilizzabili per lo sviluppo di GUI multipiattaforma in cui la lingua franca del backend è C o C++ (se Java non è un'opzione per il tuo progetto per qualsiasi motivo).

A seconda di cosa si vuole fare e quanto sia importante una GUI molto nativa, MFC potrebbe essere l'unica scelta, soprattutto quando è possibile acquistare componenti di terze parti e utilizzare il featurepack oi ribbon.

non ho commentando QT/GTK/FLTK o altro toolkit finché non ci dici di più su vostro progetto