# Vaadin

Vaadin é um framework de código aberto para desenvolvimento de aplicações Web (RIA). Diferentemente de bibliotecas JavaScript e plugins para navegadores, Vaadin atua como uma arquitetura do lado do servidor, isto é, a maioria de sua lógica é executada no servidor. A tecnologia AJAX é utilizada no lado do cliente para assegurar uma experiência rica e interativa. No lado do cliente, Vaadin foi feito sobre e pode ser estendido com o GWT (Google Web Toolkit).

## Recursos

Um dos maiores recursos do Vaadin é a possibilidade de usar Java (utilizando a Java EE) como a única linguagem de programação para criar conteúdo web. O framework incorpora programação orientada a eventos e widgets, o que possibilita um modelo de programação similar à programação para GUI desktop, em contraste com o desenvolvimento web normalmente realizado com HTML e Javascript.
Vaadin utiliza o Google Web Toolkit (GWT) para renderizar a página resultante. Enquanto o GWT puro trabalha apenas no lado do cliente, ou seja, no mecanismo de Javascript do browser), o que pode levar a problemas de confiabilidade do JavaScript, Vaadin adiciona validação no lado do servidor para todas as ações. Isto significa que, se os dados do cliente estão com problemas, o servidor não os aceita.
Os componentes padrão do Vaadin podem ser estendidos com GWT widgets personalizados e com a utilização de temas CSS.

## História

O desenvolvimento se iniciou como uma adaptação feita sobre o framework open source Millstone 3, liberada em 2002. Ela introduziu um mecanismo de renderização e a comunicação com o cliente baseada em AJAX. Durante 2006, este conceito foi desenvolvido separadamente como um produto comercial. Como consequência disso, uma grande parte da API do lado do servidor do Vaadin ainda é compatível com as APIs semelhantes a Swing do Millstone.
No início de 2007, o produto teve seu nome mudado para IT Mill Toolkit e a versão 4 foi liberada. Ele utilizava uma implementação proprietária de AJAX para a renderização do lado do cliente, o que tornou mais complicada a implementação de novos componentes. No final de 2007, o lado do cliente proprietário foi abandonado e o GWT foi integrado sobre os componentes do lado do servidor. Ao mesmo momento, a licença do produto foi mudada para a Licença Apache 2.0. O lançamento oficial do IT Mill Toolkit 5 foi feito em 4 de março de 2009, após mais de um ano no qual a aplicação permaneceu em estado beta.
Em 11 de setembro de 2008, foi publicamente anunciado que Michael Widenius, o principal autor da versão original do MySQL, investiu na IT Mill, a desenvolvedora do Vaadin. A quantia não foi revelada.
Em 20 de maio de 2009, IT Mill Toolkit mudou seu nome para Vaadin para se tornar mais atrativo à comunidade. Este nome se origina da palavra finlandesa equivalente a corça ou, mais precisamente, a rena fêmea. Também pode ser feita a tradução do finlandês como "Eu insisto". Além da mudança do nome, foi feito o pré-anúncio da versão 6 junto à comunidade no web site.

## Concorrentes

Historicamente, Vaadin foi comparado aos frameworks Echo/Echo2 e ThinWire que também utilizam um modelo de programação no lado do servidor. Atualmente, Vaadin tem sido comparado mais frequentemente a frameworks como: Adobe Flex, Google Web Toolkit, Apache Wicket e ICEfaces. As APIs do lado servidor são bastante similares, provendo eventos e também componentes GUI, mas a interação com o lado cliente (browser) difere no sentido que Vaadin utiliza componentes programados em Java e widgets GWT, ao se comparar com as implementações do Echo e Thinwire que utilizam componentes implementados em JavaScript. Existe uma matriz de comparação no site do Vaadin.

## Veja também

* AJAX
* Aplicações de Internet rica (RIA)
* GWT - Google Web Toolkit
* Web 2.0