Разработка мобильного приложения «Путеводитель ЗабКЛИ» | Статья в журнале «Юный ученый»

Отправьте статью сегодня! Журнал выйдет 18 января, печатный экземпляр отправим 22 января.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Рубрика: Информатика

Опубликовано в Юный учёный №1 (86) январь 2025 г.

Дата публикации: 01.01.2025

Статья просмотрена: 10 раз

Библиографическое описание:

Днепровский, Е. В. Разработка мобильного приложения «Путеводитель ЗабКЛИ» / Е. В. Днепровский, Ю. В. Иванова. — Текст : непосредственный // Юный ученый. — 2025. — № 1 (86). — С. 25-30. — URL: https://moluch.ru/young/archive/86/4730/ (дата обращения: 07.01.2025).



В работе рассматривается проблема рассредоточенности данных, которые необходимо знать лицеисту ЗабКЛИ.

Ключевые слова: мобильное приложение, Android Studio, Kotlin, сервер, проблема рассредоточенности данных.

В работе рассматривается проблема рассредоточенности данных, которые необходимо знать лицеисту ЗабКЛИ. Информация об олимпиадах, расписании и новостях находится в трёх различных источниках (группа в мессенджере «Сферум», сайт лицея, информация на стендах в лицее, в аналоговом виде). На поиск данных уходит время, которое так необходимо учащимся, поскольку нагрузка в лицее превышает школьную: лицеисты учатся шесть дней в неделю по 8 уроков, посещают дополнительные занятия и готовят увеличенный объем домашних заданий. Следовательно, даже небольшая экономия их времени может сыграть свою положительную роль.

В связи с этим особую актуальность обретают различные методы организации определённых данных, которые нужны здесь и сейчас. Однако нет какого-либо единого варианта для упрощения получения необходимой информации.

Проблему рассредоточенности данных рассматривали многие ученые и программисты. Например, частично этому посвящена работа ученых ФГБОУ ВО «МИРЭА — Российского технологического университета» Шатилова А. А. и Шмелева А. В. «Применение датацентризма в распределенных информационных системах» [1]. Они отмечают, что данные могут иметь разный вид и формат, быть продублированы в разных программных приложениях, выполняющих разные задачи по обработке. Ученые МИРЭА выделяют также некоторые негативные последствия рассредоточенности данных, такие как усложнение ИТ-инфраструктуры, повышение временных и финансовых издержек, пониженная эффективность работы систем и приложений, неудобство для пользователей. Решение они видят в стандартизации и унификации данных. Именно эти основные положения легли в основу данной работы по разработке мобильного приложения для лицеистов.

В общем же, о проблеме рассредоточенности данных часто говорят специалисты по большим данным, или Big Data. Большие данные в самом общем понимании — это огромный объем структурированной и неструктурированной информации [2]. Безусловно, в нашем случае говорить о Big Data нельзя, но аналогия просматривается.

Целью проекта является разработка мобильного приложения «Путеводитель ЗабКЛИ» в среде разработки Android Studio. Для достижения этой цели необходимо решить следующие задачи:

– Изучить теоретический материал, связанный с историей мобильных приложений.

– Изучить компьютерные программы для разработки мобильных приложений.

– Разработать мобильное приложение «Путеводитель ЗабКЛИ» и сервер, который будет обрабатывать запросы приложения.

– Протестировать приложение и получить данные об удовлетворённости пользователей с помощью встроенной в приложение функции анкетирования.

Объектом проекта является программирование, а предметом — мобильные приложения. При работе над проектом использованы методы проектирования, анализа и синтеза, а также анкетирование.

Целевой аудиторией при работе над проектом были обучающиеся 9 «Б» класса ГОУ «ЗабКЛИ» (учебный год 2023/2024), однако приложением могут пользоваться и другие лицеисты. Практическая польза проекта заключается в сборе всей информации в одном месте, которую должен знать учащийся лицея. Приложение может быть улучшено в различных направлениях, например, добавлением функций, которые нужны администрации.

