Status Update::
Planning Stage --
1.) Choosing the development language.
I was doing some more research into cross platform languages. The more I thought about it, the more a mistake it would be to select a language from a company that might go under in the future despite how good it might be. For that reason the language of choice needed to be C++.
So I'm looking into all the C++ compilers that are out there right now that are NOT Qt. My gripe with QT that I mentioned in previous posts is their lack of true Mac Os X Support and how difficult the compile process will get in the future (as I experienced already). Yes it will compile now, but will the source suddenly break when Apple comes out with a new O.S design? So compile stability is a MUST.
I'm only going to use these libraries for their GUI elements & 'maybe' there threading/socket interfaces after some research if they seem stable and well-written.
I'm open to suggestions. Key to my design strategy is as 'few' libraries as possible to reduce dependency problems and make it easy for new users to compile.
List of C++ GUI Alternatives
wxWidgets
http://wxwidgets.org/GTK+
FLTK
FOX
Ultimate++
JUCE
I got this list from
http://stackoverflow.com/questions/6559099/alternatives-to-qtCurrently investigating wxWidgets...
If anyone has other suggestions let me know.
EDITIt has come to my attention that web browsers are a cross platform GUI. In fact the ultimate one since it could be customized however you like and would be perfect for the market place. Not to mention it won't break with new updates!!
That said, I have experience in talking back and forth between the C++ application and the web browser and making sure it is completely CORS supported. (Without CORS support it will not allow connections to localhost). GAIA coin does something similar, and I added support a long time ago in my past work with Cloak.
To pull this off the only library I would need is a good 'socket' and 'thread' library (I'll use BOOST if necessary, that is what bitcoin uses right now) now & an easier way to load up the browser, unless everyone is okay starting the app seeing no GUI and then going to 127.0.0.1 in their browser...which I'll do I suppose for now.