[JavaBegin] Google Web Toolkit с нуля. Март 2019
Использование современного фреймворка для быстрой разработки веб приложений с динамическим интерфейсом и Ajax. Обновлен: март 2019 г.
Разработка веб приложений google web toolkit - создание Rich Internet Application на Java.
Динамические веб интерфейсы
Вы научитесь разрабатывать красивые и динамические
веб интерфейсы без знания JavaScript и других библиотек
Отправка ajax запросов на сервер
Программируйте только бизнес-процессы, не отвлекаясь на технологии, всю остальную работу за вас выполнит фреймворк.
Google Web Toolkit (GWT) - фреймворк от компании Google, который позволяет Java программисту создавать красивые веб приложения (Rich Internet Application).
Его популярность расчет с каждым днем благодаря его простоте и возможностям. Основной упор делается на разработку богатого клиентского интерфейса, взаимодействие с сервером с помощью Ajax запросов и многое другое.
Сравните показатели: для 9 расчетов в среднем удалось сократить суммарное время (примерно в 12,5 раз).
Какие преимущества вы получаете?
Это, прежде всего - программирование только на Java. Плюс нужно уметь создавать HTML страницы с подключенными CSS файлами (обычно это делает специальный дизайнер).
Вам не нужно уметь программировать на JavaScript, создавать Ajax запросы и делать то, что не любят многие Java программисты.
Всю черновую работу на себя берет фреймворк.
Как только вы попробуете эту технологию - она вам понравится своей простотой и понятностью.
Если существуют другие технологии, зачем изучать GWT?
На самом деле, часто бывает так, что на GWT разработать красивое веб приложение можно намного быстрей, чем, например на Java Server Faces или JSP.
Все зависит от задачи, требований. Если вам нужно быстро разработать клиент-серверное приложение с динамическим интерфейсом для клиента , то GWT - одно из лучших решений.
Ключевые слова, которыми можно охарактеризовать этот фреймворк - простота, легкость, понятность. К тому же, вы можете связать GWT например со Spring Framework, Hibernate и пр. - и получить отличную связку технологий.
Основной принцип разработки приложения на GWT - создание клиентского интерфейса в стиле desktop приложения - это значит обычные компоненты, палитра, форма, куда можно перетаскивать элементы, события. Вы как будто разрабатываете не веб приложение, а обычное приложение для windows.
Весь интерфейс строится легко и понятно, но в конечном итоге у вас получается красивое веб приложение. Если вам такой принцип нравится больше, значит GWT - ваш выбор!
Одно время, после JSF, я сильно удивлялся, как же все-таки легко и быстро можно создавать веб интерфейсы в GWT. В JSF такая же задача занимает намного больше времени, потому что нужно знать специальные теги и атрибуты.
Вам не нужно подключать дополнительно фреймворки типы jQuery, Dojo - весь функционал по JavaScript вы будете создавать в обычном Java коде.
Главные особенности разработки на GWT
- Кроссбраузерность
- Создавайте веб приложение, которое будет работать во всех современных браузерах
- Ajax запросы
- Все запросы на сервер проходят в фоновом режиме с помощью Ajax технологии
- Готовые компоненты
- Существует большое количество готовых компонентов на все случаи жизни - просто берите и используйте
- Интеграция
Чтобы понять перспективность технологии - нужно посмотреть, кто ее использует. На данный момент GWT используют многие крупные компании, которые обслуживают миллионы людей по всему миру. Например, веб интерфейс всем известного приложения Evernote - написан на GWT.
Вы можете создать себе бесплатный аккаунт и посмотреть интерфейс в деле. На самом деле у этого веб проекта большой функционал и он обслуживает миллионы людей по всему миру.
Многие собственные проекты Google написаны на GWT, которые также имеют высокую нагруженность: Google Adwords - создание контекстной рекламы, Googel Wallet - онлайн оплата и многие другие.
Готовые библиотеки компонентов
Как обычно - помимо стандартных компонентов существует большое количество дополнительных библиотек компонентов, которые вы можете просто брать и использовать.
Многие из них - очень функциональные и красивые.
Вы можете подобрать компоненты на все случаи жизни: графики, карты, различные кнопки, окна загрузки, меню и многое другое...
Начальные знания?
Что нужно знать перед началом изучения GWT
Список требований небольшой:
- - ООП (желательно, для профессионального кода)
- - HTML (создание веб страниц)
- - CSS (установка стилей для компонентов)
Нужно ли знать javascript и ajax?
Одно из главных преимуществ GWT - вам можно вообще не заботиться как работает JavaScript, как выполняются Ajax запросы и пр. Фреймворк берет на себя всю черновую работу.
Ваша задача - создание кода, реализация бизнес процесса на Java.
Мне например такой подход нравится больше, я не очень люблю JavaScript из-за его сложности в программировании и отладке.
Намного легче создавать код в Java, который потом будет транслироваться в нужный JavaScript код.
Поддержка всех браузеров
Все приложения, написанные на GWT - работают в любом современном браузере. Опять же, все работу делает фреймворк, вам не нужно заботить о том, будет ли работать ваше приложение в Google Chrome или Safari.
Во время компиляции GWT создает специальные версии для каждого из браузеров и сам подставляет нужные файлы, когда получает клиентский запрос.
Для вас это все будет незаметно, вы работает только со своими задачами - всю рутину за вас выполняет фреймворк.