Таким образом, в силу имеющихся тенденций современного цифрового пространства и локальных проблем лицеистов, разработка приложения выглядит актуальной. Ожидаемым результатом работы является сокращение времени на поиск нужной лицеистам информации и, как следствие, повышение психологического комфорта учащихся ГОУ «ЗабКЛИ».

Для решения обозначенной выше проблемы был разработан следующий план работы.

Сначала необходимо было осуществить подбор необходимой для работы информации и изучить ее. На этот этап отводился месяц. На следующие три месяца было запланировано изучение языка Kotlin, написание кода приложения, отладка, размещение в сети. На заключительный этап, связанный с тестированием приложения и получением обратной связи от пользователей для ее последующей интерпретации, также был запланирован месяц. Все работы были выполнены в поставленные сроки. Вне запланированного времени прошло несколько презентаций приложения.

Итак, основная информация, изученная перед началом работы, содержала следующие теоретические положения.

Мобильное приложение — компьютерная программа, созданная специально для использования в мобильном телефоне, смартфоне или коммуникаторе, которая предназначена для выполнения той или иной задачи.

Если рассмотреть первые версии мобильных приложений, то можно заметить, что они были простыми календарями, играми и калькуляторами, написанными на языке программирования Java. В 1993 году первый смартфон компании IBM использовал именно этот язык для своих приложений, которые устанавливались только разработчиками.

В 1997 году с появлением сотовой связи WAP начался быстрый рост числа сторонних разработчиков и появление новых приложений и игр. Однако пользователи столкнулись с проблемой платы за интернет и ограниченными возможностями технологий, что могло привести к нежелательным расходам и неудовлетворительному контенту.

В начале 2000-х годов с появлением смартфонов на операционной системе Symbian начался быстрый рост числа разработчиков приложений, но они столкнулись с проблемами совместимости с различными устройствами. Хоть пользователи и оставались на старых мобильных телефонах, разработчики уделяли все больше внимания смартфонам с мощными процессорами, которые давали им новые возможности.

В 2007 году компания Apple выпустила первый iPhone. Однако оперативная система iPhone оставалась закрытой для сторонних разработчиков, им позволили делать только веб-приложения. Разработчики взбунтовались и взломали файловую систему смартфона. Благодаря этому они научились делать нативные приложения и создали джейлбрейк — операцию, которая позволяет получить доступ к файловой системе устройств на операционной системе iOS. В 2008 году Apple сдалась и легализовала сторонние приложения.

Позже другие компании также представили свои платформы. В 2008 году Google запустила Android Market, что также способствовало развитию мобильных приложений. Тогда же и появились приложения-соцсети, которые позволили развиваться мобильным приложением намного быстрее.

В 2013 году началась эра новых приложений, которые учитывали физическое местоположение, виртуальное и социальное окружение пользователей. Это позволило приложениям предугадывать потребности пользователей и создавать более персонализированный опыт использования [3].

Также изучались ресурсы, предлагающие информацию о компьютерных программах для разработки мобильных приложений [4, 5, 6, 7].

Существует множество различных программ, позволяющих разрабатывать мобильные приложения для операционной системы Android: Android Studio, Microsoft Visual Studio, MIT App Inventor и другие. Для данной работы была использована среда разработки Android Studio, так как она во многом превосходит конкурентов. В Android Studio имеются удобные инструменты, позволяющие быстро создать интерфейс программы и удобно настроить его с помощью задаваемых идентификаторов, которые позволяют удобно программировать элементы интерфейса с помощью встроенных языков программирования.

В Android Studio предоставляется выбор между двумя языками программирования, на которых будет работать приложение: Java и Kotlin. Оба языка работают на виртуальной машине Java (JVM) и являются объектно-ориентированными. Kotlin, в сравнении с Java, более популярен, поскольку Kotlin, в отличие от Java, — лаконичный и современный. Код, написанный на Kotlin, намного компактнее по сравнению с Java — на 30–40 %. Помимо этого, Kotlin имеет множество мелких улучшений, которые делают написание кода проще и быстрее. Исходя из всего, что было сказано ранее, было принято решение использовать язык программирования Kotlin.

