tags:

views:

408

answers:

8

I want to write a front-end to an application written in C/C++.

I use Solaris 10 and plan to port the application to some other architectures (Windows first).

+3  A: 

I'd recommend taking a look at wxWidgets to provide some cross platform UI widgets that will work on Solaris and Windows.

garethm
A: 

On a Mac, this would be easy. The Cocoa API is great when programming in Objective C (which compiles fine with C/C++ files).

Otherwise the situation is a bit more grim. As for Rapid prototype, you might want to check the CodeGear (Borland/C++ Builder) tools. I think their VCL library is cross-platform.

Otherwise, you could interface with a scripting language like Ruby and use fantastic front end libraries like Shoes. Python also interfaces with wxWidgets to make writing cross-platform front ends easy. Keep in mind that this all requires taking time to make sure your C/C++ code can talk to the scripting language. This is not trivial, and the amount of effort required depends upon the style of your code base. (Oh my God.)

Lastly, you could just use wxWidgets itself. This might be your best bet since it requires no additional overhead than coding the UI itself. That said, C++ is not the greatest language for designing UIs.

And super lastly, consider writing a code generator that converts from say Shoes to whatever wxWidgets code is needed to generate the same Shoes app. That way you can do easier UI design but still get C++ code in the end. Likewise, you could code gen off of the Python/wxWidgets code. Then sell such a code generator. :-)

Frank Krueger
+3  A: 

Qt 4 is the best tool for this job. If you want to work with other languages, it also has bindings for Java and Python

Imran
A: 

I use wxWidgets myself. It makes good use of the C++ language features and uses smart pointers, so object and memory management is not that hard. In fact, it feels like writing in a scripting language.

Coupled with a dialog editor/code generator like wxFormBuilder or wxDesigner, (links to screenshots) it becomes a good toolkit for rapid development.

aib
A: 

Have a look at FLTK which supports X11 and Windows.

epatel
+1  A: 

GTK-- and Glade.

Thats' the C++ bindings on GTK

GTK will work on windows ( just look at GIMP )

Works everywhere, no QT license to mess with your millions-making.

Tim Williscroft
Both Qt and gtkmm can be licensed under the LGPL. But Qt can also be licensed under the GPL and a commercial license as well.
Bribles
How does the QT licence help ? you can put LGPL bits in your system if you want to GPL it. ( So GTK is still good.) Just remember to give the LGPL bits sources away if someone asks.And any commercial QT license is not an improvement on LGPL; it is gonna cost 3000 Euros the other is free.
Tim Williscroft
A: 

Ultimate++ is a cross platform rapid application development framework for C++. It is aimed specifically at rapid development. The Ultimate++ website provides some comparisons to other frameworks mentioned such as Qt and wxWidgets.

cdv
A: 

I have used ASP.NET Web Forms to make UI front-end to collection of command line application written in legacy language, RESTful-ish web service, and bash scripts.

Once it works on Firefox, it should work at least on Firefox on other architecture. If you haven't played around with it, you should give ASP.NET a try (ASP.NET MVC seems to be the current trend). Not quite the same as RAD, but it does give you visual design of forms etc.

eed3si9n