Reputation: 2495
I am a long time Java web applications developer, and in my experience there are 2 major approaches for building web applications.
The first approach, is to use technologies which go back and forth from the client to server like Struts, SpringMVC, JSF and so on.
The second is to use technologies which run mostly on the client like Flex, Swing (web start), JavaFX and so on.
I know these two approaches are going to stay here for a long time, and I know each has it's advantages and disadvantages.
I would really like to know when do you prefer to use each of them? What should I consider when choosing the one over the other?
Say whatever comes to your mind in terms of Security, application type, Stateless/Statefull, DB calls, or anything else.
It would be interesting to see what are the different aspects.
Upvotes: 0
Views: 370
Reputation: 11146
My advice would be to avoid plugins in all cases. Don't use the java, flash or silverlight plugins for web apps. You're setting yourself up for a world of hurt down the road. If you want to build a rich client, use something that generates javascript. If you like Java, use GWT. If Java is not your cup of tea, look at the javascript toolkits, like ExtJS, Dojo, Sproutcore.
The way I see the trade-offs:
Thin client (regular HTML):
Rich client (GWT or JS toolkit):
For my apps, I fall squarely into the rich client camp. But then I don't make apps for the "public" internet.
Upvotes: 1
Reputation: 30156
Basically the distinction is between that of 'thin' and 'fat' clients.
Some pros and cons of both
Fat Client
Thin Client
The advent of more powerful browsers like Chrome is blurring the boundary between the two though.
Generally speaking I would assume that the default would always be a thin html client based solution, with business logic on the server, unless requirements dictated otherwise (such as advanced multimedia or processing needs or specific UI look and feel design choices like animations)
Upvotes: 4