Win a copy of Rust Web Development this week in the Other Languages forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Junilu Lacar
  • Rob Spoor
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Tim Moores
  • Jesse Silverman
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Al Hobbs
  • Piet Souris
  • Frits Walraven

How to choose between UI Frameworks/Toolkits

 
Ranch Hand
Posts: 120
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Ranchers,

Could you please share your thoughts on selecting appropriate tool/framework for a given scenario? I feel this is really confusing....

1)JSF & Servlet
2)JSP & Servlet
3)Java FX
4)Swing
5)AWT
6)SWT

Thanks,
Raghu
 
Bartender
Posts: 11445
19
Android Google Web Toolkit Mac Eclipse IDE Ubuntu Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Could you please share your thoughts on selecting appropriate tool/framework for a given scenario?


The only appropriate answer is "Select the correct tool for the job" In other words what are the requirements?
 
Bartender
Posts: 3648
16
Android Mac OS X Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Swing, AWT and SWT = Desktop GUI

JSP & Servlet = typical web app with "simple" UI (JSP), logic in servlets

JSF = complex/fancy UI interaction (code behind are called manage bean rather than servlet and such beans are models not controller; FacesServlet is the JSF controller)

JavaFX = hmm app for both web and desktop (that was the original goal I recall)
 
Sheriff
Posts: 67618
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

K. Tsang wrote:JSF = complex/fancy UI interaction ....


Differing opinion: JSF = Rube Goldberg machine to do something that's relatively simple in the most complex fashion possible by trying to force an incompatible model onto the web. Also, a mastodon caught in the tar pits, stinking of extinction.

JavaFX = hmm app for both web and desktop (that was the original goal I recall)


JavaFX is not for web apps.

But yes, without the "given scenario" it's impossible to make any sort of recommendation.

And if it's a web app, you left off the most modern choice: REST API with JavaScript SPA (but I assume you're limited to Java by the certification?)
 
Raghavendra Desoju
Ranch Hand
Posts: 120
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Bear,

(but I assume you're limited to Java by the certification?


Yes, this is with reference to OCMJEA certification.

Thank you all for sharing your thoughts.

Regards,
Raghu
 
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Raghavendra Desoju wrote:Hi Ranchers,

Could you please share your thoughts on selecting appropriate tool/framework for a given scenario? I feel this is really confusing....

1)JSF & Servlet
2)JSP & Servlet
3)Java FX
4)Swing
5)AWT
6)SWT

Thanks,
Raghu



As other have said, the requirements will drive the right choice. However, these are my opinions:

JSF (without servlet) = use 2.x version (no ver. 1.x), when you expect low number of users and you are dealing with management interface. Oracle guarantee backward compatibility, and many vendors offers their "Faces" on top of JSF, which bring you lot of nice things, including AJAX and Responsiveness. You are also kept safe from cross site scripting and all such kind of attacks.
JSP & Servlet = only for simple interface or specific pages with graphs, data, etc... lot of extra coding is expecting you, to cover all the aspects that other framework are offering out of the box. All the AJAX things for example.
JavaFX = It is now part of JDK, but the whole project seems a bit stale. Use it for fat client or rich interfaces.
Swing, AWT, SWT = When you need a Fat client or a standalone program these are the alternatives. SWT however is not a standard by Oracle.

Then as other have mentioned:
JS + Rest API = there's a lot of framework offering this. This approach although good, requires good architects, and good developer. In these months I am seeing many projects failing on lot of aspects: security, vulnerability, and mostly scalability and performance degradation.
 
Ranch Hand
Posts: 531
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Raghavendra Desoju wrote:Hi Ranchers,

Could you please share your thoughts on selecting appropriate tool/framework for a given scenario? I feel this is really confusing....

1)JSF & Servlet
2)JSP & Servlet
3)Java FX
4)Swing
5)AWT
6)SWT

Thanks,
Raghu



Hi, Raghu - by knowing them well. A framework has a set of features, you should know what those features are, be able to legibly compare between frameworks, and be able to reason why this or that framework is a) better for the problem at hand, and b) easier/more productive to develop in and to use within the application.

Most modern frameworks are pretty good; however, I would say in terms of productivity you want a component-based framework or - and one has to be attentive here - an MVC framework with a suite of AJAX-enabled components at hand so it effectively functions as a component-based framework.

In that regard, the easiest thing to use would be Servlets, JSP and a client-tier AJAX-enabled framework like JQuery, or something similar but with a robust set of UI components already built in (Sencha, Telerik for JSP, etc.). Probably the most lightweight setup of all should win.

This is what the framework should not be: heavy, unwieldy and unscalable. If you avoid those, the rest of the choices come down to ease of development and productivity.

Hope I was helpful.

With best regards,

Anton.
 
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic