Файл: Критерии выбора средств разработки мобильных приложений (Разработка мобильного приложения для курьерской службы доставки «Ptichka»).pdf
Добавлен: 26.06.2023
Просмотров: 65
Скачиваний: 3
СОДЕРЖАНИЕ
1. Теоретические аспекты выбора средств разработки мобильных приложений
1.1 Инструменты разработки мобильного программного обеспечения: критерии выбора
1.2. Сравнительный анализ средств разработки мобильных приложений
2. Разработка мобильного приложения для курьерской службы доставки «Ptichka»
2.2. Необходимость создания приложения
2.4. Выбор технологии для реализации приложения
3. Реализация мобильного приложения для курьерской службы доставки «Ptichka»
Специализированная среда разработки под Android от Intel. Обладает мощными инструментами для создания отличных приложений и игр, содержащие все основные компоненты платформы Intel System Studio. Поддерживает языки C, C ++, C #, Fortran, Java.
Благодаря мощным инструментам для отладки графической составляющей программного продукта, отлично подходит для разработчиков игр, которые в свою очередь положительно отзываются об инструментах MDK for Android. Рассмотрим, какими основными компонентами обладает данная среда:
- Intel VTune Amplifier. Инструмент для оценки системы, обладает расширенным анализом и настройкой производительности ЦП [9].
- Intel Energy Profiler. Средство разностороннего анализа энергопотребления и производительности для разработчиков системного ПО.
- Intel C++ Compiler. Передовой отраслевой компилятор С++ для совершенствования производительности высокооптимизированных систем Android и оригинального кода С++.
- Intel Integrated Performance Primitives. Обширная библиотека высокопроизводительных компонентов для создания программного кода, обработки сигналов, данных и мультимедиа [10].
- Анализатор видеосистем. Оптимизирует производительность видеосистем на базе GPU. Осуществляет анализ системной производительности в режиме реального времени.
- Анализатор платформ. Позволяет выполнять исчерпывающий автономный анализ разрабатываемого приложения.
- Анализатор кадров. Анализирует нагрузку видеосистем с получением подробных данных на уровне схем Open GL ES.
Intel Beacon Mountain
По сравнению с XDK данная среда ориентирована только на Android платформу. Имеет полезную функцию автоматического обновления, что позволяет пользователю не сосредотачиваться на поддержке актуальности своей платформы. Beacon Mountain разработана на базе Eclipse и оптимизирована рядом инструментов произведенных Intel:
- Intel* Threading Building Blocks (Intel* TBB) - очень популярная библиотека шаблонов C++ [12];
- Intel* Integrated Performance Primitives (Intel* IPP) Preview -библиотека адаптированной обработки информаций и графики.
- Intel* Graphics Performance Analyzers (Intel* GPA) System Analyzer - позволяет производить мониторинг загруженности системы при работе с элементами OpenGL в реальном времени [3].
- Процессор ускоряющий работу эмулятора с помощью технологии Intel*VT.
XCode
Среда программирования для платформ IOS, OS X, WatchOS, tvOS разработанная компанией Apple. Поддерживаемые языки программирования: С, C++, Objective-C,Objective-C, Swift, Java, AppleScript, Python, Ruby.
Основные инструменты XCode [4]:
- IOS Simulator. Инструмент для быстро просмотра разрабатываемого приложения.
- Dash. Это менеджер сниппетов и браузер документаций.
- TextExpander - это популярная утилита для управления отрывками кода, привязанных к пользовательским сочетаниям клавиш. Здесь даже представлены заглушки для большей кастомизации.
- TestFlight - отличный сервис для передачи тестовых билдов команде бета-тестеров. Этот сервис собирает отчеты об ошибках, пользовательские отзывы, и позволяет вам отслеживать пользовательские сессии [5].
- GDB. Отладчик кода.
«1С: Предприятие 8. Расширение для КПК».
Нельзя обойти вниманием и российского производителя программных продуктов компанию 1С, которая разработала платформу «1С:Предприятие 8. Расширение для карманных компьютеров». Среда предназначена для работы с базами данных «1С Предприятия 8» на мобильных гаджетах, а так же разработки приложений для них. Обладает хорошим инструментарием для разработки [6]:
- Редактор мобильных приложений;
- Платформа для исполнений мобильных приложений;
- Сервер мобильных приложений;
- Компонента обмена данных.
Данная платформа имеет довольно узкую специфику по сравнению с западными аналогами, но при разработки проекта связанного с базами данных и бизнес логикой, является отличным решением.
Ниже приведена таблица сравнения сред для разработки мобильных приложений, составленная на основе анализа выше перечисленной информации. Основными критериями, которой являются: многообразность языков программирования, удобство пользовательского интерфейса, разнообразие для разработки мобильных платформ, монетизация среды разработки [7].
Исходя из проведенного сравнения, более рентабельно использовать платформу Android Studio. В первую очередь, потому что у неё самый удобный пользовательский интерфейс, много доступного материала для обучения, вполне достаточный спектр языков программирования, бесплатность пользования и самый большой рейтинг целевой платформы в мире (согласно Kantar Worldpanel Comtech доля пользователей Android в мире составляет 68%. Так же можно отметить, что эта среда постоянно развивается и совершенствуется благодаря компаний Google и за её актуальность можно не переживать [8].
2. Разработка мобильного приложения для курьерской службы доставки «Ptichka»
2.1. Описание предприятия
Курьерская служба доставки «Ptichka» предоставляет услуги по доставке документов и посылок по городу. На данный момент служба представлена в Москве, Санкт-Петербурге, Екатеринбурге и Алмате.
«Ptichka» представляет собой информационную систему подбора курьеров и распределения заказов. Вся работа максимально автоматизирована. Клиент через веб-сайт оставляет заказ на доставку посылок по указанным им адресам. Далее информация по заказу предоставляется курьерам. После ознакомления с ней, первый согласившийся на выполнение курьер назначается на этот заказ.
2.2. Необходимость создания приложения
Поскольку «Ptichka» задумывалась, как полностью автоматизированная информационная система, то она должна функционировать без колл-центра, операторов, которые обрабатывали бы заявки на доставки, назначали курьеров на заказы и взаимодействовали бы с ними в процессе выполнения. Поэтому у курьеров должна быть возможность работать с заказами самостоятельно: знакомиться с условиями выполнения, оповещать клиента о том, в какие время он приедет на адрес или о том, что он не может с ним связаться, при необходимости отказываться от выполнения.
Для этого необходимо предоставить определенное решение, доступное работникам службы. Изначально данное решение было представлено в виде использования мессенджера “Telegram”. Данный мессенджер предоставляет удобное API для создания необходимых команд и вывода информации при получении уведомлений на мобильное устройство. Например, о том, что доступен новый заказ для выполнения. При использовании мессенджера не нужно было проектировать и создавать новое приложение, поэтому для начала работы службы он был отличным решением. Отсутствие необходимости в регистрации – курьер и так уже был идентифицирован по номеру мобильного телефона.
Тем не менее, в перспективе от использования “Telegram” необходимо было отказываться.
У “Telegram” есть ограничение по количеству уведомлений, отправляемых за секунду, поэтому было невозможно отправлять сразу всем курьерам информацию о новом доступном заказе.
Возможность отображения информации ограничена интерфейсом мессенджера и это было серьезным недостатком с момента начала работы службы. Например, не было возможности отображаться карту с пунктами назначения по заказу. В перспективах расширения функционала это было большой проблемой.
И главной причиной для поиска альтернативного решения была реальная возможность блокировки мессенджера на территории России.
Поэтому было принято решение разработать приложение, которое предоставляло бы весь необходимый функционал для работы курьеру с заказами.
2.3. Требования к разработке
Данное приложение должно предоставлять возможность пользователям [11]:
● просматривать ближайшие к ним по геолокации заказы и подробную информацию по каждому. Далее выбирать один из них для выполнения;
● просматривать информацию по выполняемым заказам и проводить операции с ними: отменить заказ или передать заказ другому курьеру, указать время прибытия к клиенту или оповестить клиента, что курьер не может с ним связаться;
● получить оповещение (например, о том, что через 30 минут курьеру нужно быть на указанном адресе, чтобы взять посылку);
● пополнить баланс для работы;
● просмотреть информацию о работе в «Ptichka».
Приложение должно состоять из ряда страниц:
● страница с доступными заказами;
● страница с активными заказами;
● страница с информацией о работе в «Ptichka»;
● страница с уведомлением для пользователя;
● страница с информацией о балансе пользователя.
В верхней части приложение должна быть расположена иконка, при нажатии на которую должно появится меню со списком всех страниц, представленных в приложении. При выборе одной из страниц в списке в меню, пользователь должен перенаправляться на нее [12].
На странице с доступными заказами должен выводится список заказов, которые может взять курьер. По каждому заказу должна предоставляться информация о [7]:
● адресах, по которым нужно доставить посылки;
● промежутках времени, в которые нужно забрать и доставить посылку;
● типе посылки;
● дополнительном поручение, если оно есть у заказа;
● комментарии от клиента, если оно есть у заказа;
● стоимости заказа.
Изначально информация по заказу должна быть представлена в краткой форме, которая должна отображать только первый и последний адрес из указанных в заказе. Также, в ней не должны быть показаны дополнительное поручение и комментарий от клиента.
Для каждого заказа должны быть доступны кнопки для показа подробной информации и убирания заказа из доступных.
В подробной форме заказа должна отображаться вся информация по заказу, кнопки для отказа или согласия на его выполнение и кнопка для открытия карты, на которой будут отображены адреса указанные в заказе [8].
Список заказов должен обновляется через нажатие на соответствующую кнопку, расположенную на страницы или при получении оповещения на мобильное устройство [6].
На странице с активными заказами должен выводиться список всех заказов, исполняемых в данный момент курьером.
При выборе одного из них пользователю должно предоставляться полное описание по заказу [6]:
● адреса, по которым нужно доставить посылки и номер телефона по каждому их них, на который нужно будет позвонить при прибытии;
● промежутки времени, в которые нужно забрать и доставить посылку;
● тип посылки;
● дополнительное поручение, если оно есть у заказа;
● комментарий от клиента, если оно есть у заказа;
● полное описание формирование стоимости заказа: оплата за саму доставку, надбавка за срочность, надбавка за дополнительное поручение, комиссия курьерской службы.
Для пользователя должны быть доступны кнопки, при нажатии на которые:
● пользователю откроется карта с адресами указанными в заказе;
● пользователь сможет уведомить клиента о том, в какое время он прибудет на адрес или о том, что он не может с ним связаться;
● пользователь сможет отказаться от выполнения заказа, если не может с ним справиться или отменить из-за некорректных данных, указанных в заказе.
На странице с информацией для работы должен выводиться список с информационными разделами. При нажатии на один из них пользователю должна предоставляется информация по нему [7].
В каждом из разделов могут быть ссылки на другие, при нажатии на которые пользователь должен перенаправляется на страницу с соответствующей информацией по нему.
Также на странице должна быть расположена кнопка для выхода из текущей учетной записи.
На странице с уведомлением для пользователя должно отображаться сообщение, отправленное ему с сервера. Сообщение может содержать ссылку на один из информационных разделов, при нажатии на который пользователь должен перейти на страницу с соответствующей информацией по нему [7].
На странице с балансом должен отображаться текущий баланс пользователя и кнопки для его пополнения на разные суммы “50”, “150”, “300” и “500”. Также на странице должна быть кнопка, при нажатии на которую пользователю покажется история операция по его балансу: пополнения баланса и снятие с баланса по комиссии за заказы.
Перед регистраций пользователю должен быть представлен список городов для работы, в которых на данный момент реализована «Ptichka».