Научная статья на тему 'КРОССПЛАТФОРМЕННЫЕ И НАТИВНЫЕ МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ'

КРОССПЛАТФОРМЕННЫЕ И НАТИВНЫЕ МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
110
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРОССПЛАТФОРМЕННОСТЬ / ПЛАТФОРМА / МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ / ПРОГРАММИРОВАНИЕ / ЯЗЫКИ ПРОГРАММИРОВАНИЯ / РАЗРАБОТКА / ОПЕРАЦИОННАЯ СИСТЕМА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Юдина С.В., Артюхина Ю.С.

Рассмотрены преимущества и недостатки нативных и кроссплатформенных приложений, цели для которых они используются. предложены способы их создания.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CROSS-PLATFORM AND NATIVE MOBILE APPLICATIONS

The advantages and disadvantages of native and cross-platform applications for which they are used are considered.the ways of their creation are offered.

Текст научной работы на тему «КРОССПЛАТФОРМЕННЫЕ И НАТИВНЫЕ МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ»

УДК 004

Юдина С.В., ученая степень бакалавр

студент гр 17ВМ1 Артюхина Ю.С., ученая степень бакалавр

студент гр 17ВМ1 Пензенский Государственный Универститет

Россия, г. Пенза

КРОССПЛАТФОРМЕННЫЕ И НАТИВНЫЕ МОБИЛЬНЫЕ

ПРИЛОЖЕНИЯ

Рассмотрены преимущества и недостатки нативных и кроссплатформенных приложений, цели для которых они используются. предложены способы их создания.

Нативность, кроссплатформенность, мобильные приложения, программирование, языки программирования, платформа, разработка, операционная система.

Students gr 17 in M1 Yudina S. V. academic degree bachelor Artyukhina Yu.S. academic degree bachelor

Penza state University Russia, Penza

CROSS-PLATFORM AND NATIVE MOBILE APPLICATIONS

The advantages and disadvantages of native and cross-platform applications for which they are used are considered.the ways of their creation are offered.

Innocence, cross-platform, mobile applications, programming, programming languages, platform, development, operating system.

Нативные приложения рассчитаны на параметры и свойства конкретной платформы (мобильной ОС, связанной с нею экосистемы и технических характеристик мобильного устройства) и задействует все возможности аппаратной платформы, которые требуются для работы с приложением — от камеры и модуля GPS до управлением жестами.

В процессе написания приложения пользуются принятые для конкретной платформы языки программирования, как Objective-C и Swift для iOS или Java для Android.

Кроссплатформенность— способность работать на нескольких аппаратных платформах или операционных системах, она обеспечивается за счет использования высокоуровневых языков программирования.

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

Для нативных и кроссплатформенных приложений есть особенности написания кода для разных платформ. Для того чтобы кроссплатформенное

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

Кроме работоспособности на различных платформах важным фактором рентабельности приложения является дизайн интерфейса т.е. гайдлайны. Гайдлайны — это ценные указания от компаний-производителей платформ в адрес разработчиков мобильных приложений, направленные на разработку дизайна и функциональности под стандарты устройства. Это значит что элементы интерфейса должны иметь привычный внешний вид и расположение.

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

Кроссплатформенные приложения в плане скорости и плавности прокрутки значительно уступают нативным. Для пользователя нужно чтобы каждая иконка имела стандартный вид и положение на экране приложения. Для разных платформ эти стандарты будут разными, и если кроссплатформенное приложение сделано по гайдлайнам iOS, то пользователям Android это доставит дискомфорт, и наоборот.

Кроме этого, кроссплатформенные приложения имеют ряд ограничений по взаимодействию с конкретной платформой.

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

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

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

Имеется ряд самых популярных кросс-платформенных фреймворков PhoneGap, Xamarin, Unity, Qt и Appcelerator Titanium, Telerik Platform. На сегодняшний день они занимают 80% рынка разработки кроссплатформенных приложений для мобильных устройств.

Фреймворк PhoneGap позволяет создавать мобильные приложения используя стандартные веб технологии (HTML5, JavaScript and CSS3). PhoneGap Build позволяет делать сборки для iOS, Android и Windows Phone одновременно, без необходимости устанавливать какие-либо SDK tools. Этот сервис позволяет делать сборки для iOS в облаке без наличия Mac. PhoneGap представляет возможность использовать нативные функции мобильного устройства по работе с: камерой, компасом, контактами, файловым хранилищем, геолокацией, базой данных, событиями, медия и др.

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

Таким образом, его преимущества: имеет простое API, что позволит легко начать разработку, имеется возможность использования любых существующих JavaScript библиотек (JQuery, Prototype, Sencha Touch), поддерживаются все мобильные платформы.

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

Xamarin еще один из кроссплатформенных фреймворков. Xamarin позволяет создавать одну единственную логику приложения с применением C# и .NET.

Функционально платформа Xamarin представляет ряд субплатформ через которые приложения могут направлять запросы к прикладным интерфейсам на устройствах. Определяется визуальный интерфейс, привязывается логика на C#, и все это будет работать на Android, iOS и Windows Phone.

Преимущества: большое и развивающееся сообщество, разработчики могут использовать TestCloud для тестирования приложений автоматически, можно повторно использовать уже написанный код, приложения под разными системами будут выглядеть очень похоже, динамическая верстка для iOS в бесконечное число раз проще, чем вручную.

Недостатки: некоторые интерфейсные паттерны тяжело реализовать на monodroid так как решения по умолчанию опираются на костыли платформы, которые могут не работать в Xamarin, Android страницы невозможно расположить как часть уже существующего Activity/Fragment.

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

Использованные источники:

1. https://rn.habr.com/post/319348/

2. https: //m. habr. com/post/133897/

3. https://vc.ru/10488-cross-native

i Надоели баннеры? Вы всегда можете отключить рекламу.