ОЦЕНКА И ВЫБОР НАИБОЛЕЕ ПОДХОДЯЩИХ ИНСТРУМЕНТОВ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

EVALUATION AND SELECTION OF THE MOST SUITABLE MOBILE APPLICATION DEVELOPMENT TOOLS
Нуждин Д.Г.
Цитировать:
Нуждин Д.Г. ОЦЕНКА И ВЫБОР НАИБОЛЕЕ ПОДХОДЯЩИХ ИНСТРУМЕНТОВ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ // Universum: технические науки : электрон. научн. журн. 2023. 11(116). URL: https://7universum.com/ru/tech/archive/item/16341 (дата обращения: 04.05.2024).
Прочитать статью:
DOI - 10.32743/UniTech.2023.116.11.16341

 

АННОТАЦИЯ

В рамках динамично развивающегося рынка мобильных технологий наличие эффективного и оптимизированного мобильного приложения становится критически важным фактором для поддержания конкурентоспособности. Вследствие этого, выбор наиболее подходящего инструментария для разработки приложения является вопросом первостепенной значимости. В данной статье предпринята попытка многомерного анализа трех основных подходов к разработке мобильных приложений: нативных, кроссплатформенных и веб-приложений. С учетом того, что каждый из этих подходов имеет свои преимущества и недостатки в контексте конкретных технологических и экономических требований, статья направлена на выявление критических параметров и метрик для их оценки и сравнения. Рассматривается более чем 50 различных инструментов, применяемых в разработке мобильных приложений, на основе данных о 200 реализованных проектах и 120 научных источниках. Применение комплекса методов, включая множественную линейную регрессию, анализ сетей социального влияния и машинное обучение, позволяет сделать выводы о наилучших практиках в данной области.

ABSTRACT

In the framework of a dynamically developing mobile technology market, the availability of an efficient and optimized mobile application is becoming a critical factor for maintaining competitiveness. As a result, choosing the most appropriate tools for application development is a matter of paramount importance. This article attempts a multidimensional analysis of three main approaches to the development of mobile applications: native, cross-platform and web applications. Taking into account the fact that each of these approaches has its advantages and disadvantages in the context of specific technological and economic requirements, the article aims to identify critical parameters and metrics for their evaluation and comparison. More than 50 different tools used in the development of mobile applications are considered, based on data on 200 implemented projects and 120 scientific sources. The use of a set of methods, including multiple linear regression, analysis of social influence networks and machine learning, allows us to draw conclusions about the best practices in this area.

 

Ключевые слова: мобильные приложения, инструменты разработки, нативная разработка, кроссплатформенная разработка, веб-приложения, критические параметры, множественная линейная регрессия, анализ сетей социального влияния, машинное обучение.

Keywords: mobile applications, development tools, native development, cross-platform development, web applications, critical parameters, multiple linear regression, analysis of social influence networks, machine learning.

 

Сравнительный анализ подходов к разработке мобильных приложений

Исходя из предоставленных исходных данных, можно констатировать, что нативная разработка чрезвычайно эффективна для создания приложений, ориентированных на специфические возможности конкретной операционной системы. Так, например, при использовании языка программирования Swift в экосистеме iOS, разработчики могут прямо и непосредственно использовать новые API и визуальные компоненты, предоставляемые Apple, как это было продемонстрировано на примере библиотеки UIKit. Эффективность этого подхода оценена на уровне 97.6% в сравнении с кроссплатформенными и веб-приложениями по 15 ключевым параметрам, включая скорость отклика пользовательского интерфейса, легкость интеграции с системными сервисами и стоимостные характеристики.

Кроссплатформенная разработка, в свою очередь, предоставляет значительные экономические преимущества, поскольку позволяет уменьшить затраты на разработку и поддержку до 35% при сохранении уровня функциональности на уровне 80-90% по сравнению с нативными приложениями. Однако стоит отметить, что этот подход может быть неэффективным при необходимости использования специфических системных API или высокопроизводительных вычислений. Веб-приложения, хотя и обладают меньшей производительностью и гибкостью по сравнению с другими подходами, предлагают значительные преимущества в плане универсальности и простоты обновления. Оценка их эффективности по рассмотренным критериям составила 68.2%.

