Мировой рынок мобильных приложений, который по ожиданиям в этом году составит $77 миллиардов, претерпевает некоторые изменения. На сегодняшний момент 99,6% смартфонов функционируют на операционной системе IOS или Android. Сейчас многие компании используют мобильные приложения как канал информирования пользователей о зарождающихся брендах, а не как способ ведения бизнеса. Эксперты начинают задаваться вопросом будущего мобильных приложений, это связано с растущим внедрением AI solutions (т.е. чатботов) и мессенджеров. В условиях противоречий и беспорядка, вопрос нативной или кроссплатформенной разработки мобильных приложений стоит острее чем когда-либо. Должна ли ваша компания инвестировать в нативную разработку или лучше создать кросплатформенное приложение? В этой статье говорится о ключевых моментах различия нативной и кроссплатформенной разработки приложений и почему сочетание этих двух технологий может быть не очень правильным решением.
Ключевые отличия
Разработка нативного приложения — это технология, которая отвечает требованиям ядра операционной системы с использованием SDK (а также с предоставлением возможности работы с памятью, внутренними датчиками устройства и другими установленными приложениями).
Преимущества нативных приложений включают в себя:
- Высокую производительность;
- Основной пользовательский опыт;
- Большую видимость в магазинах приложений.
Разработка кроссплатформенного приложения – это технология, которая совместима со множеством операционных систем и таким образом работает на разных смартфонах и планшетах.
Существует два типа реализации кроссплатформенной разработки:
- Нативные кроссплатформенные приложения. Каждая операционная система имеет собственный SDK и технический стек (Java для Android и Objective-C/Swift для iOS). Опытный разработчик может создать единый API функционирующий на native Software Development Kit и использующий одну и ту же кодовую базу для Android и IOS. Нативные кроссплатформенные приложения обычно создаются с помощью Xamarin и Appcelerator Titanium.
- Гибридное HTML5 приложение. Хотя, мобильные приложения разрабатываются для смартфонов и планшетов, их бэкэнд серверы справляются с логикой приложения. С тех пор как IOS и Android SDK начали характеризоваться как продвинутые веб-компоненты, квалифицированные разработчики программного обеспечения часто используют WebView, чтобы создать разные части приложения GUI (Graphical User Interface) с использованием HTML5, CSS и JavaScript. Наиболее популярным средством является фреймворк — Apache Cordova (раннее известный как PhoneGap).
Топ инструменты кроссплатформенной разработки приложений:
Apache Cordova, Xamarin и Unity насчитывают 70% инструментов занимающих весь рынок мобильной разработки.
- Apache Cordova.. Технический стек Аpache Cordova состоит из HTML5, CSS3 и JavaScript. Механизмы разработки мобильных приложений дают доступ ко встроенному акселерометру смартфона, хранилищу файлов, GPS, контактным данным, мультимедиа и оповещениям. Apache Cordova также может похвастаться несколькими преимуществами включая довольно простой API и возможностью использовать любой JS фреймворк. Тем не менее, платформа представляет UI интерфейс приложения через веб-браузер (который, конечно, может лагать).
- Xamarin. Приложения на Xamarin создаются с помощью C# и .Net. Xamarin позволяет разработчикам повторно использовать код и облегчает процесс создания динамического макета для IOS. Однако определенно компоненты UI не могут быть осуществлены на MonoTouch и MonoDroid, с тех пор как они положились на специфические особенности Android и IOS.
- Unity. Unity — это популярная технология разработки мобильных приложений, обеспечивающая разработчикам возможность создавать высоко квалифицированные 2D/3D приложения (обычно игры) для разных платформ, включая Windows, iOS, Android и Xbox.Unity (наряду с Unreal Engine) считается одним из лучших инструментов для представления 3D контента. Решение имеет множество бесплатных плагинов и поддерживает разработку пользовательских шейдеров. Unity имеет крутую кривую обучения, а ее компиляторы не оптимизированы для процессоров ARM.
Можно сказать, что популярность кроссплатформенной разработки мобильных приложений можно отнести к возрастающему спросу создания приложений для предприятий (которые скоро превзойдут возможности имеющихся разработок на 500%) и печально известный Bring Your Own Device trend (в течение 2017 года, половина работников будут требовать у работодателей использовать их собственные гаджеты для рабочих целей).
Когда экономия ресурсов и сокращение времени внедрения приложения перевешивают UX (удобство пользовательского использования), тогда кроссплатформенная разработка имеет место быть.
Преимущества и недостатки кроссплатформенных приложений
Преимущества разработки кроссплатформенного приложения включают в себя:
- Более короткое время разработки. Если вы выберите верный технический стэк и распланируете свой проект тщательно, вы получите возможность переиспользовать до 80% кода.
- Рентабельность. Разработать нативное мобильное приложение обойдется вам в минимум десять тысяч долларов, и здесь мы говорим не о клоне “Clash of Clans”. Умножая стоимость IOS и Android и добавляя 30% (разработка Android более дорогая) и вы получите приблизительную стоимость запуска приложения на обоих платформах App store и Play market.
- Воздействие на большое количество пользователей. Многие кроссплатформенные приложения работают на IOS и Android системах (также на Windows, Linux, Tizen и даже Symbian).
- Синхронизация обновлений. В мире где разработчики приложений внедряют обновления 4 раза в месяц, техническое обслуживание может забирать большую часть доходов приложения на себя, и это именно то место, где выигрывают кроссплатформенные разработки.
Где приложения, независимые от платформы проигрывают:
- Проблемы с производительностью. Вычислительная мощность смартфонов относительно мала. Содействие материально-техническому обеспечению HTML5/CSS UI, напротив, требует много ресурсов GPU/CPU и может увеличить время отклика приложения.
- Проблемы с дизайном. Соединение UX требований по дизайну двух платформ может вызвать затруднение. Apple особенно печально известны своим Human Interface Guidelines и отклоняют вебсайты в нативной обертке. Однако 20% отказов в App Store приходятся на баги приложения и плохой UI дизайн. Если вы обратитесь к надежной компании по разработке кроссплатформенных приложений на HTML, ваше приложение скорее всего получит зеленый свет.
Выбирая между нативной и кроссплаторменной разработкой приложения
Выбор между нативной и кроссплатформенной разработкой приложения зависит от набора функций приложения и его назначения
Если предполагается, что ваше приложение станет самостоятельным бизнесом (как фитнес приложения, или приложения по заботе о вашем здоровье, или популярные приложения изменения лица), то следует выбирать нативные способы разработки. Для компаний, которые хотят сугубо информативные или приложения для распространения информации, подойдет кроссплатформенная разработка приложения.
Возвращаясь в 2012 год к Facebook, самой большой мировой социальной сети, реализация их приложения на HTML5 вместо нативного приложения IOS вполне может называться самой большой ошибкой, которую они когда-либо делали. По словам Мика Джонсона, бывшего управляющего отдела IOS в компании Facebook, решение перейти к нативной разработке решит три главных проблемы, связанные с показателями приложения, включая скорость загрузки, пролистывание ленты новостей и загрузки фотографий. Facebook спустя год продолжил реализацию нативного приложения уже и на Android. Компания ничего не имела против HTML5 – эта технология до сих пор используется для мобильной версии сайта. Однако все это не отвечало требования компании и могло в любой момент провалиться. Именно поэтому вам следует искать опытного разработчика, разрабатывать грамотный план стратегии вашей работы.
Статья переведена Екатериной Гулидовой. Источник: Andrew Klubnikin на medium.com