Hybrid vs Native Mobile app

Мне нужно создать мобильное приложение для iOS и Android (так что 2 приложения). Приложение будет использовать некоторые собственные мобильные функции, а множество функций связано с отображением статической / динамической информации. Я планирую переместить информацию в веб-приложении и просто вставлять веб-страницы (HTML5) в мобильные приложения (в основном, вызывать URL-адреса и отображаемую информацию).

Является ли это распространенным способом разработки мобильных приложений? Или могут быть проблемы со следующим гибридным подходом? Есть ли преимущества встроенного приложения над гибридным приложением (или наоборот)

Благодаря Kamal

Solutions Collecting From Web of "Hybrid vs Native Mobile app"

Я в основном делал самостоятельную разработку Android, но я также помог отладить несколько приложений, которые были созданы с использованием «кросс-компиляционных» платформ, таких как PhoneGap, и кросс-скомпилированные приложения имеют несколько особенностей, которые приятно просто разрешить Дескриптор платформы для вас, если вы создадите собственное приложение.

Например, один из тех, которые я отлаживал в последнее время, не реализовал обработчики для событий с кнопками «назад», что было очень неудобно для пользователей. В родном приложении для Android, и я предполагаю, что это то же самое для iOS, хотя я никогда не пробовал строить для iOs, система обрабатывает нажатия кнопки для вас, потому что она знает, какая активность была запущена до текущей, и может перестроить ее интерфейс , В PhoneGap это, по сути, браузер webkit, завернутый в приложение для Android, поэтому у него нет доступа к таким вещам, как backstack.

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

Забавно, как часто меня спрашивают или говорят об этом конкретном вопросе. Вот мое основное чувство по этому поводу:

HTML 5, Hybrid HTML 5 / Родные и родные приложения – все это хорошие, почти сопоставимые варианты, что выбрать, хотя это совсем другая история.

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

Технические аргументы HTML 5 : мне нужно, чтобы это приложение выполнялось практически на любом устройстве, которое может иметь пользователь, это приложение не будет использовать какие-либо проприетарные или сложные функции устройства (загрузка фотографий, запуск push-уведомлений …).

HTML 5 Обоснование продукта : HTML 5 может значительно снизить стоимость разработки двумя способами. (1) Существует более крупный пул талантов (таким образом, более низкая стоимость), конкурирующий за стандартные проекты, связанные с интерфейсом, такие как HTML 5 devs, в то время как разработчики iOS и Android имеют серьезную премию и их трудно найти и (2) вам только нужно ее построить Один раз и его намного проще поддерживать, qa и настроить промежуточные копии.

