Сравнение архитектур мобильных приложении на IOS платформе
Система мобильных приложений на iOS платформе состоит из двух модулей: клиента на ОС iOS и сервера. Архитектура мобильного приложения на платформе MVVM. Создание дополнительного класса Router, содержащий способы с логикой переходов меж модулями.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 22.02.2023 |
Размер файла | 849,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Сравнение архитектур мобильных приложении на IOS платформе
Романков С.В.
Аннотация
в статье рассматриваются различные подходы к архитектуре мобильных приложений на платформе iOS.
Ключевые слова VIPER, MVVM, MVC, MVP.
Задача разработки мобильных приложений на iOS платформе достаточно широкая и имеет нюансы, которые разработчик должен исследовать, чтобы обеспечить максимальную комфортность интерфейса и эффективное использование ресурсов. Для построения архитектуры приложения необходимо определиться с сущностями и юзкейсами данной предметной области и конкретной задачи. Для выделения сущностей и юзкейсов системы необходимо проанализировать существующие подобные решения (для воплощения подобного функционала) и выделить уникальный функционал проектируемой системы.
Система мобильных приложений на iOS платформе состоит из двух модулей: клиента на ОС iOS и сервера. Типы архитектурных паттернов могут различаться, но есть 4 наиболее часто используемых: MVC, MVP, MVVM и Viper. Сравнение этих шаблонов и выбор наиболее подходящего для реализации мобильных приложений, написанного на Swift, является целью данной статьи. Для реализации клиентского приложения на платформе iOS Apple советует использовать MVC [5]. На рисунке 1 представим архитектуру MVC [1].
Рис. 1. Архитектура мобильного приложения на платформе MVC
MVP является первым паттерном, выявляющим проблему сборки, которая происходит из-за наличия трех действительно отдельных слоев (рисунок 2) [2].
Рис. 2. Архитектура мобильного приложения на платформе MVT
Кроме MVC, учитывая его проблемы, широко используются архитектурные паттерны MVVM (рисунок 3) и VIPER (рисунок 4) [3-4].
Рис. 3. Архитектура мобильного приложения на платформе MVVM
На VIPER базируются большие проекты с зависимостями, MVVM является одним из лучших архитектур для средних проектов. MVVM облегчает отделение разработки графического интерфейса от разработки бизнес логики (бэк-энд логики), известной как модель (можно также сказать, что это отделение представления от модели). Модель представления является частью, которая отвечает за преобразование данных для их дальнейшей поддержки и использования. С этой точки зрения модель представления больше похожа на модель, чем на представление и обрабатывает большинство, если не всю, логику отображения данных. Модель представления может также реализовывать паттерн медиатор, организуя доступ к бэк-энд логике вокруг множества правил использования, поддерживаемых представлением [4].
мобильное приложение платформа
MVVM имеет два основных недостатка:
Логика переходов содержится во View (ViewController), что нарушает принцип Single responsibility SOLID и ухудшает тестируемость.
ViewModel по своему назначению должен содержать бизнес логику, но логику создания модулей (View-ViewModel).
Для избавления от этих недостатков необходимо выделить дополнительные слои программы, отвечающие за переходы и создание модулей. Было решено создать дополнительный класс Router, содержащий способы с логикой переходов меж модулями и статический способ для создания текущего модуля.
Таким образом, в работе были рассмотрены несколько архитектурных паттернов. Выбор архитектуры является вопросом взвешивания компромиссов в конкретной ситуации для конкретного приложения. Для оптимизации архитектур для мобильных приложений возможным является использование нескольких архитектур в одном приложении.
Список литературы
MVP против MVC против MVVM против VIPER. [Электронный ресурс], 2021. Режим доступа: https://www.affde.com/ru/mvp-vs-mvc-vs-mwm-vs-viper.html/ (дата обращения: 22.03.2022).
Архитектурные паттерны в iOS. [Электронный ресурс], 2020. Режим доступа: https://habr.com/ru/company/croc/blog/560674/ (дата обращения: 22.03.2022).
Сравнение архитектур Viper и MVVM. [Электронный ресурс], 2019. Режим доступа: https://habr.com/ru/post/440904/ (дата обращения: 22.03.2022).
Архитектурные паттерны в iOS. [Электронный ресурс], 2016. Режим доступа: https://habr.com/ru/company/badoo/blog/281162/ (дата обращения: 22.03.2022).
Курганова А.Г. Процесс выбора архитектуры для мобильного приложения // StudNet. [Электронный ресурс], 2021. Режим доступа: https://cyberlemnka.ru/article/n/protsess-vybora-arhitektmy-dlya-mobilnogo- prilozheniya/ (дата обращения: 25.03.2022).
Размещено на Allbest.ru
...Подобные документы
Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.
курсовая работа [987,1 K], добавлен 27.06.2019Обзор особенностей операционной платформы для мобильных телефонов, смартфонов и коммуникаторов. История обновлений и модифицированные версии. Прошивка устройств. Приборы на платформе Android. Изучение основных достоинств операционной системы Android 4.2.
реферат [885,8 K], добавлен 19.10.2015Разработка городских систем на базе мобильных интерфейсов. Методики геокодирования в информационных системах, ориентированных на определенную группу пользователей. Прототипная реализация туристической карты для мобильных устройств на платформе Android.
дипломная работа [4,3 M], добавлен 05.12.2013Теоретические сведения о возможностях Microsoft.NET. Разработка Windows-приложения на платформе Microst.NET: функциональное назначение, описание логической структуры, изучение требований по установке и техническому обеспечению программного продукта.
курсовая работа [3,8 M], добавлен 28.06.2011Основные концепции информационной визуализации, используемые в городских информационных системах. Разработка туристической карты города Гомеля для мобильных устройств на платформе Android. Обработка графической информации менеджером поверхностей.
дипломная работа [2,5 M], добавлен 28.05.2013Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.
дипломная работа [1,6 M], добавлен 08.07.2015Анализ российского рынка мобильных приложений. Мобильное приложение как новый канал коммуникации с целевой аудиторией. Этапы создания мобильного приложения. План продвижения мобильного приложения в сети Интернет. Бесплатные инструменты продвижения.
дипломная работа [1,6 M], добавлен 23.06.2016Разработка приложений на платформе Win32 для исследования взаимодействия между процессами через отображение файла в память. Модель приложений "клиент - сервер". Описание алгоритма работы программы-клиента и программы-сервера. Результаты работы приложений.
курсовая работа [869,3 K], добавлен 18.05.2014Обзор существующих приложений в сфере оказания автомобильной помощи. Рассмотрение алгоритмического конструирования комплекса мобильных приложений по оказанию автомобильной помощи на дорогах. Оценка тестирования авторизации в приложении для водителя.
дипломная работа [1,9 M], добавлен 12.02.2018Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.
дипломная работа [1,0 M], добавлен 11.07.2014Проектирование удобного приложения для комфортной навигации по файлам облачного хранилища в одном файловом менеджере. Выбор интегрированной среды разработки. Выбор инструментов для визуализации приложения. Выбор средств отслеживания HTTPзапросов.
курсовая работа [3,6 M], добавлен 16.07.2016Изучение существующих подходов к использованию компьютерных игр в образовательном процессе. Особенности использования мобильного обучения. Методика и этапы закрепления полученных ранее знаний с использованием игрового приложения на мобильной платформе.
дипломная работа [813,0 K], добавлен 27.10.2017Мобильные операционные системы. Основные характеристики систем iOS и Android, их достоинства, недостатки и индивидуальные возможности. Анализ преимуществ лидирующих мобильных платформ для разработки приложения. Основные различия в механизмах безопасности.
дипломная работа [806,5 K], добавлен 01.01.2018Создание программного продукта, предназначенного для небольшой сети с оптимизацией ее работы на платформе операционной системы Linux; администрирование. Разработка модуля протоколов управления; методика тестирования подсистемы; системотехнический анализ.
дипломная работа [5,4 M], добавлен 27.06.2012Характеристика, цель деятельности, ресурсы, структура организации. Обзор аппаратно-технической базы и программного обеспечения. Перенос данных из информационной базы на технологической платформе "1С: Предприятие", в связи со сменой типовой конфигурации.
отчет по практике [667,5 K], добавлен 07.08.2013Требования, предъявленные к полноценному локальному чату. Протокол передачи данных TCP. Описание программы сервера. Этапы разработки программного продукта. Функция приема сообщений от сервера. Принятие и отправка сообщений всем пользователям чата.
курсовая работа [447,0 K], добавлен 21.01.2016Выбор методологии и инструментальных средств проектирования на платформе 1С: Предприятие 8. Разработка комплекса функциональных моделей предметной области "Планирование и отчетность по УВР ВолГУ". Анализ видов информационных структур модульной системы.
дипломная работа [2,3 M], добавлен 14.06.2013Спецификация организации службы Short Message Service. Алгоритм работы сервера и возможность расширения функциональных возможностей. Реализация проекта на языке высокого уровня С++ на платформе Linux. Расчет себестоимости и цены программного продукта.
дипломная работа [168,6 K], добавлен 19.01.2014Разработка программного приложения Windows Forms для работы с базой данных на языке высокого уровня в автономном режиме с использованием ADO.NET. Создание консольных приложений (варианты метода Main), выполнение запросов к SQL серверу и листинг программ.
курсовая работа [2,4 M], добавлен 16.06.2014Место и роль различных изданий в современном обществе. Основные требования к подготовке электронных учебных изданий. Разработка приложений. Операционная система Android. Выбор программного обеспечения. Пакеты для обработки растровой и векторной графики.
отчет по практике [1,6 M], добавлен 26.05.2014