views:

73

answers:

1

I would like to write a GUI application for management of information (text documents). In more details, it should be similar to the TiddlyWiki. I would like to have there some good visual effects (like nice representation for three structures, which you can rotate, some sound). I also would like to include some communication via Internet (for sharing and collaboration). In should include some features of such applications as a web browser, word processor, Skype.

Which programming language should I use?

I like the idea of usage of JavaScripts (like TddlyWiki). The good thing about that, is that user should not install anything. They open a file in a browser and it works! The bad thing is that JavaScript cannot communicate via internet with other applications.

I think the choice of the programming language, in my case, id conditioned by 2 things:

  1. What can be done with this programming language (which restrictions are there).

  2. How easy to program. I would like to have "block" which can do a lot of things (rather than to program then and, in this way, to "rediscover a bicycle")

ADDED:

I would like to make it platform independent.

+1  A: 

There is no simple solution in 2010.

If you want to make your GUI platform independent, you have these options:

  1. Run it as a JavaScript application inside the browser with a server running a program + database you like. Hard to get to work but the most simple solution for your users. There are good editors like CKEditor but they use HTML underneath, and sometimes, they are slow or weird. Also, they are absolutely unsuited for large amounts of text.

  2. Use Java. Java is available for many platforms but not all. It comes with an UI framework called Swing that could be better. Java offers a huge set of frameworks and libraries. Most are free to use but it will take some time for you to select the best ones in your case. Plus: So far, there are no good text editor components in Java. So you either have to buy one or you must live with some ... oddities.

  3. Use .NET/Mono. Not available right away for many platforms but you can find binary installers for Mono for the major ones (Linux and Mac) and Mono is available as source, so your fans can build versions for their favorite OS themselves. There are pretty good editor components for .NET but almost everything for .NET is either not free (as in freedom) or costs money.

Aaron Digulla