Почему нативные приложения лучше гибридных? Гибридные Android-приложения для малышей

Гибридное приложение сочетает в себе элементы как нативных (родных), так и веб-приложений. Разработка нативных приложений делается для конкретной платформы и устанавливается на цифровом устройстве. При создании мобильных приложений, в рамках HTML5 предоставляется несколько альтернатив, которые имеют свою собственную динамику и функциональные возможности.

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

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

Создание гибридных мобильных приложений

Ниже предоставлена группа Фреймворков HTML5 для удобства программирования и проектирования:

Sencha Touch является ведущим MVC JavaScript Фреймворком для создания кроссплатформенных мобильных приложений, которая облегчает процесс разработки веб-приложений с использованием HTML5 и javascript. В состав этой платформы входит широкий спектр продуктов, которые работают сразу «с места в карьер». Sencha Touch использует методы аппаратного ускорения для обеспечения высокой производительности компонентов пользовательского интерфейса для мобильных устройств.

С более чем 50 встроенных компонентов пользовательского интерфейса и просмотром темы для всех основных мобильных платформ, Sencha Touch обеспечивает все необходимое для создания впечатляющих приложений, которые работают на iOS, Android, BlackBerry, Windows Phone, и многих других. Адаптивная верстка, плавная анимация и плавная прокрутка позволяют разработчикам создавать приложения, которые реагируют на действия пользователя, почти мгновенно, подобно нативным технологиям.

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

  1. Ionic

Свободный и открытый исходный код Ionic предлагает библиотеку мобильных-оптимизированных HTML, CSS и JS компонентов и инструментов для создания интерактивной родной и прогрессивных веб-приложений. Ionic, который поставляется с набором эксклюзивных функций, можно назвать пионером в области разработки гибридных мобильных приложений.

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

Telerik Kendo UI является расширением HTML5 Фреймворка, выступает в качестве одной из лучших платформ для разработчиков, которые хотят создавать кросс-платформенные мобильные приложения. Эти Фреймворки во многом зависят от JQuery и включают в себя ряд виджетов на основе JQuery. JavaScript Фреймворк также доступен в этом открытом Фреймворке и в этом его отличительная особенность.

Любители Angular (Angular - Фреймворк с открытым исходным кодом) и bootstrap (Bootstrap - это свободный набор инструментов для создания сайтов и веб-приложений) могут пользоваться мобильным Angular UI, так же, они получают возможность добавлять, как Bootstrap 3, так и Angular платформу для создания HTML5. Основное расширение Bootstrap 3 очень похоже на Angular; тем не менее, оно не имеет зависимость от JS, Bootstrap или JQuery. Мобильный Angular UI использует overthrow.js и fastclick.js для получения мобильного опыты для всех тех, кто его использует.

Intel XDK для поставляется с полным набором инструментов, используемых для разработки, тестирования и эмуляции, отладки и публикации кроссплатформенных гибридных приложений на HTML5. Это тоже Фреймворк с открытым исходным кодом поддерживаемый корпорацией Intel. Темы, предоставляемые этим Фреймворком, поддерживают Android, Windows, Blackberry и т.д.

Onsen UI является относительно новым Фреймворком; однако, он дает вызов существующим тяжелым платформам, особенно для Ionic. Это платформа с открытым исходным кодом предоставляется под лицензией Apache. Для большинства составляющих его пользовательского интерфейса, используются Angular директивы и Фреймворки верхнего уровня.

M Project, мобильный HTML5 JavaScript Фреймворк, используется для построения кросс мобильных веб-приложений, установленных на Backbone.js. Легко интегрируется с PhoneGap, чтобы помочь в создании приложения, является одним из его основных характеристик. Этот простой Фреймворк используется для быстрой разработки приложений.

По сути это мобильное HTML-приложение с открытым исходным кодом, Jo легко интегрируется с PhoneGap и Cordova для разработки приложений. Может свободно использовать Фреймворк с открытым исходным кодом, также может помочь изменить внешний вид приложения с помощью CSS.

Многие считают, что гибридные приложения не могут иметь хорошую производительность, особенно в плане построения страницы (то есть имеют низкий FPS). Это ошибочное мнение. Если умело собрать приложение, то можно добиться хороших показателей. В статье рассмотрен пример сборки такого гибридного приложения под Android в Windows 7 (хотя для iOs будет почти тоже самое).

