I want to tell you about
Vaadin - a framework for developing web applications in Java. Yes, in Java these frameworks are a dime a dozen, but Vaadin stands out among them.
How is Vaadin different from other Java web frameworks?
In short, Vaadin allows you to write a Swing style web application:
import com.vaadin.ui.*; public class HelloWorld extends com.vaadin.Application { public void init() { Window main = new Window("Hello window"); setMainWindow(main); main.addComponent(new Label("Hello World!")); } }
It is considered an advantage, when using Vaadin, you have to program only in one language - Java, that is, do not bother with XML, JavaScript, Html, etc. and you can use all the powerful Java toolkit: refactoring, unit tests, stubs, etc. You write
new Label("Hello World!")
, And Vaadin himself is puzzled how to turn it into Html and JavaScript.
What is Vaadin to compare with?
A similar concept is used in the
GWT ,
Wicket and
Tapestry . Personally, Wicket seems to me less convenient, because there you have to maintain two files: the Java class and the corresponding HTML file, and they must be synchronized with each other. There is no synchronization problem in Vaadin.
')
The concept of GWT is almost the same as in Vaadin: you write code only in Java. Only GWT translates your Java code into JavaScript. Difficulties begin when it is necessary to handle an event coming from the browser (for example, handling button clicks or form submissions). In order to call the code on the server side from the generated JavaScript code, you need to make several magical passes: create an abstract factory class, its implementation, etc.
Vaadin saves you from these problems. By the way, Vaadin actually uses GWT, so it can even be considered an add-on over GWT, which solves the problems of communicating with the server. You just write Listener:
Button thebutton = new Button ("Do not push this button"); thebutton.addListener(new Button.ClickListener() { public void buttonClick(ClickEvent event) { thebutton.setCaption ("Do not push this button again"); } });
And Vaadin already resolves what requests to send from the server to the client and back, so that this code will be offered when the user presses the button.
As you can see, Vaadin is really different from
most popular web frameworks such as Spring, Struts, Play! etc.
Documentation
When someone wants to learn a new framework, he usually reads some documentation. In this regard, Vaadin has everything in order, documentation is plentiful. Such quantity and quality of documentation is rarely seen among OpenSource projects:
Here is
Here is such a wonderful framework from Finnish guys. It remains to add that Vaadin can be used in conjunction with
Maven ,
Google App Engine , etc. Also, you can write your own components (Add-ons) for Vaadin, which users are actively doing.
There is a complete list of components, where you can see, touch and download.
And if you want to see examples of sites built on Vaadin, then here they are:
A more complete list is
on the site .
And finally, it is worth adding that their emblem and slogan just fall in love with themselves:
Thinking of U and I. Charming.
Good luck!