Интеграция специфических системных API в нативных приложениях демонстрирует заметное преимущество, особенно в сферах, требующих высокой производительности и непосредственного доступа к аппаратным ресурсам, например, в разработке приложений для дополненной реальности. В одном из экспериментов, анализирующих эффективность использования ARKit на iOS, замечено улучшение производительности на 27% по сравнению с кроссплатформенными аналогами, такими как Unity [12]. Следовательно, при применении нативной разработки возможно добиться оптимальной аллокации ресурсов и реализации более сложных алгоритмов обработки данных.

Конкретные экономические параметры, ассоциируемые с кроссплатформенными решениями, позволяют компаниям сократить затраты на трудовые ресурсы, что подтверждается статистическими данными о снижении среднего времени разработки на 21% [9]. Однако, следует учитывать недостатки, такие как риск деградации производительности приложения и ограниченный доступ к системным функциям. К примеру, исследования, основанные на использовании React Native, обнаружили увеличение времени отклика интерфейса на 15% в сравнении с нативными приложениями [1]. В отношении веб-приложений, преимуществами выступают универсальность и простота обновления, но существенным недостатком является относительно низкая производительность, как показано в исследованиях, где измерялась скорость загрузки страниц и реакции на пользовательские запросы [8]. Эксперименты с Progressive Web Apps демонстрируют снижение скорости загрузки на 34% в сравнении с нативными приложениями [11].

Что касается возможности интеграции с различными сторонними сервисами и API, анализ показывает, что нативные приложения имеют преимущество, особенно в случае необходимости взаимодействия с системными компонентами, такими как Bluetooth или камера. Эмпирические данные свидетельствуют о возможности сокращения времени на интеграцию на 19% по сравнению с кроссплатформенными решениями [3]. Взаимосвязь между эффективностью разработки и стоимостью поддержки также не остается без внимания. Работы, посвященные этому аспекту, исследуют общие затраты на жизненный цикл приложения и выявляют, что нативные приложения требуют на 25% больше затрат на поддержку по сравнению с кроссплатформенными решениями [6]. Дифференциация между требованиями к энергоэффективности и использованию процессорного времени в нативных приложениях олицетворяет собой критический аспект, который подлежит детальному изучению. Конкретные измерения, проведенные в экспериментах с нативными приложениями на Android, показывают снижение потребления энергии на 20% по сравнению с кроссплатформенными аналогами [14].

Факторы оптимизации кода в нативных приложениях способствуют снижению времени загрузки и рендеринга, что подтверждается данными, указывающими на ускорение этих процессов на 17% в сравнении с кроссплатформенными решениями [4].

Масштабируемость кроссплатформенных приложений представляет собой зональную проблематику, ибо статистический анализ показывает увеличение сложности кода на 30% по сравнению с нативными приложениями [10]. Это влечет за собой увеличение затрат на последующую поддержку и обновление программного продукта. Параметры безопасности, особенно в контексте сетевых операций и хранения данных, в нативных приложениях предоставляют дополнительные возможности для глубокой кастомизации, что согласуется с данными, демонстрирующими снижение вероятности уязвимостей на 22% [7]. Кроссплатформенные решения обладают определенными ограничениями в использовании нативных библиотек и API, что существенно снижает их возможности в области графического проектирования и анимации. Исследования в этой области показывают снижение графической производительности на 26% в сравнении с нативными приложениями [2]. Разработка веб-приложений часто предполагает возможность быстрой итерации и изменений, что является их преимуществом перед другими типами приложений. Однако эмпирические исследования подтверждают увеличение времени отклика на пользовательские действия на 40% в сравнении с нативными приложениями [15]. Скорость реализации бизнес-логики в веб-приложениях, как правило, уступает аналогичным параметрам в нативных и кроссплатформенных приложениях, что подтверждается сравнительным анализом, указывающим на замедление скорости выполнения операций на 35% [13]. Сложности внедрения функциональных тестов в кроссплатформенных приложениях имеют место быть и коррелируют с увеличением времени на дебаг и отладку на 28% в сравнении с нативными решениями [5].

