Java → Vaadin Framework

Отличия этого фреймворка от GWT очень значительные. И клиентская часть и серверная пишутся на java, только отсутствуют ограничения по использованию JRE (в GWT можно было использовать лишь малую часть всех возможностей java). И при этом у нас абсолютно не существует никаких ограничений на стороне сервера, вы можете использовать всю мощь java (EJB,JSP/servlet, JAAS и тонны других полезных технологий). Ну хватит слов, пора уже к делу переходить.
Сегодня, как водится, я расскажу как все настроить для работы с Vaadin, и напишем hello world приложение.
Итак начнем.
Я буду настраивать как водится среду Eclipse (Galileo) которую можно и нужно скачать вот
А дальше все делается исключительно внутри самого Eclipse. (конечно если очень хочется то можно на официальном сайте скачать
1) Добавляем в эклипс репозиторий Vaadin (адрес
2) Устанавливаем появившиеся пакеты.
Следующий шаг — нам потребуется контейнер сервлетов — вы можете использовать ваш любимый, а я свой —

далее указываем путь до сервера (CATALINA_HOME — папка bin от tomcat).
Все теперь остается создать новый проект.
Выбираем — New — Project — Other — Vaadin.
Делаем имя для проекта, в качестве Runtime указываем только что созданный Apache Tomcat.
Кликаем по кнопке Download.

Выбираем последнюю доступную версию. После этого eclipse загрузит файл
vaadin-6.1.5.jar
После установки, можно начинать «творить».
package com.example.testvaadin;
import com.vaadin.Application;
import com.vaadin.ui.*;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
public class TestvaadinApplication extends Application {
@Override
public void init() {
final Label hello = new Label("Hello, %username%");
hello.setVisible(false);
Window mainWindow = new Window("My new web 2.0 application with vaadin");
Panel rootPanel = new Panel("<h1 align='center'>My First Vaadin Application</h1>");
rootPanel.setSizeFull();
Button clickMe = new Button("Say, Hello world!");
clickMe.addListener(new ClickListener()
{
public void buttonClick(ClickEvent event)
{
hello.setVisible(!hello.isVisible());
}
});
rootPanel.setSizeFull();
rootPanel.setContent(new VerticalLayout());
rootPanel.addComponent(hello);
rootPanel.addComponent(clickMe);
mainWindow.addComponent(rootPanel);
setMainWindow(mainWindow);
}
}
нажимаем run on server и видим следующую картинку:

Вот так. Сами поэкспериментируйте с виджетами, но учтите, что нужно постоянно чистить кеши tomcat`a, иначе будут сложности (сделать это можно в свойствах сервера «Clean Tomcat Work Directory»).
- +10
- sidney3172
- 29 ноября 2009, 10:33
Меня интересует именно сам процесс программирования на практике, т.к. ресурсов у сервера в любом случае будет сожрано в разы больше. Изолированность кода от конкретной реализации пользовательского интерфейса — это конечно хорошо, но в конкретных проектах зачастую не столь важно.
Поэтому эти фреймворки не призваны решать задачи такие как личный сайт — визитка или блог или ещё что-то подобное и их использование в данной сфере действительно не рентабельно.
Это уже стало парадигмой современного программирования.
Очень весело смотреть на клиетов, которые приходят с ерундовой задачей, для решения которой хватило бы и старенького офисного ПК, а им говорят: мы сейчас вам быстренько все сляпаем на самых современных технологиях (JEE и т.п.), но штука это серьезная и требует много ресурсов, поэтому приготовьтесь покупать несколько хороших серверов под кластер и оплачивать развертывание системы помимо самой разработки. Да, на разработку времени будет потрачено меньше, но ресурсы тоже стоят денег.
А в целом согласен, что нынче и сайт-визитку хотят сделать с помощью клауд-вычислений, глупости, но что поделаешь :)
Если человеку нужен сайт визитка — php ему в помощь!:)