Глава 1. Введение
В этой главе мы ознакомимся с разработкой приложений при помощи Vaadin, его установкой, интеграцией в Eclipse и другими необходимыми и\или удобными утилитами. Мы рассмотрим философию дизайна Vaadin, его историю и последние существенные изменения.
1.1 Обзор
Основную часть Vaadin составляет Java библиотека, которая разработана для облегчения создания и управления высококачественного пользовательского веб-интерфейса. Основная цель Vaadin - позволить Вам забыть о веб и позволить разрабатывать пользовательский интерфейс так, как будто Вы создаете Java desktop приложение при помощи стандартных библиотек AWT, Swing или SWT, но еще проще.
Традиционное веб-программирование - отличный способ потратить свое время на изучение новых веб-технологий, но вы, вероятно, хотите быть продуктивным и сосредоточиться на логике приложения. При помощи сервер-ориентированной модели программирования, Vaadin берет на себя заботу управлением пользовательским интерфейсом в браузере и Ajax-коммуникациях между браузером и сервером. Если Вы будете использовать Vaadin, Вам больше не потребуется глубоко изучать и отлаживать(debug) такие технологии как HTML и JavaScript.
Рисунок 1.1. Базовая архитектура Vaadin

Рисунок 1.1, “Базовая архитектура Vaadin” иллюстрирует простейшую архитектуру веб-приложения, созданного при помощи Vaadin. Vaadin состоит из server-side фреймворка и client-side engine, который запускается в браузере как JavaScript приложение, которое рендерит пользовательский интерфейс и передает пользовательские действия на сервер. As the application runs as a persistent Java Servlet session in an application server, you can easily bind your application to data and logic tiers.
Так как HTML, JavaScript и другие браузерные технологии по существу невидимы для логики приложения, Вы можете думать о браузере как о тонком клиенте. Тонкий клиент показывает пользовательский интерфейс и взаимодействует с пользовательскими событиями на низком уровне на стороне сервера. Логика управления пользовательским интерфейсом запускается на Java-based веб-сервере вместе с бизнес логикой Вашего приложения. в противоположность этому, обычная клиент-серверная архитектура будет содержать достаточно много специфичных для приложения взаимодействий между клиентом и сервером. Удаление слоя пользовательского интерфейса из архитектуры приложения делает наш подход очень эффективным.
Так как Client-Side Engine запускается как JavaScript, необходимости плагинов для использования приложений, созданных при помощи Vaadin, нет. Это дает важное преимущество перед другими фреймворками, основанными на Flash, Java Applets или других плагинах. Vaadin опирается на поддержку GWT для широкого диапазона браузеров, так что разработчику не нужно самому беспокоиться о поддержке браузеров.
Кроме возможности разработки по server-driven модели, Vaadin также наилучшим способом использует технологию AJAX(Asynchronous JavaScript and XML), которая позволяет создавать Rich Internet Applications (RIA). Если вы незнакомы с AJAX, ознакомьтесь с Section 3.2.1, “AJAX”, чтобы понять что это такое и чем AJAX отличается от обычных веб приложений.
Для рендеринга пользовательского интерфейса Vaadin использует GWT, Google Web Toolkit, который очень хорошо спрятан. GWT программы пишутся на Java, но компилируются в JavaScript, это освобождает разработчика от изучения JavaScript'а и других браузерных технологий. GWT идеально подходит для создания самых сложных компонентов пользовательского интерфейса(так называемые виджеты в терминологии GWT) и логики взаимодействия с браузером, в то время как Vaadin заботится о логике самого приложения на стороне сервера. Vaadin расширяем, и Вы легко можете использовать любые сторонние GWT компоненты в дополнение к тем, которые предоставляются Vaadin. Использование GWT также означает, что весь необходимый код можно писать используя только Java.
Библиотека Vaadin проводит четкое разделение между представлением пользовательского интерфейса и логикой приложения, что позволяет Вам создавать темы отдельно. Темы контролирую внешний вид пользовательского интерфейса при помощи CSS и (опционально) HTML шаблонов. У Vaadin есть отличные встроенные темы и Вам не придется часто и много кастомизировать, но хорошо, когда есть возможность. Более подробно о темах в Chapter 8, Themes.
Думаем для начала достаточно об архитектуре и возможностях Vaadin. Вы сможете прочитать о них больше в Chapter 3, Architecture или перейти прямо к практической части Chapter 4, Writing a Web Application.
Очень познавательно. А продолжение будет?
ОтветитьУдалить