Vaadin framework  drukuj

Autor: Lukasz Matyja
Tagi:

Vaadin to framework przeznaczony do budowy graficznego interfejsu użytkownika dla aplikacji internetowych tworzonych z wykorzystaniem języka Java. Całe rozwiązanie oparte jest o Google Web Toolkit (GWT). Paleta gotowych komponentów jest dość szeroka, można w niej znaleźć m.in. kontrolki do obsługi kalendarza, tabel, do budowy menu itp. jeśli jednak okazało by się to niewystarczające można utworzyć własny komponent.

Na stronie projektu dostępny jest plugin dla środowiska Eclipse. Opisany w dalszej części przykład został wykonany właśnie z wykorzystaniem tego pluginu.

Konfiguracja

Struktura projektu wykorzystującego framework Vaadin nie różni się praktycznie niczym od zwykłej aplikacji internetowej wykonywanej za pomocą Javy, nie ma żadnych zbędnych plików i katalogów, które niekiedy potrafi wprowadzić sporo zamieszania.

W pliku web.xml zdefiniowany został m.in. serwlet obsługujący żądania, jego parametr inicjujący zawiera identyfikator klasy, na podstawie której zostanie wygenerowany pierwszy widok (zaraz po uruchomieniu aplikacji). Sama klasa serwletu jest częścią frameworka Vaadin. Domyślnie włączony jest tryb debagowania.

<context-param>
  <description>Vaadin production mode</description>
  <param-name>productionMode</param-name>
  <param-value>false</param-value>
</context-param>

<servlet>
  <servlet-name>Simplevaadinexample Application</servlet-name>
  <servlet-class>
    com.vaadin.terminal.gwt.server.ApplicationServlet
  </servlet-class>
  <init-param>
    <description>Vaadin application class to start</description>
    <param-name>application</param-name>
    <param-value>pl.espeo.example.MainWindow</param-value>
  </init-param>
</servlet>

Przykładowa aplikacja

Każda aplikacja wykorzystująca framework Vaadin musi posiadać klasę, która dziedziczy po klasie Application i implementuje metodę init(). W tworzonej aplikacji tą rolę pełni klasa VaadinApp, dodatkowo został wykorzystany interfejs ClickListener do obsługi zdarzeń obiektu Button.

public class VaadinApp extends Application implements ClickListener {

 private Window mainWindow;
 private Window subWindow;
 private Button closeButton;
 private Label label;

 @Override
 public void init() {
 mainWindow = new Window("Main window");
 createSubWindow();
 mainWindow.addWindow(subWindow);
 setMainWindow(mainWindow);        
 }

//...
}

W metodzie init() stworzone zostało główne okno programu stanowiące kontener dla pozostałych elementów graficznego interfejsu użytkownika.

 private void createSubWindow() {
   VerticalLayout layout = new VerticalLayout();
   layout.setSpacing(true);
   layout.setMargin(true);    

   label = new Label("Window content");
   closeButton = new Button("Close");
   closeButton.addListener(this);

   layout.addComponent(closeButton);

   subWindow = new Window("Window");
   subWindow.addComponent(layout);
   subWindow.center();
   subWindow.setClosable(false);
 }

 @Override
 public void buttonClick(ClickEvent event) {
   mainWindow.removeWindow(subWindow);
 }

Metoda buttonClick pochodzi z interfejsu ClickListener, jej wywołanie powoduje usunięcie okna z okna głównego aplikacji.

Podsumowanie

Vaadin framework stanowi ciekawą alternatywę dla tworzenia tradycyjnego tworzenia widoków – za pomocą jsp, html css itd. W końcu cała aplikacja może być napisana w Javie.

Sposób implementacji poszczególnych elementów jest bardzo podobny do Swinga co moim zdaniem należy uznać za duży plus. Wydaje mi się, że Vaadin świetnie sprawdziłby się w mały i średnich projektach.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.
Wymagane jest wypełnienie pól oznaczonych symbolem *.

*


Poleć znajomemu



* - pola wymagane