I am a big fan of the Dojo Toolkit but I see here often that there are Java frameworks that do the same thing but they are not as extensive or as user friendly as Dojo in my opinion.
What are the main differences?
Can I use Dojo for the GUI and Java as the back-end?
Is there a list of Java frameworks for web development?
views:
733answers:
7I dont think unless using Applets, java can do the same as javascript because they have different purpose. Even applets dont exactly do the same thing. Read this
Javascript is a completely different thing from Java
Javascript is intended for browser behaviour, Java is a complete different thing. Some Java Web frameworks use Dojo (like MyFaces) when rendering rich components and Java is in charge of the backend.
You can find many useful alternatives for Java Web Frameworks in stackoverflow
What Web Application Framework for Java is recommended?
I personally prefer Spring MVC but there are many options
I have found this library to fit my needs. I just need a server side back-end and it looks very lightweight.
You shouldn't compare Java and Dojo, they are quite different animals.
Dojo is a Javascript toolkit/library so you should rather compare it to ExtJS for instance.
And yes, you can use whatever js script you like in the HTML/jsp pages of your web application.
Regarding Java frameworks, first and foremost look into Spring.
It is quite possible to combine Dojo and a Java web framework. My company's application uses both Dojo and Spring MVC. The two technologies address different sets of problems. Dojo is a client-side framework for managing UI components (widgets), AJAX requests, and providing a browser-independent abstraction on top of JavaScript and the DOM. Spring MVC is a server-side framework that receives requests from the browser, provides entry-points into server-side business logic, and directs page flow through the application.
Having said that, there are other Java web frameworks that overlap some functionality that is also provided by JavaScript tools like Dojo. JSF with ICEfaces or RichFaces come to mind. In those models, the server (Java) has more direct control over how components are rendered and how their state is held. One explicit goal of RichFaces, for example, is to help developers who don't know JavaScript (or don't want to write it) develop AJAX applications. But I wouldn't say one approach is better than the other. They just focus on different developer audiences.