Когда лучше не использовать Phonegap?
Я планирую разработать мобильное приложение (мое первое) для нескольких операционных систем (в том числе Android, IOS, WindowsPhone). В диком Интернете я нашел фреймворк, называемый phonegap, в качестве возможного решения для минимизации процесса разработки.
Я понимаю преимущества телефонных разговоров - но не смог найти реальные минусы...
1.) Итак, вопрос в том, почему я не должен использовать телефонную трубку?
2.) Является ли телефонная задержка только медленнее, потому что она завернута в ОС, если да, то насколько медленнее?. Я имею в виду, что вы действительно можете сказать разницу между родным приложением и телефонной связью или только медленнее, если вам требуется аппаратное ускорение, например для игр?
Несколько информации о проекте. В настоящее время у меня есть несколько ".Net" сервисов и провайдеров, общающихся через WCF. Приложение должно иметь возможность принимать и отправлять видеопотоки и аудиоданные от службы и к ней, например, провайдер.
3.) Можно ли использовать телефонную защелку для этого, или я должен использовать собственные приложения?
Ответы
Ответ 1
Все межплатформенные фреймворки (включая HTML) обычно имеют те же преимущества и недостатки.
<сильные > Преимущества:
- Введите код, который будет работать одинаково на каждой целевой платформе.
Недостатки:
- То, как это работает, часто не так замечательно.
- Как правило, более низкая производительность, чем встроенные версии.
- У некоторых также есть собственный набор виджетов, который выглядит неуместным.
- Из-за индивидуальных причуд платформы вам все равно придется тестировать везде.
- Вы получаете доступ к функциям с минимальным общим знаменателем. Когда поддерживается родная функция, вы можете обращаться к ней только одним способом: переносным способом. Это иногда расходится с предпочтительным способом целевой платформы.
- В случае, если вы можете получить доступ к функциям, уникальным для целевой платформы, вы теряете переносимость во всем мире.
- Каждая так называемая "кросс-платформенная" платформа является самостоятельной платформой. См. Предыдущий пункт о причудах: теперь вместо того, чтобы знать N платформ, вы должны знать N + 1.
Для достижения наилучших результатов, ориентированных на несколько платформ, я рекомендую следующее:
Создайте свою основную логику (часть, которая не использует какой-либо пользовательский интерфейс), с четко определенным API. Сделайте его достаточно общим, чтобы его можно было легко переносить между средами. (Действительно ли SQLite отличается от Objective C против Java?)
Создайте свой пользовательский интерфейс, следуя рекомендациям ваших целевых платформ, чтобы он выглядел отлично (и вписывался) в каждый из них. (Для Android см. http://developer.android.com/design). Интерфейс пользователя взаимодействует с основной логикой с помощью созданного вами API.
Ответ 2
Я разработал как изначально, так и в HTML-обложках, таких как Phonegap. В то время как Phonegap приятно сокращать необходимость кодировать на 2-3 разных языках и вносить изменения в 2-3 базы кода, если вы ожидаете, что приложение будет хотеть использовать stick. Я на самом деле просто работал над приложением в Phonegap и в конце концов переписал его в собственном коде, потому что он просто не был достаточно хорош для ожиданий.
В то время как ваша игра или приложение могут быть отличными "для приложения-оболочки HTML", в конце концов, каждый пользователь будет замечать только медленное время загрузки и реакции, даже если они очень незначительны.
IMO Phonegap следует использовать только для приложений, которые выполняют очень минимальные манипуляции с данными (отображение и редактирование), где интенсивная обработка не выполняется (например, игры).
Рынок приложений чрезвычайно конкурентный, и все крупные приложения и игры, которые вы видите, являются внутренним кодом (они по какой-то причине).
Ответ 3
Платформа Adobe AIR - отличная альтернатива телефонному звонку для записи, когда-то разворачивающегося где-нибудь, вместо родных приложений. Он также обладает отличными функциями аппаратного ускорения. Он включает в себя реализацию webkit, поэтому вы можете использовать веб-стандарты, если хотите, и проект apache flex с открытым исходным кодом предлагает много. Flash-строитель - отличная среда кодирования, основанная на eclipse. Помимо больших успехов в играх, мы, скорее всего, также увидим больше приложений AIR с поддержкой данных. As3 объектно ориентирован и очень хорош, а также массивный набор инструментов от flash pro для анимации к иллюстратору и фотошопу - это класс мирового класса.
Ответ 4
Я работаю в компании, которая тоже нуждается в каждом приложении, создавая все возможные версии мобильных версий. Действительно, если вам нужно работать с определенными типами приложений, такими как радиопоток, доступ к GPU, фильтр камеры или все, что вы можете назвать в...
По моему личному мнению, разрыв в телефоне очень медленный, даже на Android. Я не знаю, потому что я работаю с iOS, или у меня высокие стандарты. Работа с родными всегда будет приносить вам больше качества в ваше приложение.
Я понимаю, что использование разрыва в телефоне ускоряет работу, но только если вы создаете простое мобильное приложение.. с информацией или некоторыми формами для отображения.
Для аппаратного/программного обеспечения вам будет легче разрабатывать этот материал изначально. У iOS есть почти все, что вам нужно. Я не знаю об андроиде, но не должен быть слишком сложным!
Ответ 5
Phonegap использует WebViews, поэтому это веб-сайт, который вы создаете и обертываете в собственный контейнер, чтобы развернуть его в магазине приложений.
Для базовых приложений, и если вы являетесь веб-разработчиком, хорошо иметь такой способ разработки приложений, но если вы хотите иметь полное преимущество и собственный характер цели, гораздо лучше разработать собственные приложения.
Надеюсь, что это поможет.