Допустим, у нас есть готовое приложение на HTML5, в котором вывод изображения полностью производиться через элемент Canvas (я использовал Phaser framework, 50 движущихся спрайтов). На ПК данное приложение запускается без проблем (60 FPS). На топовых фирменных смартфонах тоже все хорошо (50-60 FPS). Но если мы возьмем средненький планшет, результат будет просто ужасным (3-15 FPS), даже не смотря на хорошие характеристики устройства.
Поэтому нашей целью является создание полностью готового для публикации apk с хорошими показателями производительности.

На данный момент существуем множество инструментов для достижения данной цели. Наиболее популярные из них:
Cordova
Ludei
Intel XDK

Проект Ludei (Cocoon.js) производит построение приложение в облаке, достаточно прост в понимании концепции. Советую обратить внимание на клиентское приложение CocoonJS Launcher App, которое позволяет легко производить отладку приложения прямо на устройстве. Это может очень помочь при разработке приложения. Но использовать данный сервис для построения приложения не советую, т.к. имеется достаточно много багов и в приложение добавляется фирменная заставка.

Intel XDK – это отличный инструмент, с которого я советую начать. Построение приложения так же производиться в облаке. По сути Intel XDK представляет собой удобное GUI для Cordova c полным набором настроек, плагинов и эмулятором.

С помощью Cordova построение производиться уже на вашем компьютере. Это подход имеет всего два преимущества:
Сборка производиться быстрее,
Используются последние версии компонентов.
При этом есть недостаток:
Требуется организовать окружение.
В статье мы будет рассматривать именно последний вариант, так как с ним в основном возникают проблемы, и так как в итоге вы все равно или поздно перейдете на него.

И так начнем. Устанавливаем:

  1. Java Development Kit (JDK) 7
Далее открываем Android SDK Manager и устанавливаем:
Android 5.1.1 (API 22) platform SDK
Android SDK Build-tools version 19.1.0 или выше
Android Support Repository (Extras)

Затем в Android Studio сгенерируем набор ключей для подписи apk. Для этого в меню выбираем Build > Generate Signed APK . В открывшемся окне нажимаем Create new . Откроется новое окно, в котором вводим все данные (данные, естественно, сами запоминаем).


После всего можно закрыть Android Studio и больше никогда не открывать.

Затем нужно изменить переменную окружения PATH:
1. Нажмите на меню " Пуск " в левом нижнем углу рабочего стола, щелкните правой кнопкой мыши на Мой комьютер , а затем нажмите кнопку Свойства .
2. Нажмите кнопку Дополнительные параметры системы в столбце слева.
3. В открывшемся диалоговом нажмите Переменные среды .
4. Выберите переменную PATH и нажмите редактировать.
5. Добавьте следующее в PATH, в зависимости от того куда был установлен пакет SDK (у меня f:\AndroidSDK ), например:

C:\Users\Root\AppData\Local\Android\sdk\tools;c:\Program Files\Ant\bin;C:\Users\Root\AppData\Roaming\npm;f:\AndroidSDK\platform-tools;f:\AndroidSDK\tools

6. Сохраните значение и закройте оба диалоговые окна.

А только теперь, собственно, устанавливаем Cordova. Открываем командную строку и запускаем:

Npm install -g cordova

Затем создаем свой проект. Для этого выполним команду следующего вида:

Cordova create projectDirectory com.companyName.appName AppName

Данная команда имеет следующие параметры:
projectDirectory – директория вашего проекта.
com.companyName.appName - указывает идентификатор вашего проекта в обратном формате доменных имен.
AppName - указывает отображаемое имя приложения.
Все эти параметры можно легко поменять позже в файле config.xml .
После выполнения команды будет создан каталог вашего проекта. В этом каталоге будет находиться директория www , в которой будут файлы страницы приложения по умолчанию. Удалите содержимое данной директории и скопируйте в неё файлы вашего web-приложения. Стартовый файл назовите index.html.

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

Cordova platform add android

После выполнения команды появиться каталог и вы сможете собрать debug.apk (отладочный пакет). Сборка отладочного пакета осуществляется командой:

Cordova build android

Теперь добавим автоматическую подпись пакета. Cordova подписывает пакет при помощи Gradle. Поэтому мы можем сразу задать установки ключей. Для этого в директории projectDirectory\platforms\android создайте текстовый файл release-signing.properties в котором пропишите следующие настройки:

StoreFile=../../ keystore.jks
storeType=jks
keyAlias=myalias
keyPassword=passwordhere
storePassword=passwordhere

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

Cordova build android --release