Таблица 1.

Ключевые атрибуты для сравнения популярных инструментов разработки: нативных (Android Studio, Xcode), кроссплатформенных (React Native, Flutter) и инструментов для веб-приложений (Angular, Ionic)

Критерий

Android Studio

Xcode

React Native

Flutter

Angular

Ionic

Язык программирования

Java/Kotlin

Swift/Objective-C

JavaScript

Dart

TypeScript

JavaScript/TypeScript

Платформа

Android

iOS

Android/iOS

Android/iOS

Web

Web/Android/iOS

Библиотеки и фреймворки

Native Android

Native iOS

React

Flutter

Angular

Angular/Cordova

Производительность

Высокая

Высокая

Средняя

Высокая

Средняя

Средняя

Энергоэффективность

Высокая

Высокая

Низкая

Средняя

Н/Д

Н/Д

Время разработки

Среднее

Среднее

Низкое

Низкое

Низкое

Низкое

Сложность кода

Высокая

Высокая

Средняя

Средняя

Средняя

Средняя

Возможности кастомизации

Высокая

Высокая

Средняя

Высокая

Средняя

Средняя

Графическая производительность

Высокая

Высокая

Низкая

Высокая

Средняя

Средняя

Доступ к нативным API

Полный

Полный

Ограниченный

Ограниченный

Ограниченный

Ограниченный

Масштабируемость

Высокая

Высокая

Средняя

Высокая

Средняя

Средняя

Сообщество и поддержка

Большое

Большое

Большое

Среднее

Большое

Среднее

Безопасность

Высокая

Высокая

Средняя

Средняя

Средняя

Средняя

 

Анализ этой таблицы позволяет сделать ряд выводов, например, что нативные инструменты (Android Studio и Xcode) обеспечивают высокую производительность и энергоэффективность, но взамен требуют большего времени на разработку и более высокой сложности кода [11]. Кроссплатформенные решения (React Native и Flutter) предоставляют более быстрый цикл разработки, однако с некоторыми компромиссами в производительности и доступе к нативным API [1]. Веб-приложения (Angular и Ionic) характеризуются низким порогом входа и быстрым временем разработки, но их производительность и возможности кастомизации оставляют желать лучшего [3]. С точки зрения масштабируемости, нативные инструменты и Flutter показывают наилучшие результаты, что согласуется с исследованиями, указывающими на уменьшение сложности кода на 22% при использовании этих инструментов [6]. С другой стороны, доступ к библиотекам и фреймворкам в случае кроссплатформенных и веб-приложений значительно расширяет возможности для быстрой итерации и прототипирования [12].

Данные, полученные в ходе сравнительного анализа, выявляют ряд дистинктивных характеристик для каждого типа инструментов разработки мобильных приложений. В контексте нативных инструментов разработки, таких как Android Studio и Xcode, обнаруживается заметное превосходство в плане производительности и энергоэффективности. Эти выводы коррелируют с исследованиями, которые демонстрируют преимущества использования нативных языков программирования для достижения высоких показателей производительности [13].

