Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is MFC deprecated?

Currently I am working in a project that uses MFC a lot, but it seems to me that MFC technology is not widely used nowadays. How deprecated is MFC? What are the alternatives for it? I am using VS2010 on Windows.

Thank you for your answers.

like image 676
grzkv Avatar asked Dec 23 '11 10:12

grzkv


People also ask

Is MFC still being used?

NET environment as the most widely-used Windows development framework, MFC is by no means 'dead'. It is likely to be found in some older legacy code bases, and it's still being developed and supported by Microsoft.

What has replaced MFC?

Win32++ is a simple and easy to understand library for creating Windows applications. It runs on the commonly available free compilers, making it a free alternative to MFC. Win32++ has been designed to make life a little easier for those learning to use C++ to program using the Windows API directly.

What is the future of MFC?

Analyst Future Growth Forecasts High Growth Earnings: MFC's earnings are forecast to decline over the next 3 years. Revenue vs Market: MFC's revenue (35.8% per year) is forecast to grow faster than the Canadian market (5.9% per year).

Why do we use MFC in Windows?

The Microsoft Foundation Class (MFC) Library provides an object-oriented wrapper over much of the Win32 and COM APIs. Although it can be used to create very simple desktop applications, it is most useful when you need to develop more complex user interfaces with multiple controls.


2 Answers

Windows Forms and WPF are becoming more and more popular these days, but seeing that a new version of MFC was released just a few months ago (see here) I wouldn't call it deprecated just yet.

like image 172
nirbruner Avatar answered Oct 21 '22 20:10

nirbruner


Yes, MFC is not what you would call state-of-the-art. If you are starting a new (UI) application from scratch, you should come up with really strong reasons to use MFC (for example, you have already existing code). There are many disadvantages, for exeample the document/view archtiecture, which is only suitable for small UI applications or the high amount of customization you need to put in, if you want controls that are not included in this framework (and you certainly will at some point). Additionally, it is not that easy to test MFC classes, which you should have in mind as well.

Widely used are approaches with a MVC (model-view-controller) architecture. You can read more about these two archiectures here:

Document / View as used in MFC

Model View Controller

As you are considering MFC, I assume you already have knowledge in C++. Therefore, the Qt Framework from Trolltech / Nokia might be interesting for you. It supports MVC architecture, is cross-platform compatible and still actively developed.

like image 3
CppChris Avatar answered Oct 21 '22 19:10

CppChris