views:

395

answers:

7

Some of the requirements (restrictions) for such a ui framework/toolkit are:

  • No single vendor lock down
  • Ability for real time data visualization
  • Good initial widgets
  • Good dash boarding capabilities
  • cross platform
  • Good development/debug environment
  • No flash
+3  A: 

It's a pity you can't/won't use Flash. Else I could really recommend Adobe AIR. It has a good editor (Flex Builder built on Eclipse), a good component framework with many out of the box components, charting components set, ability to communicate with many different protocols (and you could write your own protocol implementation), cross platform, runs in the AIR runtime and not in the browser, file IO, ...

Christophe Herreman
I am finally talking your recommendation and it is coming out nicely. Only issue I face with this is that there is not much good material available on Air and Flex. The default Flex components are not good enough to be used in any serious product. Bottom line is that if you are willing to learn then go with Air. Air 2 is coming up with stunning features like interacting with native process APIs, improved Socket support and support for detecting mass storage devices. All these feature with one single code base. That seems impressive.
volatilevoid
+3  A: 

I wouldn't pass over Flex/Air (Flash) without a closer consideration but here are a few others I have come across:

There is also a slashdot post with links to some tookits I haven't heard of. I'll add their recommendations here:

  • GLUI, an OpenGL-based GUI
  • Whisper, a Mac/Windows application framework
  • WxWindows, a framework which supports Windows 3.1/95/98/NT, and Unix with GTK/Motif/Lesstif, and MacOS
  • YAAF, Yet Another Application Framework, offering suport for Macintosh OS, Windows 95 and Windows NT, and X Windows
  • CPLAT, a framework for developing MacOS and Windows (Linux soon) applications
  • Ardi's Carbonless Copies technology, which is a portable rewrite of much of the MacOS API

For general information:

James Fassett
+1  A: 

There's also Java of course. It satifies all your requirements AFAICS. Plenty of custom charting controls, which are things you will struggle to find for GTK/WxWindows/$other_small_userbase_framework.

If you dont like Swing(its come a long way - Metal is dead, long live SystemDefault L&F!), there are options like SWT or even QT bindings for java(QTJambi).

For C or C++ go QT, its APIs are really nice.

dalyons
+2  A: 

I might suggest Mozilla XUL, but it has some drawbacks:

  • No really good development / debug environment (although there are tools and debuggers; they are variable)
  • You are locked into a vendor, but it is Mozilla.

It is very easy to use though and allows you to reuse your web Javascript skills for a rich-client app.

MarkR
+1  A: 

For RCAs check out Eclipse RCP. For RIAs, you might be interested in OpenLaszlo. It's a rich internet platform that can compile both to Flash and DHTML.

Sandman
+1  A: 

http://www.gnustep.org/

"GNUstep is a cross-platform, object-oriented framework for desktop application development. Based on the OpenStep specification originally created by NeXT (now Apple), GNUstep enables developers to rapidly build sophisticated software by employing a large library of reusable software components."

Portable to: Windows, BSD-based systems, Linux-based systems, HP/UX, , Solaris, Sparc, GNUstep Solaris 10 U2 vmware appliance, OpenSolaris, others.

micahwittman
+1  A: 

I recently made a pretty complete list here: http://commadot.com/ria-frameworks/

ExtJS is probably my favorite and we use that at work. I think it satisfies your list. Otherwise, there are a bunch of other possibilities on that page.

Glen Lipka