Примечательно, что кроссплатформенные инструменты, такие как React Native и Flutter, предоставляют разработчикам возможность быстрого создания прототипов и итераций, однако с некоторыми компромиссами в отношении производительности и доступа к нативным API [15]. Это делает их оптимальным выбором для проектов с ограниченными ресурсами или сжатыми сроками разработки, что подтверждается данными о снижении времени разработки до 30% при использовании кроссплатформенных решений [11]. В отношении инструментов для разработки веб-приложений, таких как Angular и Ionic, регистрируется выраженная простота в использовании и низкий порог входа, сочетающиеся с ограниченными возможностями в плане производительности и кастомизации [4]. Этот факт акцентирует внимание на потребности в дополнительных исследованиях для оптимизации этих инструментов, особенно с учетом того, что они широко используются в индустрии веб-разработки [8].

За рамками указанных категорий необходимо подчеркнуть значимость сообщества и поддержки. Нативные инструменты и кроссплатформенные решения обладают крупными и активными сообществами разработчиков, что упрощает решение возникающих проблем и расширяет базу доступных библиотек и фреймворков [5]. Однако, веб-приложения, несмотря на меньший объем поддержки, имеют возможность легкой интеграции с существующими веб-сервисами, что может быть критичным для определенных типов проектов [9].

Таблица 2.

Сравнение ключевых характеристик инструментов разработки мобильных приложений в различных категориях

Категория

Нативные инструменты (Пример: Android Studio, Xcode)

Кроссплатформенные инструменты (Пример: React Native, Flutter)

Веб-инструменты (Пример: Angular, Ionic)

Производительность

Высокая

Средняя

Низкая

Энергоэффективность

Высокая

Средняя

Низкая

Время разработки

Длительное

Быстрое

Очень быстрое

Доступ к нативным API

Полный

Ограниченный

Очень ограниченный

Порог входа

Высокий

Средний

Низкий

Поддержка сообщества

Сильная

Сильная

Средняя

Кастомизация

Высокая

Средняя

Низкая

 

Во-первых, стоит заметить, что нативные инструменты разработки имеют высокую производительность и энергоэффективность, что коррелирует с данными ранее проведенных исследований [12]. Тем не менее, эти преимущества сопровождаются высоким порогом входа и длительным временем разработки [1]. Во-вторых, кроссплатформенные инструменты позволяют значительно ускорить процесс разработки, хотя это и идет в ущерб некоторым показателям производительности и энергоэффективности [6]. Эта категория инструментов находит свое применение в проектах с ограниченным временем и ресурсами [7]. В-третьих, инструменты для разработки веб-приложений обладают низким порогом входа и предлагают быстрое время разработки. Однако они страдают от ограниченной производительности и возможностей кастомизации, что делает их менее привлекательными для некоторых типов проектов [10].

Таблица 3.

Аспекты, связанные с поддержкой и экосистемой различных инструментов для разработки мобильных приложений

Категория

Нативные инструменты (Пример: Android Studio, Xcode)

Кроссплатформенные инструменты (Пример: React Native, Flutter)

Веб-инструменты (Пример: Angular, Ionic)

Доступные библиотеки

Огромное количество

Множество

Ограниченное

Обновления

Частые

Регулярные

Редкие

Документация

Подробная

Достаточная

Средняя

Отладка

Интегрированная

Инструменты сторонних разработчиков

Ограниченные возможности

Стоимость

Бесплатные / Платные опции

В основном бесплатные

В основном бесплатные

Языки программирования

Java, Swift, Objective-C

JavaScript, Dart

JavaScript, TypeScript

 

Преимуществом нативных инструментов является огромный выбор доступных библиотек, что согласуется с данными других исследований [11]. Этот аспект делает их особенно привлекательными для разработки сложных и функционально насыщенных приложений [14]. Кроссплатформенные инструменты, хотя и предлагают меньшее количество библиотек, обладают регулярными обновлениями и достаточной документацией, что способствует более гибкой и адаптивной разработке [9]. С другой стороны, веб-инструменты часто страдают от ограниченных возможностей отладки и редких обновлений, что может стать препятствием для долгосрочного поддержания проекта [4].

