Нативное и не нативное приложение
Компании, которые думают о разработке приложения (для своих клиентов или внутреннего пользования) могут выбрать один из трех вариантов мобильных приложений — нативные, веб или гибридные. Давайте проанализируем каждый тип, рассмотрим преимущества и недостатки, и определимся, какой из них будет лучшим выбором в той или иной ситуации и лучше всего удовлетворит потребности при создании мобильного приложения.
Нативные приложения
Под нативным мы подразумеваем мобильное приложение, которое создается для определенной платформы и непосредственно устанавливается на устройство пользователя (занимая определенный объем памяти). Такие приложения пользователь загружает через магазин приложений той или иной платформы, такой как Play Store для Google и Apple App Store для iOS.
С нативными приложениями компании могут изготовить приложение согласно индивидуальным запросам, чтобы затем пользователю было удобно им пользоваться, в дополнение к веб-сайту или другому каналу, которым он уже привык пользоваться. Эта целостность и является существенным преимуществом нативных приложений.
Некоторые другие важные преимущества нативных приложений:
- - Обозначение геолокации позволяет компаниям подстраивать свои программы лояльности или промоакции. Потребители могут получать уведомления, когда они находятся возле физических магазинов, или имеют возможность получить региональную скидку.
- - Данные действий (или бездействия) пользователя могут быть легко собраны и проанализированы, таким образом облегчая оценку эффективности всего приложения либо его отдельных функций.
- - Нативные приложения, как правило, работают и «чувствуются» лучше. Веб-приложения иногда создаются для имитации нативных, но они ограничиваются скоростью интернета и возможностями дизайна.
И возможные недостатки:
- - Нативные приложения зачастую более дорогие в разработке, особенно для компаний, которым нужны приложения на кроссплатформенных ОС
- - Нативные приложения должны быть одобрены каждым магазином приложений, а процесс привлечения внимания к нему пользователей может быть сложным (если это не приложение для внутреннего пользования в компании)
Веб-приложения
Как вы уже могли догадаться, эти приложения работают через веб-браузер на устройстве пользователя. Эти приложения по сути являются индивидуализированными вебсайтами, которые сделаны таким образом, чтобы выглядеть и использоваться как нативные приложения, но на самом деле они не находятся на устройстве пользователя. Их можно сравнить с облачным хранилищем в сравнении с данными, которые хранятся на жестком диске компьютера. При хорошей, качественной разработке, которая включает в себя подбор размеров и прокрутку, веб-приложения часто работают подобно нативным приложениям.
Вот некоторые ключевые преимущества веб-приложений:
- - Приложения на веб-основе легче поддерживаются и они могут функционировать на платформе с любой ОС
- - Разработчики могут предлагать приложения без необходимости их утверждения какими-либо магазинами приложений
- - Более быстрая разработка циклов с использованием CSS, HTML и JavaScript
И несколько минусов:
- - У веб-приложений нет доступа к устройству пользователя. Несмотря на то, что иногда было бы удобно, это ограничивает многие функции, которые используются в нативных приложениях для более персонализированного использования
- - Пользователи должны использовать их через сеть, что значительно снижает контроль безопасности
- - Поиск приложения может быть затруднительным, так как не существует магазина приложений с каталогом и функцией поиска в нем
Гибридные приложения
Гибридные приложения являются чем-то средним между нативными и веб-приложениями. Фактически они создаются так, чтобы выглядеть и использоваться как нативные приложения. Их также устанавливают на телефон пользователя и их можно найти в магазинах приложений. Различие заключается в том, что они обязательно должны размещаться в рамках нативного приложения и созданы, чтобы работать через WebView, и таким образом они могут получать доступ к информации на устройстве пользователя для больших возможностей.
Дополнительные преимущества гибридных приложений:
- - Гибридные приложения обладают наибольшей функциональностью и персонализацией для пользователя
- - Разработчики не ограничены одной платформой, вместо этого они могут создать гибридное приложение, которое будет работать с несколькими платформами (в случае работы как нативное приложение)
- - Гибриды — хорошая опция для разработчиков, которые создают визуально насыщенные приложения, например, игры (которые не будут хорошо работать в виде веб-приложений)
В любом случае, есть некоторые недостатки, о которых стоит подумать при выборе гибридного приложения:
- - Слишком сложные приложения лучше всего делать нативными
- - Разработка требует дополнительных времени и усилий (по сравнению с веб-приложениями), чтобы такое приложение выглядело и ощущалось пользователем как нативное
- - Магазины приложений могут отклонять гибридные приложения, которые работают недостаточно плавно
Выбор подходящей модели мобильного приложения — это очень важный этап в его разработке, на который влияют несколько факторов, таких как техническая оценка разработчиков; потребность в доступе к информации на устройстве; влияние скорости интернета на приложение; одно- или многоплатформенное ли приложение.
Подписывайтесь на наш блог и следите за нами в:
Если у вас есть вопросы или же вы хотели бы сделать запрос на разработку мобильного приложения, дизайна или адаптивного веб сайта - пожалуйста, используйте эту форму Форма обратной связи.
2913
- разрабатывались быстро;
- получались качественными и надежными;
- легко обновлялись и поддерживались;
- легко задействовали все необходимые возможности платформы.
Фактически, рынок заставляет разработчика делать выбор между разработкой кроссплатформенных приложений и разработкой нативных приложений. Рассмотрим детальнее, что представляет из себя каждый из указанных подходов.
Что такое нативные приложения?
Нативные приложения (от англ. native - родной) разрабатываются под конкретную аппаратно-программную платформу и пишутся на языках, созданных для данной платформы. И iOs, и Android имеют свои SDK (от англ. software development kit — набор средств разработки) и свой стек технологий, завязанные на определенный язык программирования. Например, родными языками для Android являются Java и Kotlin, для iOS, соответственно - Swift и Objective-C.
Нативные приложения создаются специально для запуска на целевой платформе - с поддержкой всех нативных технологий и аппаратных возможностей конкретной платформы.
Что из себя представляют кроссплатформенные приложения?
Как следует из названия, кроссплатформенность подразумевает создание приложений, которые могут работать в различных операционных системах. После написания кода приложения его можно развернуть на разных устройствах и платформах, не беспокоясь о проблемах несовместимости. Это универсальный подход, который широко используется для экономии времени и денег на разработку. Часто для этого используются специализированные кроссплатформенные фреймворки.
Какие инструменты для разработки кроссплатформенных приложений применяют чаще всего?
Как мы видим наиболее часто применяемым инструментом разработки кроссплатформенных мобильных приложений на конец 2017 года был Cordova – 39.89%. Вторым по частоте применения инструментом является Unity – 30.93%. Третьим – Adobe Flash с 10.39%. Следом идут Cocos2D – 9.37%, Xamarin – 4.5%, Appcelerator – 3.79%, Corona – 2.68%, React Native – 1.85%.
Тема связана со специальностями:
450 тысяч приложений на обеих платформах. Это более 28% приложений в Apple App store и 14% в Google Play Store. Это выглядит достаточно весомой частью, чтобы задуматься об присутствии на обеих платформах и попытке экономии используя кроссплатформенную разработку.
По данным того же портала, многие уже существующие приложения расширяют свой рынок, выходя, со временем, на другой платформе. При че чаще приложения выходят дополнительно на Android, выпускаясь изначально под iOs.
Можно также наблюдать тенденцию к снижению процента кроссплатформенных приложений за 2016 – 2017 годы.
Так стоит ли потратить деньги на разработку двух нативных приложений, идеально соответствующих каждой платформе, или есть смысл сэкономить ресурсы и получить одно – кроссплатформенное?
Давайте рассмотрим плюсы и минусы каждого из указанных подходов.
Преимущества и недостатки нативного подхода
Плюсы нативных приложений
Нативные приложения задумываются и разрабатываются, чтобы решать конкретные задачи на конкретной платформе. Это приводит к лучшему соответствию возможностей приложений аппаратным возможностям устройств, включая Bluetooth, NFC, камеру, GPS и т. д.
Эта соответствие необходимо, когда приложение должно использовать такие данные, как физическое и географическое местоположение и др.
Лучший пользовательский интерфейс
Минусы разработки нативных приложений
- Дороговизна и затраты времени на разработку
Видео курсы по схожей тематике:
UX/UI Design Стартовый
UX/UI Design мобильных приложений
Плюсы и минусы кроссплатформенных приложений
Как следует из названия, кроссплатформенность влечет за собой создание приложений, которые могут работать в различных операционных системах. После написания кода приложения его можно развернуть на разных устройствах и платформах, не беспокоясь о проблемах несовместимости. Это универсальный подход, который широко используется для экономии времени и денег.
Вот некоторые преимущества и недостатки использования кроссплатформенного подхода в разработке мобильных приложений.
Плюсы кроссплатформенных приложений
- Один код доступен для повторного использования на других платформах
Недостатки кроссплатформенной разработки приложений
-
Кроссплатформенные приложения не являются такими гибкими, как нативные приложения
Вывод
Подведем краткие итоги. Попробуем сузить наш достаточно сложный выбор между нативной разработкой и кроссплатформенной.
Обратите внимание на стратегию продвижения приложения и на его предполагаемый функционал. Если вам сразу нужен будет охват большей аудитории и у приложения функционал не является сложным - проще и дешевле воспользоваться кроссплатформенным подходом. Если вашему приложению необходимо использовать специфические особенности платформы, при этом нет необходимости в одновременном присутствии сразу и в Apple App Store, и в Google Play Store – разрабатывайте под выбранную платформу нативное приложение. И если ваши успехи покажут вам, что можно захватывать новый рынок – у вас уже будут средства на разработку под вторую платформу. Другие промежуточные варианты будут компромиссами и могут склонять чашу весов как к нативным, так и к мультиплатформенным решениям.
Бесплатные вебинары по схожей тематике:
Agile & Scrum – знакомство и легкое погружение
Обучение как фактор мотивации в проектных командах
Веб-дизайн с Figma. Легкий старт
Используйте выбранный вами подход для построения качественных и полезных приложений. С нашей стороны можем порекомендовать ряд видеокурсов.
Для создания кроссплатформенных игр очень удобным инструментом является Unity и на ITVDN вы найдете серию видео курсов по разработке игр на Unity.
Если вы планируете в дальнейшем разработку нативных приложений под Android, мы рекомендуем начать с таких курсов - Java Starter и Java Essential.
Также смотрите на ITVDN видео курсы по специальности Android Developer и iOS Developer.
*В этой статье мы рассматриваем гибридные приложения на основе веб-браузера.
Нативное или гибридное - вот в чем вопрос. Чтобы сделать правильный выбор, нужно четко понимать, что из себя представляет каждый тип приложений и для каких целей он служит.
Интересно! Согласно статистике от Flurry Analytics 90% всего времени за телефоном мы проводим именно в приложениях.
Несмотря на то, что у каждого типа есть свои ярые сторонники, нативные и гибридные приложения дышат в спину друг другу, и сложно выбрать безоговорочного победителя.
Имея многолетний опыт разработки нативных и гибридных приложений, Umbrella IT досконально изучила особенности обоих типов. В этой статье мы постарались собрать основные преимущества и недостатки нативов и гибридов, чтобы вам было проще сделать правильный выбор.
ГИБРИДНЫЕ И НАТИВНЫЕ ПРИЛОЖЕНИЯ
Итак, чем же отличаются эти два типа приложений друг от друга?
Нативное приложение является родным для каждой платформы, будь то iOS или Android, и пишется специально для него на определенном языке.
Для написания нативного приложения для iOS будет использоваться Swift или Objective-C. Для нативных Android приложений подойдут Java или Kotlin.
Однако согласно статистике от VisionMobile, 47% всех нативных iOS приложений и 42% всех нативных Android приложений на самом деле также используют HTML5.
А вот и пример нативного приложения:
Известное во всем мире приложение для электронной торговли Bounce было написано нашими разработчиками на языках Swift для iOS и Java для Android.
Приложение доступно в Apple Store и Google Play.
В отличие от нативных, гибридные приложения разрабатываются для обеих платформ одновременно и пишутся на универсальном языке.
Познакомиться с гибридами вы можете на примере другого нашего приложения, распространенного на западном рынке, - LASIK для онлайн поиска хирургов и записи на прием.
Приложение доступно в Apple Store и Google Play.
Давайте рассмотрим поближе каждый из типов и узнаем их самые сокровенные тайны. А начнем, пожалуй, с двуликих гибридных приложений.
ПЛЮСЫ ГИБРИДНЫХ ПРИЛОЖЕНИЙ
- Экономия. Если вы не готовы опустошить свой кошелек в погоне за идеальным приложением, а хотите получить простое приложение по доступной цене, тогда гибрид – ваш вариант. Только подумайте, сколько вы сэкономите, создав одно приложение для двух платформ сразу!
- Выход на рынок сразу на 2 платформы. Поскольку гибридное приложение пишется для двух платформ сразу, то и выходит одновременно на два рынка. За счет этого количество потенциальных пользователей также удваивается вместе с шансами, что ваше приложение будет скачано. Однако на этом сильные стороны гибридных приложений заканчиваются, и стоит уделить внимание их слабостям.
МИНУСЫ ГИБРИДНЫХ ПРИЛОЖЕНИЙ
- Непрактичность. Даже хорошо проработанное гибридное приложение может быстро устареть. Прогресс не стоит на месте, и владельцы приложений стараются шагать в ногу с ним. Как только появляются новые технологии, каждый из владельцев старается как можно скорее добавить диковинную функцию и в свое приложение. К несчастью гибридов, потребуется от 3 до 6 месяцев, чтобы изменить фреймворк и добавить в него новый функционал. Только после этого разработчики смогут усовершенствовать и ваше приложение тоже. В нативных же приложениях нововведения можно добавлять сразу после их анонсирования.
Маловероятно, что наше приложение будет пользоваться спросом у юзеров, если оно получится некачественным и нестабильным:
По статистике почти половина всех пользователей сразу же удаляет скучные и плохо проработанные приложения со своих смартфонов и устанавливает на их место другие, более качественные конкурентные приложения.
- Низкая скорость. Зачастую гибридные приложения представляют собой веб-страницы, которые не особо расторопны, например, в скроллинге тяжелого контента: картинок, анимаций и т.д.
Скроллинг - вертикальная или горизонтальная прокрутка страницы.
Помимо этого, гибридная разработка на базе веб-верстки претерпевает различные компиляции, что также снижает скорость работы приложения и совсем не радует пользователей.
Компиляция - процесс перевода высокоуровневого языка программирования (PHP, Java, JavaScript) в машинный.
- Трудности дизайна. Если вы хотите, чтобы вид вашего приложения соответствовал профессиональному и хорошо-проработанному системному дизайну каждой из платформ, будь то iOS или Android, вам придется разрабатывать дизайн для обеих операционных систем по отдельности. iOS и Android приложения имеют свои собственные, уникальные стандарты дизайна, а так как гибридное приложение не отвечает им, его вид придется «подгонять» под соответствующие рамки. Получается, по окончании работы вы получите только одно приложение, а времени и денег вы потратили как на два.
- Незащищенность исходного кода. Одним из серьезных минусов гибридных приложений является их небезопасность. В то время как нативное приложение может быть зашифровано перед выходом в официальный магазин, гибридное приложение остается “голым”. Поскольку в основе многих гибридный приложений лежит HTML страница, то ничего не стоит посмотреть ее исходный код и понять, как работает само приложение.Как минимум, ваш код может быть украден. Как максимум - взломщик может использовать ваше приложение в своих корыстных целях, например, получить приватную информацию и данные о приложении.
ПЛЮСЫ НАТИВНЫХ ПРИЛОЖЕНИЙ
- Высокое качество. Узко-специализирующийся разработчик нативных приложений напишет вам чистый, уникальный код. Многолетний опыт разработки и четкие стандарты нативных iOS & Android приложений помогут сделать качественный продукт с широким функционалом и снизить риск появления багов практически до минимума.
- Низкая вероятность отказа в размещении в App & Play Stores. Поскольку нативное приложение изначально отвечает стандартным требованиям определенной платформы, маловероятно, что вы столкнетесь с какими-либо проблемами при запуске вашего приложения в официальных магазинах App Store и Play Store.
- 100% использование UX дизайна. Современные пользователи избалованы яркими, детально-проработанными интерфейсами, и простые, стандартизированные приложения навряд ли заинтересуют их. Именно в нативной разработке UX дизайн используется на все 100%, что позволяет сделать качественное и интересное приложение. В гибридном приложении вы получите стандартизированный для двух платформ интерфейс.
- Разнообразие инструментов для разработки. Благодаря многолетнему опыту разработки нативных приложений появилось огромное количество различных фреймворков, шаблонов и других проверенных инструментов, которые позволят сделать ваше приложение уникальным, индивидуальным и стабильным.
- Большое сообщество разработчиков. Ну и конечно же, разрабатывая нативное приложение, вы навряд ли столкнетесь с проблемой, которую никто не решал до вас. А это значит, что вам не придется тратить лишнее время на поиск подходящего решения, а можно будет обратиться к опыту других программистов.
МИНУСЫ НАТИВНЫХ ПРИЛОЖЕНИЙ
- Стоимость. Как говорится, бесплатный сыр только в мышеловке. Нативное приложение - это уникальный, качественный продукт, для создания которого требуется немало времени и, конечно же, высококвалифицированный разработчик с многолетним опытом. Поэтому и стоит такое приложение соответственно.
ИНТЕРЕСНЫЙ ФАКТ
Вы удивитесь, когда узнаете, что на самом деле разработать нативное iOS приложение стоит дешевле гибрида. Не верите? Смотрите сами!
При разработке нативного приложения у вас есть огромное разнообразие инструментов, входящих в SDK той или иной платформы. То есть все, что вам нужно - использовать эти инструменты в своем нативном приложении.
В случае с гибридом - вам остается надеяться, что на тот или иной нативный инструмент существует адаптация на базе фреймворка, выбранного для гибридной разработки.
Если же такого инструмента нет - вам придется либо ждать его появления, либо рассматривать альтернативные фреймворки, то есть мороки с гибридом гораздо больше.
Исходя из этого, получается, что, создать одно нативное iOS приложение дешевле, чем одно гибридное iOS приложение.
Если же сравнивать разработку гибридного приложения и двух нативных, то цена гибрида будет ниже, как и ожидалось, ведь в гибридном приложении backend и frontend подходят для двух платформ сразу.
В нативном приложении нужно разрабатывать два отдельных frontend’а, отвечающих общепринятым стандартам каждой из платформ.
Отсюда такие расценки:
HYBRID iOS APP - $11.5K
HYBRID iOS + Android APPS
$12.5K
NATIVE iOS APP - $10K
NATIVE iOS + Android APPS
$18K
Однако если присмотреться внимательно, можно заметить, что стоимость нативных приложений ненамного превышает стоимость гибридного.
Вот теперь и думайте, экономить ли при разработке одного приложения, или нет? А может сразу сделать два нативных?
Ведь для пользователей очень важен как внешний вид приложения, так и насколько удобным и качественным оно будет.
КАКОЕ ПРИЛОЖЕНИЕ ВЫБРАТЬ?
Исходя из вышеперечисленного, мы советуем вам обратить пристальное внимание на цели, которые вы преследуете, и делать свой выбор, отталкиваясь от них.
В этом случае вы будете на 100% уверены, что деньги потрачены не зря и в результате вы получите именно то приложение, которое заказывали.
ИТАК,
Выбирайте гибридное приложение, если вы хотите получить:
- простое приложение
- приложение для двух платформ по бюджетной цене
- 1 приложение с возможностью быстрого выхода на два рынка (ios/Android)
Выбирайте нативное приложение, если вам нужно:
- профессиональное приложение, соответствующее всем стандартам выбранной платформы
- сложное приложение с широким функционалом
- приложение с высокой скоростью работы
Теперь, когда вы знаете о нативных и гибридных приложениях все и даже больше, вы сможете с легкостью сделать правильный выбор.
Воплотите все ваши самые смелые мечты и идеи в реальность вместе с Umbrella IT.
Как правило, выход любого бизнеса в интернет протекает по следующему сценарию: сначала компания запускает сайт, затем его адаптируют под мобильные устройства, и если наблюдается прирост трафика, появляется смысл закрепиться среди владельцев мобильных гаджетов, и компания выпускает приложение.
Сравнивать мобильный сайт и приложение нет смысла — второе однозначно выигрывает за счет широты своих возможностей и отзывчивого интерфейса, взаимодействовать с которым через телефон или планшет гораздо комфортнее. Кроме того, приложение может работать без постоянного подключения к интернету.
Вне зависимости от того, на чем построен ваш бизнес — на продажах, предоставлении услуг или просветительской деятельности, сегодня невозможно не учитывать время, которое люди проводят перед экранами мобильных устройств.
Эта статья призвана рассказать о двух подходах к разработке приложений — нативном и кроссплатформенном.
Каждый из подходов обладает своей спецификой, критически влияющей на конечный результат. И дабы облегчить понимание между заказчиком и разработчиком, хочется рассказать о том, что собой представляют оба подхода, разобрать их достоинства и недостатки, разрушить укрепившиеся стереотипы о разработке и дать ответ на главный вопрос: как сделать выбор в пользу того или иного подхода по принципу целесообразности.
Нативный подход
Нативные приложения — это приложения, с которыми вы сталкиваетесь с первого дня использования устройства. Это установленные по умолчанию браузер, почтовый клиент, адресная книга, будильник, календарь и другие стандартные программы.
Как создать нативное приложение? Если разработчики в процессе написания приложения пользуются принятым для конкретной платформы языком программирования, будь то и Swift для iOS или Java для Android, такое приложение будет называться нативным (от англ. native — родной, естественный). «Нативки» могут получать доступ ко всем службам, сервисам и примочкам телефона: камере, микрофону, геолокатору, акселерометру, календарю, медиафайлам, уведомлениям и так далее — в общем, полноценно обживаются и чувствуют себя как дома.
Кроссплатформенный подход
Кроссплатформенные приложения — что это? Представьте себе мобильный сайт, которому не всегда нужен интернет, а с точки зрения дизайна он ближе к мобильным приложениям, а не к . Примерно так можно описать кроссплатформенные приложения.
Так на чём писать кроссплатформенные приложения? Зачастую они создаются на языке разметки и стилей (HTML, CSS и JavaScript), как и мобильные сайты. Логически такой поступок оправдывается тем, что, в конце концов, весь — это . Такие приложения пишутся одновременно для всех платформ и адаптированы к большинству устройств, потому что для их работы в основном используется браузерный движок.
Большинство специалистов, создающих такие приложения, пользуются фреймворком PhoneGap. Его особенность заключается в том, что он позволяет открыть приложению доступ к аппаратным и программным возможностям платформы. Также к технологиям разработки кроссплатформенных приложений относятся Xamarin, Unity и прочие, но они не так популярны, как .
Компания Лайв Тайпинг имеет опыт разработки кроссплатформенных приложений. При создании таких проектов, как Classboom и «Карьера в кармане» мы успешно использовали фреймворк PhoneGap. Ниже — цитата из нашей краткой характеристики технологии для сайта Clutch.
«PhoneGap помог нам создать надёжно работающие кроссплатформенные приложения для iOS и Android. Кроме того, использование PhoneGap снизило время разработки, что повлияло на стоимость приложения для клиента."
Владислав Коробов, исполнительный директор Live Typing.
Гибридные приложения
Как видно, планка для входа в более чем перспективную область разработки мобильных приложений значительно снизилась. может подумать, что теперь верстальщики, которые не идут дальше проверенных HTML и CSS, будут отнимать хлеб у настоящих программистов. Другие видят за кроссплатформенным подходом будущее, в котором время и затраты на разработку приложений будут полностью оптимизированы. С обеих сторон найдутся аргументы, объясняющие, почему правильным является именно этот, а не другой подход к разработке.
Но когда мы говорим о решении определённых задач, эффективнее будет эти подходы скомбинировать — использовать кроссплатформенные преимущества HTML для оформления контента, а требовательные к скорости отзывчивости меню и элементы управления сделать нативными, затратив на это минимум усилий, времени и бюджета. Такие приложения называются гибридными. В этом случае только объём нативного кода определяет, какому подходу больше соответствует разработка приложения.
Какие ситуации приводят к слиянию подходов? Предположим, что клиенту нужна незатейливая новостная лента, где не будет ничего, кроме текста и изображений. Исходя из этой задачи, разработчик принимает решение использовать кроссплатформенный подход. Но если через некоторое время заказчик пожелает, чтобы приложение хранило большое количество данных или обрабатывало звук и графику, задача усложняется. Для этих целей нужно писать нативный код под каждую конкретную платформу, и некогда полностью кроссплатформенное приложение превращается в гибридное.
Распространено заблуждение, что за любой иконкой на рабочем столе пользователя ждёт нативное приложение. Это заблуждение пустило корни настолько глубоко, что даже в профессиональных кругах грешат формулировками высокого градуса абсурдности вроде «нативное ». Но на рабочий стол можно вывести даже ярлык для сайта, поэтому иконка ничего не гарантирует, и по ту сторону с равной вероятностью может оказаться как нативное приложение, так и любое другое.
Сравнение подходов
Рынок предложений растёт. Статистика продаж мобильных приложений показывает, что год от года пользователи гаджетов всё чаще меняют стандартные сервисы на альтернативные. Так, родной менеджер задач заменяется на Wunderlist, почтовый клиент — на приложение Mailbox, Evernote оказывается предпочтительнее стандартных заметок.
Заказчику важно знать преимущества и недостатки каждого из подходов и не завышать ожидания, делая выбор. Проводить сравнительный анализ будет уместно по ряду критериев.
Зависимость от платформы
Могло сложиться впечатление, что кроссплатформенному приложению комфортно на всех платформах, вплоть до самых непопулярных. Требуется оговорка: чтобы это убеждение соответствовало действительности, под каждую платформу, возможно, придётся писать кусок дополнительного кода. В случае же нативных приложений можно рассчитывать на их отличную работу, но для каждой платформы требуется разрабатывать свою версию.
Дизайн интерфейса
Не затронуть гайдлайны в контексте разработки мобильных приложений невозможно. Гайдлайны — это ценные указания от платформ в адрес разработчиков мобильных приложений, направленные на то, чтобы подогнать их дизайн и функциональность под стандарты. Гайдлайны — это фундамент, на котором зиждется психология и комфорт пользователей платформы. Проще говоря, элементы интерфейса имеют привычный внешний вид и расположение.
Языковая среда, в которой разрабатываются нативные мобильные приложения, обладает необхоимыми инструментами для создания привычного пользователю интерфейса. Другая ситуация с : чтобы сделать кроссплатформенное приложение похожим на нативное, придётся приложить немало усилий. Разные кроссплатформенные фреймворки (Framework 7, Sencha Touch, Kendo UI, Ionic и другие) помогают с той или иной степенью достоверности имитировать нативный интерфейс, но чаще всего отзывчивость, скорость анимации, эффекты и дизайн будут другими. Этому и посвящен следующий пункт.
Пользовательский опыт
Первое, чего на подсознательном уровне ждёт пользователь от своего приложения — это отзывчивости. За действием пользователя тут же следует ответная реакция, прокрутка страницы и анимация протекают плавно и без подвисаний. Кроссплатформенные приложения в этом плане значительно уступают нативным, а если не ходить вокруг да около, они тормозят, и это их главная проблема.
Также пользователь уверен в том, что каждый элемент управления, каждая иконка будут иметь стандартный вид и положение на экране приложения. Для разных платформ эти стандарты будут разными, и если создание кроссплатформенного приложения осуществлялось по гайдлайнам iOS, то пользователям Android это доставит дискомфорт, и наоборот.
Одним из ярчайших примеров может стать кнопка Back: это типичная для Android функция, которая не имеет аналога на iOS. Поэтому, когда вы создаёте кроссплатформенное мобильное приложение, компромиссов в этой ситуации может быть только два: либо дизайн един для обеих платформ, и пользователи одной из них вынуждены приспосабливаться, либо вы создаёте два разных дизайна с учётом особенностей каждой платформы. По сути, во втором случае создаются два приложения, но на одном кроссплатформенном языке.
Ограничения
Нативное приложение, написанное под конкретную платформу, чувствует себя её полноправным обитателем, получая максимальный доступ ко всем устройствам и сервисам устройства. Проектируя кроссплатформенное приложение, разработчик учитывает только возможности фреймворка, налагающего свои ограничения.
Может создать проблему и то, что у фреймворков есть множество версий, и чем старее версия, тем больше ограничений. В любом случае, кроссплатформенному приложению открыты двери далеко не ко всем фишкам платформы. Не всегда возникает необходимость в полной интеграции — её глубина зависит от задач, которые должно решать приложение.
Безопасность
Обслуживание и поддержка
Комплексное обслуживание нативных Android и (поиск и исправление ошибок, обновление и любое незначительное изменение) в среднем занимает в два раза больше ресурсов по причине необходимости как минимум двух разных специалистов (iOS и Android). С кроссплатформенным приложением может управляться один разработчик.
Стоимость мобильной разработки и затрачиваемом времени опутана заблуждениями и мифами, а потому хотелось бы затронуть эти вопросы отдельно и если не расставить все точки над i, то хотя бы этому поспособствовать.
Быстрая и дешёвая разработка кроссплатформенных приложений — миф или реальность
Кроссплатформенная разработка мобильных приложений обходится дешевле, что объясняется меньшими объёмами работ относительно нативной разработки. Но и здесь есть свои подводные камни, разглядеть которые можно, только поняв принципы ценообразования.
Всегда нужно помнить, что время и стоимость регулируется сложностью и уровнем качества выполнения задачи. Допустим, что для разработки кроссплатформенного продукта у нас есть один специалист, который знает HTML, CSS, JavaScript и имеет опыт работы в PhoneGap. Один специалист — это одна абстрактная единица ресурса (допустим, один ).
Для работы над нативным приложением таких ресурсов требуется два — iOS и Android. В итоге, для завершения нативного проекта требуется два , для завершения кроссплатформенного — полтора.
Справедливым будет вопрос: «Как так — полтора? Почему не один?» Увы, на практике кроссплатформенное приложение, хорошо работающее на iOS, будет плохо работать на Android — у всех браузерных движков своя специфика, и как следствие, оптимизацию под Android может уйти ещё половина .
Таблица 1
Платформа | Средняя ставка (RUR) | Количество человеко-месяцев | Количество часов | Итого, RUR |
iOS/Android | 800 | 2 | 320 | 256000 |
Гибридные приложения | 800 | 1,5 | 240 | 192000 |
Таблица 2
Платформа | Средняя ставка (USD) | Количество человеко-месяцев | Количество часов | Итого, USD |
iOS/Android | 25 | 2 | 320 | 8000 |
Гибридные приложения | 25 | 1,5 | 240 | 6000 |
Когда мы сравнивали подходы по нескольким критериям, мы сказали, что степень интеграции приложения в платформу обусловлена сложностью задачи, решаемой приложением. Использование того или иного шаблона или готового решения может быть довольно дешевым способом сделать приложение, пока возможностей шаблона или решения достаточно для выполнения конкретной задачи.
Но есть нюанс
И он заключается в структурной особенности приложения. Чаще всего оно предполагает наличие серверной части, куда пользователи приложения сохраняют данные и через которую обмениваются ими с другими пользователями, и она тоже требует финансовых вложений. Работа над ней может занимать до трети всего времени разработки, и оно увеличивается при необходимости создания административной панели для удобного управления данными.
Резюме
К нативной разработке стоит прибегать, если:
- вашему приложению требуется свободный доступ ко всем ресурсам и сервисам телефона;
- вы хотите получить максимально отзывчивое приложение;
- приложение должно уметь работать в офлайне;
- ваше приложение должно максимально эффективно использовать аппаратные части устройства.
Ваш вариант — кроссплатформенная мобильная разработка, если:
- вы готовы примириться с низкой отзывчивостью;
- приложение не предполагает сложной анимации и не занимается расчетами;
- приложению необходим постоянный доступ в интернет, чтобы загружать контент;
- вам нужно быстро выйти на рынок для тестирования идеи;
- у вас есть сайт, и вы хотите обернуть его в приложение за минимальную цену.
К выбору той или иной стратегии всегда приводят индивидуальные обстоятельства, ни одна статья не даёт универсального ответа.
Наш материал скорее дает вводную информацию общего характера, помочь заказчику и разработчику наладить диалог на понятном для обоих языке.
Окончательное решение стоит принимать после консультаций с разработчиками. Чем больше аргументов относительно того или иного подхода вы выслушаете, тем лучше.
Читайте также: