УДК 004, 339.54.012

JavaScript как решение для мобильной кроссплатформенной разработки

Яманко Дмитрий Иванович – магистрант Санкт-Петербургского национального исследовательского университета информационных технологий, механики и оптики (ИТМО).

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

Ключевые слова: мобильное приложение, JavaScript, кроссплатформенная разработка, нативная разработка, React Native, NativeScript, Ionic.

Рынок мобильных приложений требует быстрой и эффективной разработки приложений доступных на всех актуальных платформах. Главными мобильными платформами последние 10 лет являются IOS разработанная компаний Apple и Android разработанная компаний Google. Разработка приложений для этих платформ отличается как используемыми инструментами – для IOS используется язык программирования Swift и среда разработки Xcode, для Android язык программирования Kotlin и среда разработки Android Studio, так и общим подходом к проектированию дизайна приложений [1]. Подход к разработке отдельных приложений для каждой платформы называется нативной разработкой. Главным недостатком нативной разработки является необходимость повторной разработки уже созданного ранее приложения для другой платформы, что замедляет и увеличивает стоимость процесса разработки и внедрения обновлений. Для решения данной проблемы разработчики используют кроссплатформенный подход, который позволяет использовать единый код для создания приложений для разных платформ. Этот подход становится возможным благодаря использованию универсальных языков программирования и основанных на них фреймворков [2]. Ниже представлено графическое представление циклов разработки нативного и кроссплатформенного приложения (рисунок 1).

Рисунок2

Рисунок 1. Графическое представление циклов разработки нативного и кроссплатформенного приложения

Главными преимуществами кроссплатформенной разработки являются:

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

Существует множество языков программирования позволяющих решать вопрос кроссплатформенной мобильной разработки: JavaScript, C#, Dart и Ruby [4]. Среди них JavaScript выделяется как один из наиболее универсальных языков программирования благодаря своей гибкости, большому сообществу разработчиков и широкому набору доступных инструментов разработки и фреймворков. Согласно сайту Statista мобильные кроссплатформенные JavaScript фреймворки React Native, Ionic и NativeScript занимают лидирующее положение в рейтинге популярности среди разработчиков за 2019-2022 годы (рисунок 2).

Рисунок3

Рисунок 2. Рейтинг популярности мобильных кроссплатформенных фреймворков за 2019-2022 гг

Главными преимуществами использования JavaScript как решения для разработки мобильных кроссплатформенных приложений являются:

  1. Широкая популярность среди разработчиков - JavaScript один из самых популярных языков программирования являясь главным инструментов для веб разработки [5]. Благодаря этому при выборе JavaScript как платформы для разработки мобильного приложения предоставляется широкий выбор доступных инструментов и фреймворков, что упрощает процесс изучения и поиска решений для поставленных задач разработки;
  2. Гибкость и производительность фреймворков – на JavaScript реализовано множество фреймворков решающих различные аспекты разработки мобильных приложений. Эти фреймворки предоставляют мощные инструменты разработки для создания сложных пользовательских интерфейсов и взаимодействия с нативными функциями устройств.
  3. Скорость разработки – помимо возможности использования общего кода для приложений на разных платформах JavaScript как популярный язык веб разработки позволяет использовать уже раннее разработанное веб приложение и его компоненты для разработки нового мобильного приложения, что значительно ускоряет процесс разработки приложения [6];
  4. Высокая производительность - современные JavaScript фреймворки такие как React Native демонстрируют высокие показатели производительности сопоставимые с нативными приложениями [7].

Заключение

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

Основанные на JavaScript фреймворки такие как React Native, NativeScript и Ionic предоставляют разработчикам мощные инструменты для разработки высокопроизводительных мобильных кроссплатформенных приложений при этом обладая возможностями взаимодействия с нативными функциями мобильных устройств, что позволяет достигать высокой производительности сопоставимой с нативными приложениями.

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

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

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

  1. Сорока А. С. Мобильные среды веб-разработки для мобильных приложений // Современные тенденции развития и перспективы внедрения инновационных технологий в машиностроении, образовании и экономике. 2019. № 1 (4). Т. 5. С. 163-167.
  2. Пчелкин А. Ю. Кроссплатформенная разработка на базе веб-технологий для поддержки решений в проблемно-ориентированных системах управления // Экономика. Право. Инновации. 2022. № 1. С. 41–47.
  3. Колчанова С. А. Сравнение фреймворков flutter и react native, используемых в разработке гибридных приложений // E-scio. 2022. № 4 (67). С. 558-565.
  4. Мишагин Д. В. Сравнительный анализ кроссплатформенных технологий для разработки мобильных приложений // Оригинальные исследования. 2020. № 5. Т. 10. С. 189-198.
  5. Недяк А. В. Инструменты мобильной кроссплатформенной разработки приложений // Отходы и ресурсы. 2020. № 4. Т. 7. С. 13.
  6. Андреев М. Д. Выбор платформы для разработки мобильного нативного клиентского приложения для портальных решений телеком-операторов // Информационные системы и технологии. 2019. С. 373-377.
  7. Аблякимова А. Н. Ionic framework в разработке гибридных мобильных приложений // Информационно-компьютерные технологии в экономике, образовании и социальной сфере. 2018. № 4 (22). C. 62-68.