I would like to see the MFC programming model beeing brought to .NET for C++ developers.
Currently .NET - or at least WinForms - is VB'ish with event handlers like menuItemToolStripMenuItem_Click.
I would like to see command routing and command and update handlers.
I also would like to get the document/view model back. Also a form is in no way a replacement for a CView.
Maybe it's too late for WinForms, but how about WPF?
Both Windows forms and WPF are frameworks that have slightly different goals embedded in their design than MFC. They are not designed to dictate internal architecture of the application and heavily focused on appearance of the application to end-user. They provide great solution for organizing rich UI with advanced controls and visualization of data in a simple and fast way. As for internals of application, they are less concern with how commands are routed, how data storage mapped to UI, is there one or several views of same data, and give flexibility of organizing this aspect of application to the developer.
On another side, MFC provides a complete application framework which does dictates how application is organized way beyond UI. Document/View infrastructure and command routing are powerful mechanisms that MFC developers tend to love. But if you talk to WinForms or WPF developers, these are usually two pieces of MFC they find hard to learn and hard to work with. Moreover absence of similar architecture is often seen as crucial piece that enables Winforms developers be more productive and learn quickly on how develop Winforms application.
So no, WPF and Windows Forms are not going to add document/view architecture. Not that many MDI applications are going to be created in Winforms and WPF anyway. MFC is unique as application framework in this sense both in native and in managed worlds.
Thanks for your reply Nikola.
Steve Teixeira wrote in his blog that we are in a in-between area of MFC and the next generation application framework.
What are the plans and timeframe for this framework?
Steve and I often talk about this. Actually not just us, but overall it is often topic of discussion inside VC when future of programming model for VC++ developer is discussed. Several last product cycles VC has to keep focus on both managed and native world, making sure that VC developers have ways of using both. With all work around Mixed and Pure mode done in CRT library and MFC, not much time was left to think and to design big things. We observed some alternative application frameworks appearing inside MS and in other companies having no or mixed success. Some have good ideas and some are just re-iteration or re-implementation of frameworks available in managed code. As I said before, there is not an alternative to MFC as application framework at this moment. And this is something that both Steve and I and other folks in VC Libraries are planning to think about in coming years.