Для полноценной работы приложения с часто изменяющимися данными необходимо, чтобы информация поступала с сервера, ведь постоянно обновлять приложение для небольшого изменения неэффективно. Поэтому под конкретную задачу необходимо было разработать сервер. Для этого можно использовать различные языки программирования: PHP, Python, Ruby, C# и NodeJS. В данном проекте был выбран Python, так как это один из самых распространённых языков программирования, что позволяет легко находить информацию о создании различных задач.

В среде разработки Android Studio с помощью встроенных инструментов можно значительно ускорить создание проекта. Один из таких инструментов — дизайнер (Приложение, рисунок 1). Он позволяет быстро и легко создать привлекательный интерфейс программы с помощью различных встроенных элементов. В приложении были использованы самые разные предлагаемые Android Studio элементы: выключатели (которые используются в настройках), текстовые элементы (которые используются почти везде), кнопки-картинки (которые позволяют с помощью простых изображений заменять кнопки с надписями), настраиваемая панель приложения (которая используется в разделе расписания и новостей в качестве панели для изменения дня недели или страницы) и другие.

Помимо этого, использовался встроенный в среду разработки компилятор языка Kotlin, с помощью которого программировались элементы интерфейса и клиентская часть приложения. Так как Kotlin — объектно-ориентированный язык программирования, то наиболее эффективно использовать классы. При создании приложения использовались такие типы классов как: Fragment (который использовался для определённых частей приложения, чтобы приложение не использовало лишние ресурсы, одновременно работая со всеми элементами), AppCompatActivity (который использовался для объединения всех разделённых фрагментов воедино и раздела настроек), и Data (который использовался для хранения данных и заполнения списков особых элементов интерфейса, которые используются в разделах олимпиад и новостей).

Для разработки сервера использовалась библиотека socketserver, по умолчанию установленная вместе с языком программирования Python. Так как целью является создание мобильного приложения, которое будет получать не очень большие объёмы информации с сервера, было принято решение использовать простой TCP сервер, который получает текстовый запрос и отправляет текстовый ответ клиенту.

Разработанный сервер запускается на сервисе Timeweb на виртуальном выделенном сервере. В целях оптимизации на выделенных серверах зачастую используют Linux, а не Windows. С помощью терминала, предоставленного операционной системой, запускается программа на языке программирования Python, на которой разработан сервер приложения.

Просмотреть код сервера можно просканировав QR-код (Приложение, рисунок 2а). Просмотреть все файлы приложения, в том числе и его код, можно просканировав другой QR-код (Приложение, рисунок 2б).

Тестирование работы нового приложения — неотъемлемая часть всего проекта. Она позволила выявить различные недостатки приложения, как в его работе, так и в элементах интерфейса, которые были исправлены.

Тестирование показало, что самый необходимый пользователям экран приложения — расписание. Второй по популярности — экран с олимпиадами. В соответствии с предпочтениями целевой аудитории приложения экраны были расположены в нижней панели навигации. Помимо этого, по просьбам тестировщиков была добавлена функция тёмной темы приложения, что добавляет вариативности интерфейсу и делает его более дружелюбным пользователям. В связи с тем, что пользователи предпочитали не переходить в сторонние приложения для прохождения анкетирования, призванного улучшить приложение, было решено создать собственную функцию анкетирования внутри него. Так как анкетирование необходимо пройти лишь единожды, то эта функция была размещена в разделе настроек, куда пользователь заходит не очень часто. Кроме этого, такое решение было принято для уменьшения тревожности пользователя, которого могут раздражать и отвлекать надоедливые уведомления с просьбами о прохождении анкетирования. Это позволило сделать работу с другими разделами более комфортной.

Для лучшего понимания того что хочет от пользователя приложение, в нем была использована привычная большинству людей система оценки, а именно пятибалльная в виде звёзд, где одна звезда — это крайне негативная оценка, а пять звезд — крайне позитивная. Такая система гарантированно позволяет пользователю адекватно выставить необходимые баллы, поскольку знакома ему по другим цифровым продуктам. После прохождения анкетирования данные отправляются на сервер, где они хранятся и выдаются по отдельному запросу.

