If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Enjoy an ad free experience by logging in. Not a member yet? Register.

Which Technology should I use for developing a Rich GUI based desktop Application?

[Edited to post a more detailed version of my queries]

We are planning to make a commercial GUI based software (for both desktop and mobile) targeting individual users. The software would be database oriented allowing insertions, editing, and deleting records with complex linkups. We plan to have good web 2.0 like rich application features (Google like dynamic auto suggest, drag and drop, browser based look and feel etc) and lot of user controls (trees, grids, etc).

Technology

Wanted to know which is the best technology suited for such a software - We have currently zeroed on to Java or .Net! But as I understand, Java is mostly free and .Net is pretty expensive. Furthermore, for applications developed using .Net would require that end users have .Net Framework installed on their systems or it would prompt them to download it and that would be pretty cumbersome and I am sure that we cannot bundle .Net framework with our software package. But the same can be done for Java. We can package JRE with our software package, as I understand.

Cross Platform Support

Softwares created in Java are cross platform whereas same cannot be said of .Net applications. Furthermore with future Windows upgrade, Java based softwares would still continue to work whereas .Net applications might need tweaks. Am I correct in making the above assumption?

Database Backend

Since this software would have lots of database activities like inserts, edits, and reads and it would maintain anything from around 100 - 10000000 rows or more, we would need a proper database, not memory database. Such databases can be MySql, Postgresql, SQLite, Apache Derby (java db) and so on. But As I understand, if we bundle or use MySql commercially, then its commercial license applies and one has to pay royalities, etc. Postgresql does not run on FAT32 systems. What should we do? It has either to be postgresql, SQLite, Apache Derby, or someother suitable database. Is SQLlite recommended for desktop software applications? Mostly browsers and anti-viruses use them. Are there any records based software products using Sqlite? Are there other options out there?

Licensing Costs

What are licensing costs w.r.t development IDE, client tools/framework etc as well as royalty based costs associated with distribution of software considering that its either made in Java or .Net!

So far I have used only java, and I think it is really very modular having capabilities of connecting to databases and has many built in libraries for GUI applications.
Talking in respect to the web, java has a provision for connecting to any website, socket programming, manage cookies, etc.
You can go on with java or you can search for some other highly modular java like language.....
Hope this helps.....