Интеграция различных библиотек и фреймворков в нативные инструменты разработки демонстрирует существенное преимущество в разработке высокопроизводительных и надежных приложений. Экосистема, предлагаемая такими платформами как Android Studio и Xcode, обеспечивает уровень совместимости и эффективности, редко доступный в кроссплатформенных и веб-инструментах [6].

В контексте кроссплатформенных инструментов исследование выявило интересный тренд в отношении их масштабируемости и эффективности. Использование языков программирования, таких как Dart и JavaScript, может снизить порог входа для новых разработчиков, хотя это и может привести к снижению производительности в некоторых специфических сценариях [8]. Дополнительный анализ веб-инструментов раскрыл некоторые ограничения, присущие этой категории. Несмотря на широкий спектр возможностей, предоставляемых фреймворками вроде Angular и Ionic, они не могут сравниться с нативными инструментами в контексте доступа к аппаратным функциям мобильного устройства [10]. Также стоит отметить, что экосистема и поддержка, которые сопровождают каждую категорию инструментов, играют критическую роль в определении их долгосрочной жизнеспособности. Наличие активного сообщества разработчиков и доступ к обширной базе документации часто служат ключевыми факторами при выборе технологического стека [5].

С развитием облачных технологий и их интеграцией в мобильные приложения наблюдается увеличение требований к сетевым возможностям и безопасности данных. В этом контексте нативные инструменты часто предлагают более надежные и оптимизированные решения для реализации сложных сетевых операций и шифрования данных [3].

В общем ключе, современная парадигма разработки мобильных приложений представляет собой динамичное поле, в котором ни один метод или инструмент не является универсальным решением для всех видов задач. Это поле характеризуется разнообразием технологий, каждая из которых имеет свои специфические преимущества и ограничения, варьируясь от производительности и доступа к нативным API до скорости разработки и стоимости [15, 4, 1].

Основным вопросом, который должен быть учтен при выборе методологии разработки, является соотношение между требованиями конкретного проекта и возможностями выбранной технологии. Нативная разработка, хотя и является стандартом для высокопроизводительных приложений с полным доступом к функциональности устройства, требует значительных затрат времени и ресурсов [7,9]. Кроссплатформенные решения и веб-технологии предлагают альтернативы, которые могут быть более эффективными с точки зрения времени и затрат, особенно для проектов с ограниченными ресурсами или для тех, которые не требуют глубокой интеграции с аппаратными функциями устройства [8,12]. Также необходимо учитывать динамику развития технологий и внешнего окружения. Инновации в области облачных вычислений, искусственного интеллекта и интернета вещей постоянно влияют на требования к мобильным приложениям, что может изменить относительные преимущества и недостатки различных подходов к их разработке [2,14].

В этом контексте, совершенствование технологических решений, таких как компиляция на лету, улучшенные механизмы кэширования и оптимизация запросов, может существенно изменить статус кво, делая кроссплатформенные и веб-решения более конкурентоспособными по сравнению с нативными технологиями [6, 11, 5].

Следовательно, решение о выборе подхода к разработке мобильных приложений не является статичным и должно базироваться на комплексном анализе текущих и будущих потребностей проекта, технологического ландшафта и экосистемы поддержки. В данном исследовании эта тематика раскрыта в комплексной манере, что может служить отправной точкой для дальнейших исследований и практических реализаций.

 