Данные о том, как пользователи оценили различные аспекты приложения, отображены на диаграммах, показывающих, как пользователи оценили различные аспекты приложения (Приложение, рисунки 3–5).

Работа была выполнена в ГОУ «ЗабКЛИ». Для реализации использовались материальные ресурсы (поддержка работоспособности сервера), технические ресурсы (сервер для постоянной работы приложения), интеллектуальные ресурсы (документация к языку программирования Kotlin и среде разработки Android Studio).

Итогом работы стало мобильное приложение «Путеводитель ЗабКЛИ».

В рамках работы над проектом были изучены материалы по теме разработки мобильных приложений на операционной системе Android. Также были изучены язык программирования Kotlin, на котором было разработано приложение, среда разработки Android Studio в объёме, необходимом для разработки приложения.

После сбора бόльшего объёма собранных данных планируется доработка и улучшение мобильного приложения в соответствии с полученными результатами и отзывами.

Преимуществами разработанного продукта является удобство интерфейса и его функциональность. Об этом свидетельствует информация, полученная в ходе проведения анкетирования. Помимо этого, в приложение были добавлены различные небольшие улучшения, которые повышают качество использования приложения пользователем. А так как приложение создаётся учеником лицея для лицеистов, то постепенно добавляются элементы, которые действительно необходимы целевой аудитории приложения.

Также данный проект имеет большой потенциал для дальнейшего развития. В лицее постоянно проходит множество мероприятий, реализуются различные нововведения, которые позволяют постоянно улучшать продукт проекта, чтобы всё, что нужно знать лицеисту, всегда находилось в одном приложении, к которому есть постоянный доступ. Также имеется возможность создать аналог приложения для операционной системы iOS.

Приложения

Дизайнер в Android Studio

Рис. 1. Дизайнер в Android Studio

а — Код сервера; б — Страница приложения на GitHub

Рис. 2. а — Код сервера; б — Страница приложения на GitHub

Результаты анкетирования. «Дизайн»

Рис. 3. Результаты анкетирования. «Дизайн»

Результаты анкетирования. «Функционал»

Рис. 4. Результаты анкетирования. «Функционал»

Результаты анкетирования. «Общее впечатление»

Рис.5. Результаты анкетирования. «Общее впечатление»

Литература:

  1. Шатилов А. А. Шмелёв А. В. Применение датацентризма в распределённых информационных системах // Современные наукоемкие технологии. — 2022. — № 6 — С. 35–39
  2. Филинков В. Что такое Big Data [Электронный ресурс]: Аналитика skypro. URL: https://sky.pro/media/chto-takoe-big-data/#title3 (дата обращения: 10.11.2023)
  3. История и эволюция мобильных приложений [Электронный ресурс]: Denisov Разработка и развитие сайтов на CMS 1С-Битрикс. URL: https://sdvv.ru/articles/testovyy-razdel/istoriya-i-evolyutsiya-mobilnykh-prilozheniy/ (дата обращения: 12.11.2023).
  4. Аналоги Android Studio [Электронный ресурс]: RuProgi.ru. URL: https://ruprogi.ru/software/android-studio (дата обращения: 18.11.2023).
  5. Рокотанский М. Сравниваем Java и Kotlin [Электронный ресурс]: Хабр. URL: https://habr.com/ru/companies/otus/articles/580738/ (дата обращения: 14.12.2023).
  6. Климов А. Шкодим под Android [Электронный ресурс]: сайт Александра Климова. URL: https://developer.alexanderklimov.ru/android/ (дата обращения: 18.02.2024).
  7. Величко И. 9001 способ создать веб-сервер на Python [Электронный ресурс]: серверная разработка с Иваном Величко. URL: https://iximiuz.com/ru/posts/over-9000-ways-to-make-web-server-in-python/ (дата обращения: 24.01.2024).


Ключевые слова

сервер, мобильное приложение, Android Studio, Kotlin, проблема рассредоточенности данных
Задать вопрос