It seems like I always have an internal struggle when it comes to the user interface. I am building an engine application and tend to put off the user interface after I get my algorithms. Then I go back and forth, trying to decide how to allow the user to interact with my program. Personally, I am a fan of the command line, but I can not expect my users as a whole.
I really like what is possible in the browser in the era of web 2.0 and ajax. On the other hand, it’s not so difficult to make the Swing interface, and you can generally count on a more consistent presentation for the user (although using a good javascript structure like YUI or jQuery is very important for normalizing browsers).
Obviously, both approaches have their advantages and disadvantages. So, what criteria / settings / situations should motivate me to use a lightweight (e.g. web-based) graphical interface? What criteria / parameters / situations should encourage me to use a heavier (e.g. Swing-based) graphical interface?
I do not intend to start a fiery war, just interested in the constructive / objective opinions of the community.
Edit # 1 In the light of the first few answers, I would like to clarify that I would like to deploy my application regardless of whether it should be hosted on some kind of Internet server. So I would have to deploy a small a la Jetty / Tomcat web server infrastructure or the like.
java user-interface ajax swing
vicatcu
source share