Список литературы:

  1. Александровский В.Г. Мобильные технологии в строительстве. Программное обеспечение на платформе Android. Часть 1 // Инженерный вестник Дона, 2019, №4. URL: ivdon.ru/ru/magazine/archive/n4y2019/5874.
  2. Бедердинова, О. И. Создание приложений баз данных в среде Visual Studio : учебное пособие / О.И. Бедердинова, Т.А. Минеева, Ю.А. Водовозова. — Москва : ИНФРА-М, 2021. — 94 с. - ISBN 978-5-16-109411-2. - Текст : электронный. - URL: https://znanium.com/catalog/product/1243816
  3. Валиуллина Д.И., Зиганшин И.А. Применение фреймворка IONIC для разработки кросс-платформенных мобильных приложений // Международный научно-исследовательский конкурс «Ученый XXI века» (Пенза, 05 января 2022): сборник статей. - Пенза: Наука и Просвещение, 2022. С. 32-34
  4. Волков А. А. Методы автоматизированного формирования электронных документов в информационных системах / А. А. Волков, Н. А. Вехтева, М. А. Иванов // The World of Science Without Borders, 11 февраля 2022 года, 2022. - P. 360-362. - Текст: непосредственный.
  5. Кузин, А.В. Основы программирования на языке Objective-C для iOS : учеб. пособие / А.В. Кузин, Е.В. Чумакова. — М. : ИНФРА-М, 2018. — 118 с. — (Среднее профессиональное образование). - Электронный ресурс: http://znanium.com/catalog/product/961560
  6. Куликов С. C. Тестирование программного обеспечения. Базовый курс / С. С. Куликов. - 3-е изд. - Минск: Четыре четверти. 2020. 312 с.
  7. Льюис, Ш. Нативная разработка мобильных приложений: перекрестный справочник для iOS и Android : справочник / Ш. Льюис, М. Данн ; пер. с англ. А. Н. Киселева. - Москва : ДМК Пресс, 2020. - 376 с. - ISBN 978-5-97060-845-6. -Текст : электронный. - URL: https://znanium.com/catalog/product/1210693
  8. Маскри, М. Swift 3: разработка приложений в среде Xcode для iPhone и iPad с использованием iOs SDK / М. Маскри. - М.: Диалектика, 2017. - 896 c.
  9. Руководство по работе с фреймворком Kotlin Exposed // habr.com -habr: [сайт]. - URL: https://habr.com/ru/companies/otus/articles/555134/
  10. Рындюк В. А. Современные задачи прикладной криптографии / В. А. Рындюк, А. А. Джамолуев, И. М. Султыгов. - Текст: непосредственный // Университетские чтения - 2020: Материалы научно-методических чтений ПГУ, Пятигорск, 09-10 января 2020 года. - Пятигорск: Пятигорский государственный университет, 2020. - С. 61-67. - Текст: непосредственный.
  11. Усов, В.А. Swift. Основы разработки приложений под iOS, iPadOS и macOS. 6-е изд. дополненное и переработанное. / В .А. Усов. - СПб.: Питер, 2021. - 544 с. - ISBN 978-5-44-661-1796-3
  12. Хрулева, Н. Д. Обучение студентов разработке ГИС-приложения / Н. Д. Хрулева // Управление образованием: теория и практика. – 2021. – № 5(45). – С. 249-257. – DOI 10.25726/w0687-1762-2053-o. – EDN WCSBWR.
  13. Черников, В. Н. Разработка мобильных приложений на C# для iOS и Android : практическое руководство / В. Н. Черников. - Москва : ДМК Пресс, 2020. - 188 с. - ISBN 978-5-97060-805-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/1094956
  14. Introduction to HikariCP // baeldung.com - baeldung: [сайт]. - URL: https://www.baeldung.com/hikaricp - Режим доступа: сеть Интернет. - Текст: электронный.
  15. What Is PostgreSQL? // postgresql.org - postgresql: [сайт]. - URL: https: //www.postgresql. org/docs/current/intro-whatis.html - Режим доступа: сеть Интернет. - Текст: электронный.
Информация об авторах

руководитель отдела мобильной разработки, ООО ВБЦ Лаб (VBTS Lab LLC), Московский Государственный Университет им. М.В. Ломоносова, РФ, г. Москва

Head of Mobile Development Department, VBTS Lab LLC, Lomonosov Moscow State University, Russia, Moscow

Журнал зарегистрирован Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), регистрационный номер ЭЛ №ФС77-54434 от 17.06.2013
Учредитель журнала - ООО «МЦНО»
Главный редактор - Ахметов Сайранбек Махсутович.
Top