На выполнение команды потребуется несколько минут. По окончанию построения готовый apk мы можем найти в директории projectDirectory\platforms\android\build\outputs\apk

Испытаем полученный apk на среднем планшете и… мы получим опять ужасные результаты (5 FPS). На этом этапе многие разработчики теряют надежду. После такого облома они либо бегут на www.ludei.com (потому что там хоть на выходе получается что-то вменяемое), либо присоединяются к «армии мудаков», которые убеждены, что гибридные приложение полный отстой.

На самом деле терять надежду ещё рано. Есть такой замечательный проект – Crosswalk . С помощью данного проекта можно в нативное приложение под Android встроить браузер Google Chrome и в нем проигрывать ваш проект. Преимущества очевидны: производительность хорошего браузера и независимость от ОС устройства.
В Cordova проект Crosswalk добавляется, как плагин. Значит, пора расширить наше приложение плагинами. Делается это очень легко. В командной строке запущенной из директории проекта запускаем команды:

Cordova plugin add cordova-plugin-splashscreen

В проект будет добавлена возможность установить стартовую заставку. Обязательно установить этот плагин.
Далее можете добавить плагины по вашим запросам. Вот лишь некоторые из них:

Cordova plugin add cordova-plugin-vibration

(плагин добавляет возможность управлять вибрацией)

Cordova plugin add cordova-plugin-globalization

(плагин добавляет возможность определить локализацию устройства)

Cordova plugin add cordova-plugin-inappbrowser

(плагин добавляет возможность делать запросы к серверу)

Ну, и наконец, добавим Crosswalk:

Cordova plugin add cordova-plugin-crosswalk-webview

После установки соберем очередной apk и испытаем его на устройстве. Мы, скорее всего, получим также паршивые результаты (15 FPS)…
Тут теряют надежды те, которые её не потеряли при первом испытании. И эти разработчики пополняют «армию мудаков», которые убеждены, что гибридные приложение полный отстой.
Но ещё рано сдаваться… Тут начинается «магия».

Для браузера Google Chrome существует специальный GPU-blacklist , который ограничивает использование WebGL. Это очередная забагованная функция от Google. Почему забагованная?
Во-первых, функция ограничивает не только движок WebGL, но весьма ощутимо снижает производительность движка Canvas.
Во-вторых, хоть функция называется «черный список GPU», работает она как «белый список». То есть, если у вас топовый фирменый смартфон, то он есть в этом списке и ваше приложение прекрасно работает. А если у вас какой-нибудь «китаец» (или даже фирманный не топовый телефон), то его уже нет в списке, и, соответственно, производительность приложения низкая.
Google объясняет это заботой о пользователях. Мол, на не топовых фирменных смартфонах браузер может работать нестабильно. Ага, конечно… По моим наблюдениям вся эта «нестабильность» сводиться к закрытию приложения при сверхвысоких нагрузках (например, одновременное создание 200-300 объектов).

Чтобы добиться максимальной производительности. Отключим данную функцию. Для этого создадим в директории projectDirectory\platforms\android\assets текстовый файл xwalk-command-line в котором будет лишь одна строка:

Xwalk --ignore-gpu-blacklist

Все. Снова собираем очередной проект и испытываем… В итоге отличная производительность (50-60 FPS). Результат достигнут.

Работающий стартап, это тот, который построенный на принципах стратегии MVP (Minimum Viable Product). Такой подход позволяет вам проверить ваш продукт перед запуском его в широкие массы.

В закладки

Это приложение было создано с использованием Ionic framework и предлагает следующие возможности:

  • Поиск / исследование конкретных объектов в музее;
  • Видео дополненной реальности;
  • Обмен через социальные сети;

Недавним примером гибридного приложения, которое мы создали в Ezetech для Tickfinity - TicketNetwork POS для мобильных устройств (видео).

Плюсы:

  • Высокая скорость разработки;
  • Написаны с помощью HTML, CSS, Javascript, что обеспечивают кросс-совместимое iOS, Android и веб-программное обеспечение (требуется только один веб-разработчик);
  • Доступны фреймворки, которые эмулируют пользовательские элементы UI (например, кнопки, меню и так далее);
  • UX близок к нативному опыту с использованием элементов UI, которые имитируют поведение обычного приложения;
  • Доступ к API-интерфейсу смартфона (камера, push-уведомления, геолокация и другие).

