Современные подходы к разработке мобильных приложений: кроссплатформенность и нативные решения
Автор: Гараев М.И.
Журнал: Ученые записки Казанского юридического института МВД России @uzkui
Рубрика: Юридические науки
Статья в выпуске: 2 (20) т.10, 2025 года.
Бесплатный доступ
В статье рассматриваются современные стратегии и пути разработки мобильных приложений применительно к их использованию в оперативно-служебной деятельности органов внутренних дел Российской Федерации. Анализируются сильные и слабые стороны различных технологий, включая нативные и кроссплатформенные подходы. Особое внимание уделено фреймворкам Flutter, React Native и Kotlin Multiplatform, а также нативным решениям.
Мобильная разработка, Flutter, React Native, Kotlin, Swift, кроссплатформенные фреймворки, производительность, оптимизация, архитектура приложений
Короткий адрес: https://sciup.org/142246775
IDR: 142246775 | УДК: 004.056+34
Текст научной статьи Современные подходы к разработке мобильных приложений: кроссплатформенность и нативные решения
В современном мире развитие информационных технологий, в том числе мобильных приложений, оказывает значительное влияние на эффективность деятельности государственных структур, включая систему органов внутренних дел Российской Федерации. Переход к цифровым форматам документооборота, управления и взаимодействия с гражданами требует внедрения мобильных инструментов, обеспечивающих оперативность, защищенность и доступность информации [1].
В современных условиях мобильные технологии становятся важным элементом служебной инфраструктуры. Они позволяют сотрудникам органов внутрен- 17 них дел действовать более эффективно – будь то патрульные экипажи (ППСП, ГИБДД, УУП и др.), оперативные и следственные подразделения или иные.
Сегодня одним из ключевых вопросов при разработке мобильного программного обеспечения встает необходимость поддержки нескольких платформ – в первую очередь это Android и iOS. Существует традиционный путь – нативная разработка под каждую из платформ. Такой выбор требует значительных ресурсов, поскольку каждая платформа использует свои языки программирования, экосистемы и другие инструменты разработки. Это все приводит к увеличению сроков и стоимости разработки проекта.
В ответ на возникшие вызовы индустрии появились кроссплатформенные фреймворки. Они позволяют создавать приложения сразу для обеих платформ, используя единую кодовую базу, что значительно снижает затраты и сокращает время разработки.
Нативная разработка – это подход, при котором создание приложения происходит на «родном» языке програм- мирования (например, Swift или Kotlin), полностью адаптированном под конкретную операционную систему. Такой подход обеспечивает прямой доступ к API операционной системы, максимальную производительность, высокое качество пользовательского опыта, лучшую интеграцию с функциями устройства и, что не менее важно, доступ к новейшим возможностям платформы. Исторически нативная разработка была единственным возможным способом создания качественных мобильных приложений. Но, как было сказано выше, она требует наличия двух отдельных команд (Android и iOS), что увеличивает бюджет и время разработки.
С ростом популярности смартфонов и, 17 соответственно, с ростом рынка мобильных приложений в начале 2010-х были предприняты первые попытки упростить разработку и объединить ходовую базу. Одними из самых первых решений были Apache Cordova и PhoneGap. В них использовались HTML, CSS и JavaScript для создания приложений. Однако они страдали низкой производительностью, а также ограниченным доступом к возможностям устройства. Позднее появились решения получше, такие как Xamarin от Microsoft, предлагающий писать на C#1.
Современный рынок кроссплатфор-менных технологий состоит из Flutter от Google, Kotlin Multiplatform от JetBrains. Также существует NET NAUI, который является продолжателем идей Xamarin. Тренд заключается в том, чтобы сделать максимальную производительность, пользовательский опыт, как при использовании эффективности, при этом с минимальными затратами на разработку.
В дальнейшем подробнее рассмотрим основные преимущества и недостатки нативных и кроссплатформенных подхо- дов к разработке мобильных приложений.
В нативной разработке обеспечивается максимально тесная интеграция с операционными системами и доступ ко всем возможностям. Они отличаются высокой производительностью, стабильностью и полностью соответствуют визуальным и поведенческим стандартам платформы. Нативные приложения сразу комбинируются в машинный код, который выполняется напрямую процессом устройства, без промежуточных слоев интерпретации. Swift на iOs компилируется в ARM-код через LLVM. Kotlin (через Android NDK/ART) – в байт код или машинный код. Что значит, что нативный код работает, не поверх какой-то виртуальной машины, а сразу внутри системы, обращаясь к API и фреймворкам системы (UIKit, SwiftUI, Android SDK и т.д.), аппаратным 18 ресурсам (GPU, сенсоры, камера, файлы и т.д.), рендринг-системам (Metal для iOS, Skia/OpenGL/Vulkan для Android). Именно благодаря этому и получается быстрая производительность.
Flutter – кроссплатформенный фреймворк, разработанный Google в 2017 году. Из его самых сильных сторон можно выделить «горячую перегрузку»1. Горячая перегрузка позволяет сразу отображать изменения в коде без необходимости перекомпиляции приложения, что значительно увеличивает разработку приложения, при том что у него единая кодовая база для всех платформ. Flutter обладает большим и активным сообществом разработчиков, а также поддержкой сложной анимации. При этом он также не обделен недостатками, в частности, большим размером приложения. Также бывают случаи, когда возникают сложности с управлением аппаратными функциям, из-за чего встает необходимость использования нативных плагинов. Flutter создает собственную платформу поверх натив- ной, но не все так просто. Приложения на Dart комбинируются через ARM-машинный код. Что означает, что код приложения также может считаться нативным. При этом Flutter не использует нативные виджеты. Вместо них он использует свой виджет Impeller. Это рендеринг-виджет, который выполняет предварительную компиляцию рейдеров на этапе сборки, что позволяет избежать задержек при рендеринге и обеспечивает стабильную работу интерфейса. Данный движок использует современные графические API нативные решения. Производительность может снижаться в сценариях, когда встает необходимость обширного взаимодействия с платформой, из-за необходимости использования «моста» для взаимодействия с нативными API.
Kotlin Multiplatform (KMP) – это технология от JetBrains, которая позволяет делить бизнес-логику между платформа- 18 ми, но при этом оставляет пользовательский интерфейс нативным2. Основная идея данной технологии, что код логики, то есть обработка данных, работа с сетью, хранение данных и прочее, пишет единожды на Kotlin и компилирует для обеих платформ, но интерфейс на iOS и Android необходимо писать отдельно с использованием их нативных решений. Поскольку логика работает нативно, KMP почти не уступает нативным приложениям по скорости вычислений. Из главных недостатков можно выделить необходимость писать отдельный интерфейс. Комплектность интеграции – иногда сложно совместить сторонние библиотеки для обеих платформ с общим модулем. Также технология является молодой, и сообщество у нее меньше, чем у упомянутых выше решений, что означает, что при возникновении специфических проблем решение будет найти сложнее. KMP является компромиссным вариантом, позволяя экономить на разработке бизнес-логики, он сохраняет надежность нативного UI, но не обеспечивает единую визуальную базу как Flutter.
Для наглядного сравнения ключевых характеристик нативного подхода, Flutter и Kotlin Multiplatform можно привести следующую таблицу. В ней отражены различия по пользовательскому интерфейсу, способу реализации логики, а также производительности UI и вычислительной также стремится ускорить дублирование кода и ускорить поддержку проектов. Так же как и технология с открытым исходным кодом и активной поддержкой российских разработчиков, является перспективным решением в контексте политики импортозамещения и перехода на отечественные ИТ-решения.
Указанные технологические решения позволяют создавать унифицирован-
ные приложения, которые функциони- логики.
В настоящее время наиболее активно развивается Flutter. Он стремится стать универсальным инструментом для крос-сплатформенной разработки мобильных приложений. Flutter обеспечивает высокую производительность, широкие возможности для создания анимаций и визуально приятного интерфейса. Эти преимущества делают его очень привлекательным выбором не только для стартапов и небольших проектов, но для крупных проектов. Например, My BMW от BMW GROUP, Yandex Pro от Yandex, Google Ads от Google и другие.
Kotlin Multiplatform представляет собой перспективное решение для команд, которые хотят сохранить нативные интерфейсы, но при этом разделить бизнес-логику между платформами. Такой подход руют на различных мобильных платформах, что особенно актуально для сотрудников органов внутренних дел, в распоряжении которых могут быть технические устройства различных производителей.
Кроссплатформенные технологии обеспечивают:
-
- сокращение сроков и затрат на разработку, благодаря единой кодовой базе;
-
- упрощенную поддержку и обновление приложений;
-
- гибкую интеграцию с внутренними системами и ведомственными API;
-
- возможность централизованного контроля безопасности и распространения приложений.
Примеры таких технологий могут охватывать широкий спектр задач, стоящих перед сотрудниками органов внутренних дел:
-
1. Служебный документооборот и отчетность – мобильные приложения, позволяющие сотрудникам формировать и подписывать документы в цифровом виде с использованием средств электронной подписи.
-
2. Обучение и повышение квалификации – платформы для дистанционного обучения, интерактивного обучения и симуляций служебных ситуаций.
-
3. Информационно-аналитические панели – инструменты для руководителей, представляют доступ к статистике правонарушений, сводным данным о подразде-
- лениях, а также оперативным показателям.
Современные мобильные технологии могут стать важным инструментом повышения эффективности работы правоохранительных органов. Использование кроссплатформенных мобильных решений, таких как Flutter и Kotlin Multiplatform, не только соответствует мировым тенденциям развития мобильной индустрии, но и способствует формированию единого цифрового пространства МВД России, где мобильные приложения становятся частью стратегической инфраструктуры обеспечения правопорядка и безопасности.