Содержание 1
Введение 3
Актуальность 6
Постановка задачи 7
Глава 1. Архитектура - серверного приложения 8
1.1 Двухзвенная клиент - серверная архитектура 10
1.2 Трехзвенная клиент - серверная архитектура 11
1.3 Преимущества клиент - серверной архитектуры 12
Глава 2. Описание приложения 19
2.1 Серверная часть приложения 20
Глава 3. Реализация 23
3.1 Соединение пользователей 23
3.2 Создание игры 24
3.3 Генерация лабиринта 25
3.4 Обработка шага 30
3.5 Определение победителя 36
3.6 Дополнения лабиринта 37
Глава 4. Статистика 45
4.1 Структура базы данных 45
Глава 5. Технологии 47
5.1 Объектно-ориентированное программирование 47
5.2 Среда разработки 48
5.3 Язык программирования 50
Заключение 52
Список литературы 54
Листинг 55
Мобильные технологии в наше время активно развиваются. Это обусловлено тем, что мобильные устройства удобны и практичны в использовании. Разнообразные приложения и сервисы предоставляют всевозможную актуальную информацию, позволяют обмениваться данными и пользоваться ими в любое время и в любом месте. Разблокировав экран смартфона, можно узнать погоду, курс валют, новости, узнать о дорожной ситуации в городе, следить за деятельностью любимых артистов, сделать он-лайн покупку и многое другое.
Одной из самых популярных операционных систем для мобильных устройств является Android. Если обратиться к статистике, то по последним подсчетам около 82% владельцев смартфонов пользуются платформой Android. Более 70% используют скаченные приложения, из которых только 34% - мобильные игры, остальная часть - это разного рода приложения и социальные сети. Примерно половина людей через мобильные телефоны заходят на сайты.
Различают три вида мобильных приложений: нативные, гибридные и веб-приложения.
• Нативная (native) разработка ведется под определенную платформу - Android, iOS, Windows и т.д. Приложения написаны на нативных языках, принятых разработчиками конкретной платформы. Например, Java в под Android или Objectiv C в случае iOS. Такие приложения можно скачать только в официальных магазины вроде Google Play или App
Store. Главное преимущество нативных приложений в оптимизации под конкретную операционную систему, а значит они работают быстро и стабильно. Можно использовать весь функционал, предоставленный операционной системой. Некоторые нативные приложения могут работать без интернет-соединения, а значит ими можно пользоваться независимо он качества связи. С точки зрения безопасности нативные приложения надежнее и реже подвергаются взлому, так как перед публикацией их шифруют и скрывают реализацию. Главный недостаток разработки - сложность, трудоемкость, большие временные затраты и высокая квалификация персонала, так как приходится писать отдельное приложение под каждую другую платформу.
• Веб - приложение - это, как правило, мобильная версия веб¬сайта. Реализацию можно сравнить с разработкой адаптивной версии сайта, за исключением того, что приложения могут быть размещены в официальных магазинах, потому что оболочка является нативным продуктом, но качество будет заметно отличаться. Веб - приложения кроссплатформенные, не требуют больших ресурсов по времени и стоимости. Это их главные плюс.
• Гибридное приложение - нечто среднее между нативным и
веб-приложением. Качество и функционал зависят от методов разработки и поставленных целей приложения. К недостаткам относят : ограничение объема данных, хранимых системой, дополнительная реализация под другие платформы, сложный процесс оптимизации.
Выбор типа мобильного приложения зависит от целей разработки, аудитории, нагруженности и т.п. Если требуется высокая скорость, использование таких вещей как камера, оперативная память, bluetooth, wi-fi, данные о геопозиции и гарантия безопасности то продукт должен быть нативным. Если у потенциальных клиентов всегда будет доступ к высокоскоростному интернету или функционал приложения минимален, например только просмотр данных, то можно обойтись и веб- приложением.
Перед началом разработки составляется техническое задание, которое содержит подробный план работ, в деталях описана функциональная часть приложения, его спецификация и оценены риски проекта. На основе этого документа идет работа над приложением. Как правило, сначала проектируются дизайн и запускается в тестовом режиме минимальная жизнеспособная версия, чтобы проверить реакцию пользователей. В результате серии тестов и необходимых доработок получается рабочая версия приложения, которую продолжают тестировать на различных видах устройств. После исправления всех ошибок приложение готово к использованию и может быть загружено в магазин. Далее осуществляется техническая поддержка для выпуска обновлений или на случай возникновения непредвиденных ошибок и необходимости их своевременного устранения.
На рынке приложений и мобильных игр быть в топ скачиваемых программ сложно и удается не всем. Ежедневно загружаются сотни новых приложений, которые могут понравится людям больше, чем ваша разработка. Если посмотреть в GooglePlay, то можно найти множество приложений на тематику игры в лабиринте. Например, “Лабиринт Тома и мышонка Джерри". На рисунке 24 пример игрового экрана этого приложения. Идея заключается в том, чтобы успеть собрать весь сыр, игры за мышонка Джерри, не попавшись в ламы Тома.
В другом приложении, которое называется Лабиринт нужно правильно найти путь от одного края к другому, управляя шариков. Пример экрана на рисунке 25.
В виду того, что такие игры нравятся большинству людей была разработана игра 'OSFight', которая проста и удобна в использовании. Приложение было протестировано несколькими пользователями, которые с интересом играли, выбрав любимую операционную систему.
С развитием интернет технологий, мобильные телефоны стали неотъемлемой частью жизни большинства людей. Это дает мощный стимул разработчикам делать мобильные приложения, выражать и показывать себя.
1. Седжвик, Р. Алгоритмы на Java /Р.Седжвик, К. Уэйн.- M.: Вильямс, 2016. -850 с.
2. Эванс, Э. Предметно - ориентированное проектирование /Э. Эванс.- M.: Вильямс, 2010. -448 с.
3. Крёнке Д. Теория и практика построения баз данных, 8 - е издание / Д.Крёнке.- М.: Питер, 2003. -800 с.