Сравнение архитектур мобильных приложении на 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

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.