Современные подходы к разработке мобильных приложений: кроссплатформенность и нативные решения
Автор: Гараев М.И.
Журнал: Ученые записки Казанского юридического института МВД России @uzkui
Рубрика: Юридические науки
Статья в выпуске: 2 (20) т.10, 2025 года.
Бесплатный доступ
В статье рассматриваются современные стратегии и пути разработки мобильных приложений применительно к их использованию в оперативно-служебной деятельности органов внутренних дел Российской Федерации. Анализируются сильные и слабые стороны различных технологий, включая нативные и кроссплатформенные подходы. Особое внимание уделено фреймворкам Flutter, React Native и Kotlin Multiplatform, а также нативным решениям.
Мобильная разработка, Flutter, React Native, Kotlin, Swift, кроссплатформенные фреймворки, производительность, оптимизация, архитектура приложений
Короткий адрес: https://sciup.org/142246775
IDR: 142246775 | УДК: 004.056+34
Modern Approaches to Mobile Development Applications: Cross-Platform and Native Solutions
This article examines modern strategies and approaches to mobile app development. It analyzes the strengths and weaknesses of various technologies, including native and cross-platform approaches. Particular attention is paid to the Flutter, React Native, and Kotlin Multiplatform frameworks, as well as native solutions. Architectural features and development prospects are also discussed.
Текст научной статьи Современные подходы к разработке мобильных приложений: кроссплатформенность и нативные решения
В современном мире развитие информационных технологий, в том числе мобильных приложений, оказывает значительное влияние на эффективность деятельности государственных структур, включая систему органов внутренних дел Российской Федерации. Переход к цифровым форматам документооборота, управления и взаимодействия с гражданами требует внедрения мобильных инструментов, обеспечивающих оперативность, защищенность и доступность информации [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, не только соответствует мировым тенденциям развития мобильной индустрии, но и способствует формированию единого цифрового пространства МВД России, где мобильные приложения становятся частью стратегической инфраструктуры обеспечения правопорядка и безопасности.