Кроме того, вам не нужно иметь дело с магазинами приложений, которые получают часть вашего дохода. Классическим примером этого является то, что недавно сделала Financial Times (FT). FT делает свои деньги за счет дорогостоящих подписчиков, которые большинство банкиров покупают их соответствующие банки. Таким образом, у них есть лояльная, плененная и нечувствительная к цене аудитория, и их основной поток доходов почти полностью связан с подписками. Когда у них было приложение в магазине Apple App, они не могли оправдать отдачу 30% любого нового абонента Apple. Они вышли из магазина приложений и создали один из самых полных и впечатляющих веб-приложений, который очень похож на приложение, работает практически с любым телефоном с поддержкой java и позволяет им удерживать деньги от подписчиков. В сообществе разработчиков они получили много наград для этого сайта (вы можете проверить его на своем телефоне, я думаю, его http://www.ft.com) и повысили узнаваемость бренда, будучи новаторами. Игра, набор, матч.

Конечная огромная выгода для HTML 5 заключается только в том, что вам не нужно иметь дело с магазинами приложений. Это означает, что ваши руки не привязаны, и вы также можете менять вещи «на лету», позволяя больше итераций и лучшего продукта формироваться намного быстрее, чем отправлять в Apple и ждать две недели для каждого улучшения, которое вы хотите сделать (это несколько Смягчается и в гибридном подходе). Управляя планшетами HTML 5 в ABC News, было жизненно важно, чтобы мы смогли быстро исправить вещи в индустрии новостей, сделав этот подход идеальным для такого типа приложений.

Гибридный HTML 5 / Родные технические рассуждения: я хочу, чтобы это приложение работало на как можно большем числе платформ, но я обменяю некоторые из них, чтобы получить доступ к проприетарным и сложным функциям устройства на нескольких популярных. Я также согласен с тем, что дизайн не всегда может быть идеальным для пикселя, и есть вероятность случайной медлительности.

Гибридный HTML 5 / Родственный аргумент продукта: если у меня есть приложение, которое должно быть по крайней мере на iOS / Android, это не тот опыт, который должен быть полностью обычным и должен быть приложением в магазине приложений, потому что, честно говоря, рекламодатели В восторге от покупки приложений, в то время как мобильная сеть едва ли находится на их радаре, гибридный подход, вероятно, был бы моим лучшим кандидатом. Как и в случае с HTML 5, его гораздо дешевле построить один мобильный сайт, а затем нанять одного собственного разработчика, чтобы создать для вас приложение для iOS / Android / Windows. В дополнение к этому все, что вам нужно сделать, – это отредактировать часть HTML, создать новый экземпляр, и у вас есть мобильный сайт в качестве бонуса!

Одна из опасностей здесь заключается в том, что HTML 5 не реагирует несколько иначе или заблокирован в 320×480 и 1028×768, поскольку выходят таблетки разного размера, вам придется делать много экземпляров сайта и обнаруживать для useragent, что требует много времени И кошмар для поддержки. Когда это происходит, он обычно просто восстанавливается как отзывчивый сайт, который должен был быть в первую очередь.

Собственные технические рассуждения: я хочу, чтобы это приложение выполнялось на одной платформе точно так, как я этого хочу, мне нужно получить доступ к проприетарным и сложным функциям устройства. Это приложение должно выполнять очень сложные операции, использует много памяти и является очень настраиваемым приложением со многими настраиваемыми пользовательскими интерфейсами. (Несколько категорий включают в себя: 3D-игры, тяжелые приложения UGC, такие как CNN iReport и многие утилиты)

Родственный анализ продукта: Имейте в виду, что продукт, с которым вы имеете дело с бюджетами и ресурсами, в лучшем случае почти всегда ограничен. Когда я говорю выше, что Native полезен только для 3D-игр, я полностью понимаю, что вы можете использовать его для более простых приложений, но его гораздо более дорогостоящий, менее масштабируемый и при работе с небольшими бюджетами в КОМПАНИИ он часто не делает смысл. Если вы отлично разбираетесь в приложениях для кодирования, то, во что бы то ни стало, вы набираете все, что вы выбираете, и это ваше право, потому что все это стоит вашего времени. Тем не менее, вот мои основные причины для использования собственного приложения:

Родные приложения зарабатывают больше денег. Больше денег. Независимо от того, являетесь ли вы крупным издателем или небольшим dev-магазином в приложениях для покупок, экосистема Apple работает для вас множеством способов. Как большой издатель, рекламодатель будет стремиться к созданию приложения Coca Cola VH1 Music Awards и заплатить за его разработку в большинстве случаев! Если вы попытались просто предложить им несколько миллионов показов на пользовательском мобильном сайте, они, вероятно, даже не ответят (гибридный подход часто является умным мостом для этой проблемы). Являясь маленьким разработчиком, Apple обрабатывает платежи для вас, учит всех своих пользователей, насколько легко им покупать вещи в приложениях (здесь вы заходите и продаете пользователям 10 000 баллов за 9,99 доллара США), и да, Их проблемы, но у вас есть дистрибуция и настроены на то, чтобы начать получать проверки с минимальными усилиями после выпуска вашего продукта.

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

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

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

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

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

PhoneGap очень зрелый и хорошо поддерживается. В конечном итоге вы создадите приложение в мобильном устройстве jQuery и используйте CSS для разработки. Посмотрите эту галерею jQuery Mobile . Все эти «веб-сайты» можно использовать в «приложениях» с помощью PhoneGap.

Тем не менее, вам все равно потребуется учетная запись Apple Developer для компиляции и развертывания вашего приложения для iPhone и AppStore.

Вы можете использовать кросс-платформенную структуру. Если вы хотите родной, вы можете пойти на Titanium framework. Или, если вы хотите использовать webapp для мобильных устройств, вы можете пойти в рамки PhoneGap, которые предоставляют кроссплатформенную инфраструктуру. Это будет гибридное приложение.