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).
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?
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?
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!
Thanks and looking forward to some helpful insight.