views:

85

answers:

3

The substance of an app is more important to me than its apperance, yet GUI always seems to dominate a disproportionate percentage of programmer time, development and target resource requirements/constraints.

Ideally I'd like an application architecture that will permit me to develop an app using a lightweight reference GUI/kit and focus on non gui aspects to produce a quality app which is GUI enabled/friendly.

I would want APP and the GUI to be sufficiently decoupled to maximize the ease for you GUI experts to plug the app into to some target GUI design/framework/context.

e.g. targets such as: termcap GUI, web app GUI framework, desktop GUI, thin client GUI.

In short: How do I mostly ignore the GUI, but avoid painting you into a corner when I don't even know who you are yet?

+3  A: 

Write a core library that handles the functionality and provides hooks for progress notification. Then write the interfaces as separate applications or libraries that use the core library.

Ignacio Vazquez-Abrams
+1  A: 

The answer you seek is MVC - Model/View/Controller.

Chris Kaminski
+1  A: 

You might be interested in Storyboard Suite from Crank Software. It is targeted at embedded products and systems and it emphasizes/enforces an MVC design where you completely decouple the user interface from the system logic.

An added benefit is that it uses a data driven model where you change data and UI elements that are bound to that data change accordingly ... without the client that is changing the data caring about what UI elements are interested.

System and glue logic can be written as C plugins, but are more generally written as Lua scripts.

Thomas

Thomas
The overview makes it sound like a great candidate for the "prototype GUI" at least. It's going on my short list. Thanks.
pbernatchez