Les MFC (Microsoft Foundation Classes) sont une librarie C++ de classes Windows lancée en 1992, afin de réaliser des applications graphiques. Elles se mettent en oeuvre avec l’environnement de développement Visual Studio. Dans Visual Studio l’assistant de configuration génère la base de l’application MFC. Les MFC organisent les applications selon une architecture Document / Vues, la partie document gére les données de l’application tandis que la partie Vues gère la visualisation des données. La partie Vue gère les évenements de l’interface (appui sur bouton, click souris) par l’intermédiaire de messages. La partie documents sauvegarde les données des objets grâce à la sérialisation. Les MFC sont bien documentés grâce à MSDN (Microsoft Developer Network). De plus, on peux inclure une interface à base de ruban dans les dernières versions de MFC. 

Qt est une bibliothèque C++ multiplateformes pour développer des applications graphiques, lancée en 1995. L’environnement de développement est QT Creator et QT Designer. L’apprentissage de QT est rapide et simple. QT utilise des signaux / slots pour communiquer avec l’interface utilisateur. Avec QT, vos applications peuvent se compiler sous Mac et Linux, en plus de Windows, tandis qu’avec MFC, c’est uniquement sous Windows. Une application QT peux fonctionner sur un serveur web Linux. Qt est Open Source mais payant pour des applications commercialisées. 

Transformer une application en MFC vers une application en QT nécessite d’une part de changer l’architecture Document/Vue et d’autre part de recoder l’ensemble des boites de dialogues, menus ainsi que l’interface utilisateur. 

Le principal avantage de QT est sa portabilité sous d’autres systèmes d’exploitation, et aussi QT génère des interfaces d’applications plus modernes. Les MFC disposent d’une base d’applications importante et de nombreux développeurs connaissent les MFC. Vous devez choisir la librairie MFC ou QT en fonction de vos besoins.