Вам нужно нативное приложение или гибридное решение?

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

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

Во-первых, перекрестная компиляция означает, что вы пишете приложение на определенном языке (скажем, Javascript или C#), и существует компилятор, способный создать собственный код для вашего кода. Затем этот собственный код будет скомпилирован и упакован с использованием типичной цепочки инструментов. Xamarin — самый большой фреймворк в этой группе.

Второй способ, веб-способ, например Cordova (Ionic или PhoneGap). Этот способ использует только HTML, CSS и Javascript для рендеринга контента, а слой Cordova позволяет вам вызывать некоторый собственный код.

Последний способ — это среда выполнения JavaScript. Вы пишете код на Javascript, и этот код запускается на виртуальной машине внутри устройства. Затем вызовы API отправляются в собственные API, и после этого вы можете увидеть, как приложение Android или iOS делает то, что вы просили. Nativescript является примером этого пути.

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

Таким образом, вы можете создавать приложения одновременно для обеих платформ, Android и iOS, и приложение будет выглядеть как нативное, и никто не поймет, что оно действительно гибридное ;)

Рынок гибридных технологий сейчас очень фрагментирован, и по этой причине мы решили следить за некоторыми из самых популярных фреймворков, таких как React Native, Nativescript, Ionic2 или Xamarin. Мы создаем небольшие прототипы и различные оболочки, чтобы упростить использование нативных экранлетов с этими гибридными фреймворками.

Разве вы не знаете, что такое скринлет? Нет проблем, здесь ваш ответ.

Я работаю над прототипом Nativescript, и мы разработали небольшое доказательство концепции, которое отображает и использует LoginScreenlet и ImageGalleryScreenlet на обеих платформах. , Android и iOS.

Плюсы и минусы гибридных решений

У всего есть плюсы и минусы, верно? Давайте посмотрим на них!

Если вы хотите создать приложение и хотите сделать это с помощью гибридной технологии, мы только что сказали, что вы можете выбрать три способа: кросс-компиляция, веб-приложение и среда выполнения javascript.

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

С другой стороны, если вы выбираете веб-технологию, вы можете использовать свои собственные инструменты. Это означает, что вы не обязаны использовать конкретную IDE для разработки приложения. Вы можете использовать либо текстовый редактор, либо IDE, если вам нужны подсказки. Но это не оправдывает ожиданий создания приложений с автономными возможностями и инструментами анимации.

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

Итак, если вы думаете об использовании гибридной платформы в следующем проекте, вы должны знать, что это простой способ для веб-разработчиков, поскольку они уже знакомы с технологией (HTML, CSS, Javascript), но вы могут быть проблемы с производительностью. С другой стороны, неважно, какой фреймворк вы используете, вы всегда можете повторно использовать какой-то код. Но, пожалуй, самым большим преимуществом является то, что гибрид снижает затраты на разработку.

Пример нативного скрипта

Теперь вы знаете больше о гибридных решениях, поэтому, я думаю, пришло время взглянуть на код. Вы можете увидеть доказательство концепции Nativescript здесь и плагин Liferay Screens здесь. Вы тоже можете внести в них свой вклад!

Ставьте ❤, если вам понравился пост! :)