Содержание
ВВЕДЕНИЕ 3
ПОСТАНОВКА ЗАДАЧИ 5
Глава 1. Инструментальные средства 6
1.1. Язык программирования 6
1.2. Среда разработки 7
1.3 Git 8
Глава 2. Использованные технологии 9
2.1 Фреймворк Google Web Toolkit 9
2.1.1 Общие сведения 9
2.1.2 Подмножество языка 11
2.1.3 Типы данных 11
2.1.4 Многопоточность и синхронизация 11
2.1.5 Регулярные выражения 12
2.1.6 Сериализация 12
2.2. Шаблон проектирования MVP 13
2.3. Фреймворк Activities and Places 15
2.4. Фреймворк GWT RPC 17
2.5. JavaScript Native Interface 20
2.6. Фреймворк UiBinder 21
2.7. AJAX 22
Глава 3. Описание созданного приложения 25
3.1. Взаимодействие с сервисами 25
3.2. Архитектура и структура web-приложения 28
3.2.1 Паттерн проектирования MVP с Activities and Places 28
3.2.2 View 30
3.2.3 Activities 32
3.2.4 Places 33
3.3. Описание функционала web-приложения 34
3.4. Сравнение с аналогами 40
3.5. Проблемы и способы решения 43
ЗАКЛЮЧЕНИЕ 46
СПИСОК ЛИТЕРАТУРЫ 47
Приложения должны быть в работе, но в данный момент отсутствуют
Существует очень много хороших книг. Но имеем ли мы возможность собрать их все у себя дома? Конечно же, нет. Оказавшись у полок книжного магазина, для многих является проблемой то, что список всех выбранных книг, намного шире возможностей и покупка не всегда может оказаться удачной. А вдруг новый роман, который так хвалили знакомые, окажется скучным? Или в домашней библиотеке уже не хватает свободного места, а прочитать новинку хочется. Вопросы, касающиеся решения этой проблемы является актуальным.
Данная работа посвящена созданию клиентской части веб-приложения «Библиотека», в котором пользователь сможет выбрать и заказать книги для прочтения напрокат, а потом уже забрать сформированный заказ в пункте выдачи. Вернув прочитанные книги, пользователь сразу может выбрать любые другие, а если книга понравилась, и ей нашлось место в домашней библиотеке, то может просто оставить ее у себя, так как прокат производится по полной предоплате, а при возврате часть суммы возвращается.
Несмотря на большое количество разработок в области, подобного сервиса проката еще нет в Казани. Так же актуальность работы определяется применением передовых решений в области web-разработки и интеграцией технологий друг с другом.
Предметом исследования является применение технологии Google Web Toolkit в разработке клиентской части web-приложения на языке Java. Применение данной технологии позволит разработать кросс-браузерное приложение соответствующее принципам AJAX(Асинхронный JavaScript и XML) без углубленного изучения JavaScript. Сама разработка с GWT будет осуществляться эффективней, чем на AJAX в силу сокращения кода и отсутствия нужды в сериализации/десериализации. Будет обеспечена расширяемость интерфейса приложения, что возможно при правильном подборе архитектуры.
Практическая значимость разработки веб-приложения «Библиотека» заключается в возможности внедрения его в бизнес-проект.
ПОСТАНОВКА ЗАДАЧИ
Целью данной дипломной работы является реализация пользовательского интерфейса веб-приложения —Библиотека!! на языке Java, с применением Google Web Toolkit.
Задачами дипломной работы в связи с указанной целью являются:
• изучить фреймворк Google Web Toolkit для разработки веб-приложений на языке Java,
• обсудить с заказчиком требования к конечному продукту,
• выбрать инструменты разработки,
• выбрать шаблон проектирования пользовательского интерфейса,
• продумать взаимодействие клиентской и серверной части,
• обеспечить поддержку истории браузера,
• создать дизайн приложения,
• разработать веб-приложение.
В ходе выполнения задания были решены все поставленные задачи. Технологии, которые применялись при написании клиентской части веб-приложения, были изучены довольно глубоко. Полученные знания в будущем могут быть применены для написания веб-приложений в любой предметной области.
Что же касается самого приложения, то разработанный продукт полностью готов к эксплуатации. Так как при реализации применялись новейшие технологии, которые заметно расширяют возможности разработчика, то веб-приложение максимально отзывчиво и обладает широким функционалом. Сайт имеет приятный дизайн, максимально приближенный к спектру выбранной области.
В будущем можно расширить функционал, добавив оплату картой, улучшив панель администратора и возможность уведомлять читателей об истечении срока аренды по sms. Также возможно расширить веб-приложение до мобильной версии, что не составит проблем, так как использован подходящий шаблон проектирования. Однако все эти возможности выходят за рамки настоящей дипломной работы, являются лишь его расширением.
1. Маншин, Т.И. Современные Java-технологии на практике /Т.И.Маншин. - СПб.:БХВ-Петербург, 2010. - 560с.
2. Маншин, Т.И. Google App Engine Java и Google Web Toolkit. Разработка Web-приложений/Т.И.Маншин. - СПб.:БХВ-Петербург,
2014. - 352с.
3. Google Web Toolkit Принимая на себя страдания Ajax Эдд Бернед [Электронный ресурс]: перевод. URL:
http ://masters.donntu. org/2011/fknt/gkarpunov/library/gkarpunov_gwt_pragm atic.pdf.
4. Введение в MVP GWT 2.1 [Электронный ресурс], 2011. URL: https://habrahabr.ru/post/113121/
5. Spring Security GWT Integration [Электронный ресурс], 2014. URL: http ://tech. lalitbhatt. net/2014/08/spring-security-gwt-integration. html
6. Ajax для разработчиков Java: Часть 4. Работа с Google Web Toolkit [Электронный ресурс], 2007. URL:
https://www.ibm. com/developerworks/ru/library/j -aj ax4/
7. Martin Fowler — GUI Architectures. Часть 1 [Электронный ресурс], перевод, 2009. URL: https://habrahabr.ru/post/50830/
8. Martin Fowler — GUI Architectures. Часть 2 [Электронный ресурс], перевод, 2009. URL: https://habrahabr.ru/post/53536/
9. Martin Fowler — GUI Architectures. Часть 4 [Электронный ресурс], перевод, 2009. URL: https://habrahabr.ru/post/53943/
10. Использование UiBinder для декларации виджетов в GWT [Электронный ресурс]. URL: http://y3x.ru/2014/11/use-uibinder-gwt/
Дата обращения к электронным ресурсам: 01.05.2016.