Минусы :

  • UX не так хорош, как в родных приложениях (задержки на клики 300 мс, фантомные клики при прокрутке);
  • Чем сложнее приложение, тем медленнее оно работает из-за использования различных оболочек и библиотек;
  • Не работает в офлайн режиме;
  • Анимации трудно реализовать в UI.

Этот вариант подходит для MVP простых веб или мобильных приложений. Если у вас уже есть веб-приложение, построенное с помощью Javascript, вы можете использовать существующий код. Проще говоря Apache Cordova хорош для быстрого создания недорогих мобильных приложений со стандартными функциями.

React Native

React - отличный выбор, если ваше веб-приложение построено с помощью React.js. Это относительно новая технология в мире гибридных приложений, и миграция из существующего веб-приложения в мобильное может пройти довольно быстро. В результате вы получаете мобильное приложение, которое использует собственные компоненты ОС вашего смартфона (кнопки, входы и другие функции устройства). Производительность хорошая, потому что исходный код конвертируется в собственное мобильное приложение, а не работает во встроенном окне браузера.

Некоторые примеры приложений, использующих React Native:

Плюсы:

  • Высокая скорость разработки для веб-приложений на основе React;
  • Веб-приложение, созданное с помощью React.js, может быть легко преобразовано в мобильное приложение React Native, а некоторые исходные коды можно повторно использовать;
  • Собственный пользовательский опыт;
  • Приложение выглядит и воспринимается как родное мобильное приложение для конкретной платформы;
  • Низкие затраты на разработку;
  • Эксперты в React Native обычно могут создавать приложения для Android и iOS.

Минусы:

  • Относительно новая технология (ограниченные решения с открытым исходным кодом);
  • Ограничено в отношении визуального дизайна;
  • Не подходит для сложных проектов, таких как мобильные игры или приложения, требующие высокой нагрузки (значительные вычисления).

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

Разработка нативного приложения (Native app development)

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

Обычно вам нужно как минимум 2 разработчика - разработчик iOS, который работает над iPhone-приложением с использованием Objective-C или Swift, и разработчика Android, который будет использовать Java или Kotlin. Поэтому стоимость разработки будет выше, чем в любом из вышеперечисленных подходов.

Плюсы :

  • Многие модули и библиотеки доступны для решения общих задач разработки;
  • Хорошая производительность и отличный пользовательский интерфейс на всех мобильных платформах;
  • Позволяет приложению получать доступ ко всем устройствам разрешенным производителем;
  • Может работать в офлайн режиме и хранить данные на устройстве.

Минусы :

  • Более высокие затраты по сравнению с разработкой гибридных приложений;
  • Различные стеки технологий для разных платформ (требуется больше разработчиков).
  • Обратите внимание, что лучше всего создавать нативное приложение c нуля, только если у вас есть на это ресурсы. Технологии для создания таких приложений уже давно существуют, что дает множество модульных решений, а также сообществ с открытым исходным кодом, доступных разработчикам для эффективного решения проблем.

Заключение

Есть два основных варианта, которые хорошо подойдут для перехода из веб-приложения в мобильное - разработка гибридного приложения и запуск с нуля (разработка нативного приложения).Если функциональность вашего продукта не слишком сложна, и вы просто хотите предложить мобильным пользователям лучший опыт, вы должны использовать React Native (если сайт на реакте) или Apache Cordova для разработки вашего гибридного приложения. Это оптимальный вариант, если у вас ограничен бюджет и вам нужна поддержка на Android и iOS.

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

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

Написать

*В этой статье мы рассматриваем гибридные приложения на основе веб-браузера.

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

Интересно! Согласно статистике от Flurry Analytics 90% всего времени за телефоном мы проводим именно в приложениях.

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

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

ГИБРИДНЫЕ И НАТИВНЫЕ ПРИЛОЖЕНИЯ

Итак, чем же отличаются эти два типа приложений друг от друга?

Нативное приложение является родным для каждой платформы, будь то 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)

Выбирайте нативное приложение , если вам нужно:

  • профессиональное приложение, соответствующее всем стандартам выбранной платформы
  • сложное приложение с широким функционалом
  • приложение с высокой скоростью работы

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

Воплотите все ваши самые смелые мечты и идеи в реальность вместе с .

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

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

В этой статье мы разберем топ-7 таких фреймворков.

IONIC - одна из самых многообещающих фреймворков для мобильных приложений на основе HTML 5. Построен с использованием SASS, что обеспечивает большое количество компонентов UI, позволяющие создавать интерактивные приложения. Для запуска приложений используется фреймворк JavaScript MVVM и AngularJS. Двустороннее закрепление данных, взаимодействие с серверными службами и API делает AngularJS самым популярным среди разработчиков приложений. Нет сомнений, что он станет еще более популярным, после выхода новой версии AngularJS 2.0, ориентированный на мобильные устройства.

