wxWidgets

Logo wxWidgets

"wxWidgets is a multiplatform Graphical User Interface (GUI) library for C++, Python, Perl, and C#/.NET. A single C++ source code that using wxWidgets standard can be compiled to Linux, Windows/Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more."

wxWidgets framework is simillar with Microsoft Foundation Class (MFC) Visual C++. If you familiar with Visual C++, then you can easelly working with wxWidgets. The following table shows the simillarity between wxWidgets and MFC Visual C++ class.

 

Number wxWidgets MFC Visual C++ Information
 1 wxString CString String manipulation 
 2 wxDocument CDocument View/Document architecture
 3 wxView CView View from View/Document architecture
 4 wxFrame CFrameWnd Create amain window frame

A good step for starting using wxWidgets can be done by reading this article:
http://www.wxwidgets.org/docs/tutorials.htm 

After understanding the first concept, then we can directly using Rapid Application Development (RAD) or visual programming based on wxWidgets. Click the following link to read my review about several possible RAD software.
RAD for wxWidgets review.

wxWidgets Rapid Application Development review

This review based on my experience using several Rapid Application Development (RAD) during Cekli PhotoLab development. From several possible RAD available, I have used wxDevC++, wxForm, and DialogBlocks. The following list is the available wxWidgets RAD.

 Name  Developer  Cost  Open Source  Lisence
 wxSmith  Bartlomiej Swiecki  Free  Yes  GPL
 DialogBlocks  Julian Smart  Free (trial), €66 (normal), €35 (student)  No  Proprietary
 wxDesigner  Robert Roebling  Free (trial), €129 (normal), €29 (student)  No  Proprietary
 wxFormBuilder  José Antonio Hurtado, Juan Antonio Ortega, Ryan Mulder, Ryan Pusztai  Free  Yes  GPL
 VisualWx  ?  Free  No  ?
 wxDevC++  Guru Kathiresan , Tony Reina, Malcolm Nealon  Free  Yes  GPL
 wxForms  Guru Kathiresan  Free (trial), $29.99  No  Proprietary

The overview of RAD above can be use for a reference for choosing the RAD. I recommend you to choose one of possible RAD before you start to write a single code, eventhough you can still work with other RAD after developing an application. I recommend this because each RAD has their own framework and can not interchanged each other. For example wxDevC++ will generate a *.wxForm file for each form where DialogBlocks using XML file to save the User Interface structure.

In this review, I only review 2 RAD. Because I thing this both RADs here are very good in my opinion.

wxDevC++
This RAD is 100% free, this is an advantage. Each time you starting to use this RAD, it will parse your C++ code and the libraries connected to it. It takes one to several minutes, but after this you can easely understand the code because if the mouse on top of a variable, then it will show the tool tip about the type of this variable. The instalation process is very easy, everything is automatic. CVS controlling version, a free compiler MingW and wxWidgets are integrated. You can also choose the compiler that you have installed like Visual C++ and MingW.

Conclusion:
This is very good RAD for a free RAD. But it lack of some important component like wxAUI that can make very nice User Interface. And maybe good consideration is this RAD is only available on Windows version, therefore if you work using several Operating System, you can not edit your wxDevC++ project under other OS than Windows.

DialogBlocks
You can use this RAD for free, the limitation is maximum components that you can make is 30 components in a projects. This RAD supports wxAUI, the coolest User Interface class to make your software looking fantastic. You can manage the data interchange between components and DialogBlocks manages them.

Conclusion:
This is a complete RAD for wxWidgets. The management of the component is very good. If you want to develop a commercial software, the cost of this software is reasonable. But this is a RAD and not a really Integrated Programming Environment. Combination between DialogBlocks and Microsoft Visual C++ with its Intellisense is perfect combination to develop very strong and nice looking software.

wxSmith

wxSmith is a Code::Blocks plugin for RAD editing of wxWidgets applications.

You can starting to try this RAD using the following link: 

http://wiki.codeblocks.org/index.php?title=WxSmith_tutorials 

The comparison of wxSmith with other wxWidgets RAD developer.

http://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features

Code::Block can b downloaded from:

http://developer.berlios.de/projects/codeblocks