feedback

wxWidgets vs MFC

Wxwidgets vs MFC

Wxwidgets vs MFC

WxWidgets and MFC are programming frameworks for building GUI applications(Graphical User Interface). Of course you can also write console apps with wxWidgets and MFC but they are made particularly for building GUI apps. Both of them are wrappers, saying it simple that means both of them are libraries build to simplify some other code. On Windows, Windows API functions are used to build GUI apps, but it’s very hard to make applications using it and that’s the reason why we have wrappers.

WxWidgets was formerly called wxWindows, it’s a multi platform, so called cross platform framework. It exists for Windows, Linux and Mac. It’s written and maintained by Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik and many others. The beautiful thing about wxWidgets is that once you create and compile code on one OS let’s say on Windows, you can use that same code and compile it without change on Linux and get Linux app, you can also do that in Mac. The other thing very important about wxWidgets is that it’s licensed with GPL. You can use it without being a pirate :) , there is a wide set of tools which are also free and in many cases with GPL license. For starting with wxWidgets you need to install the libraries, you need some good IDE (Integrated Development Environment) and one form designer. Most important part is IDE you will spend most time using it, you can choose between Code::Blocks, wxDevCpp, Code Lite, Eclipse, NetBeans,….. There is rerly large spectrum of IDEs you can use to develop wxWidgets apps. I recommend you to use wxDevCpp or Code::Blocks. WxDevCpp comes with it’s own form designer and wx libraries already installed and it’s better for beginners, but there is only a Windows version. Code::Blocks comes with its own form designer but it does not have libraries installed, so you will have to do it manually. But good side of the Code::Blocks is that it has versions for Linux and Mac too, you will not have any trouble building apps for different platforms.

Even by the fact that it’s free software wxWidgets it’s very good framework, it’s developed for many years and can compete with any commercial framework. WxWidgets comes with many examples and if you download wxDevCpp you can get some free books with it. There is a good community behind it and many nice people that can help you with anything. The problem here is not in the quality of the framework, documentation or community it’s in something else. To be able to use it you need to have good IDE and there is none that can be good as Visual Studio, so at the end if we look at just IDEs of these frameworks it’s an old free vs paid competition.

MFC is acronym for Microsoft Foundation Class it comed to light on 1992. with their compiler version 7. It exists only for Windows operating systems and  like wxWidgets it’s a object oriented wrapper of win API, but it’s only made for use with C++ language, wxWidgets  can be used with C++, Python, Perl, and C#/.NET. The most important think about MFC is that it has great IDE, it’s called Visual C++ and comes as a part of Visual Studio. Microsoft released Visual Studio 2005 Express as a free version and later Visual Studio 2008 Express also free but unfortunately it didn’t came with MFC. The cheapest Visual Studio with MFC is the standard edition and without MSDN and it costs 249.99$ at Amazon, Profestional Edition is 684.99$ and Professional Edition with MSDN is 1,034.49$.

Programs made using MFC libraries are a little bit smaller than programs that use wxWidgets, maybe it is not important because every average user now has fast internet connection. Programs with size of 10 MB

The only IDE you can use to develop MFC programs is Visual C++. That’s not bad because Visual C++ is maybe the best IDE at the planet.  You can also choose Visual C++ Express and use it to build wxWidgets programs, but you can not use it’s form builder you need to find your own form builder and you can’t use some other cool features.

Digg icon Delicous icon Stumbleupon icon Reddit icon Twitter icon Facebook icon Technorati icon

2 Comments to wxWidgets vs MFC

  1. a reader's Gravatar a reader
    22. January 2010. at 02:19 | Permalink

    Nice article, but slightly inaccurate about the license. I'll add a quote below:
    "wxWidgets is currently licensed under the "wxWindows Licence" pending approval of the "wxWidgets Licence" which will be identical apart from the name.

    The wxWindows Licence is essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user's own terms. This is a solution that satisfies those who wish to produce GPL'ed software using wxWidgets, and also those producing proprietary software."

    The rest here: http://www.wxwidgets.org/about/newlicen.htm

  2. 11. June 2010. at 08:29 | Permalink

    It looks good,I have learn a recruit!
    Recently,I found an excellent online store, the
    com-so.com
    are completely various, good quality and cheap price,it’s worth buying!

Leave a Reply

You can use some HTML tags

Random Quote

quote openComputers are useless. They can only give you answers.quote end
by Pablo Picaso

Tag cloud