Команда работников IONIC скоро представят новый помощник в создании IONIC приложений под названием «IONIC creator». Он будет анонсирован совсем скоро и будет поддерживать перетаскивание, что намного ускорит создание приложений.

Для того чтобы поближе познакомиться с IONIC, вы можете почитать статьи о начале работы с мобильными приложениями и о разработке игр на основе ОС Firefox.

Mobile Angular UI - фреймворк на основе HTML 5, который использует bootstrap 3 и AngularJS для создания интерактивных мобильных приложений.

Основные особенности Mobile AngularUI включают в себя:

  • Bootstrap 3
  • AngularJS
  • Bootstrap 3 мобильные компоненты, такие как ветвление, оверлейные программы и боковые панели, которых не было в обычном bootstrap.
  • AngularJS модули, такие как angular-route, angular-touch и angular-animate.

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

Для того чтобы посмотреть Mobile Angular UI в действии, обратите внимание на демо страницу. Также мы рекомендуем вам ознакомиться с инструкцией о том, с чего начинать работу с Mobile Angular UI.

Intel XDK - это мульти платформная разработка Intel. Работать с ней достаточно легко, вам нужно лишь скачать бесплатные приложения, которые совместимы с Linux, Windows и Mac. Она содержит множество шаблонов для начала работы и поддерживает UI фреймворки, такие как Twitter bootstrap, jQuery Mobile и Topcoat.

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

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

Во введении в работу с Intel XDK вы найдете большое количество обучающего материала по работе с платформой.

Appcelerator Titanium - это открытый ресурс фреймворков мобильных приложений, который обеспечивает условия для создания родных приложений для нескольких мобильных платформ.

Titanium - это отличная разработка, в которой вы найдете все, что нужно для создания гибридных мобильных приложений. Для работы с Titanium скачайте Titanium studio. Titanium SDK содержит несколько API платформ и Cloud сервис, работающий как хранилище. Он идет с независимой платформой API, которая упрощает доступ к мобильному устройству.

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

Titanium studio содержит некоторые примеры кода, а также мы надеемся, что скоро появятся обучающие видео на SitePoint.

Sencha Touch - это HTML 5 фреймворк для создания приложений для таких платформ как iOS, Android и Blackberry и не только. Он существует уже несколько лет, но относительно недавно стал популярным среди разработчиков гибридных мобильных приложений.

Sencha Touch более продвинутый, чем его оппоненты в вопросе создания родных приложений для различных платформ.

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

Для того чтобы полностью оценить достоинства Sencha Touch, взгляните на примерные коды на официальном сайте.

Telerik’s Kendo UI - HTML 5 фреймворк для создания мульти-платформных мобильных приложений. Kendo UI сильно зависит от jQuery и содержит некоторое количество виджетов, основанных на jQuery.

Работать с ним не сложно. Разработчики знакомые с jQuery оценят легкость работы с Kendo UI. У Kendo UI есть открытый ресурс инструментов и JavaScript фреймворков.

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

Просмотрите официальную документацию для работы с Kendo UI. Там вы найдете видео уроки, которые помогут вам изучить этот фреймворк.

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

Для работы с PhoneGap вы можете выбрать между фраймфорками JavaScript или UI. Хороши комбинации jQuery Mobile и KnockOut.js или AngularJS. Как только вы закончите работу с кодом, PhoneGap завершает всю оставшуюся работу на платформе, с которой вы работаете. Приложения, созданные с помощью PhoneGap используют веб представление для передачи контента. PhoneGap содержит минимальный набор веб API для доступа к возможностям мобильного устройства и позволяет писать запрашиваемые плагины.

Инструкцию по работе с PhoneGap вы найдете .

Бонус

App.js - библиотека JavaScript для создания мобильных приложений. Этот, не похожий на других фреймворк, не использует AngularJS. Он предоставляет несколько базовых тем и виджетов. Вы можете написать приложение, используя zepto или jQuery.

Вывод

В этой статье мы рассмотрели одни из лучших фреймворков мобильных приложений HTML 5. Мобильный HTML 5 хорошо развивается и с каждым днем предлагает все новые опции. А каким фреймворкам отдаете предпочтение вы? Поделитесь в комментариях.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: