HTML5 vs Native App: что выбрать?

Этот вопрос довольно популярен, и есть много вопросов, относящихся к нему. Но некоторые из них старые (например, 6 месяцев назад), а на текущую дату – май 2012 года … это будет потрясающе, если вы можете набрать, какой из них лучше на данный момент!

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

  1. Создание музыкального плеера в моем приложении (нужно будет прочитать все плейлисты и воспроизвести их) – HTML5 (или) родной?

  2. Использование акселерометра – HTML5 (или) родной?

  3. Использование камеры – HTML5 (или) родной?

  4. Использование жестов (swype и т. Д.) – HTML5 (или) Native?

  5. Multi-Touch возможности и жесты – HTML5 (или) родной?

  6. Разработка 3D-игры (или) 2.5D с физикой – HTML5 (или) Родной? (Родной может быть лучшая сделка здесь, но я любопытный, чтобы знать, как HTML5 будет делать в многоплатформенной игре dev)

Если вы можете указать параметры с правильным ответом и указать причину, почему мне придется использовать native / html5, это было бы потрясающе 🙂


Кроме того, что вы думаете о Phone-Gap для собственной поддержки?

Solutions Collecting From Web of "HTML5 vs Native App: что выбрать?"

Создание музыкального проигрывателя в моем приложении – оба. HTML5 может оказаться утомительным.

Использование акселерометра – родной. Html5 не поддерживает его

Использование камеры – родной. Html5 не поддерживает его

Использование жестов – родной. Html5 может поддерживать его, но вам придется использовать внешнюю библиотеку

Multi-Touch возможности и жесты – я бы сказал, родной, для простоты разработки

Разработка 3D-игры (или) 2.5D с физикой. Оба, некоторые большие библиотеки теперь доступны для обеих систем. Однако делать то, что вы хотите в HTML5, вероятно, нелегко на данный момент.

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

Однако, если вам не нужны конкретные функции, перейдите на HTML5. До сих пор немного утомительно писать код, но качество и количество доступных библиотек растет с каждым днем. Используйте CoffeeScript , это избавит вас от головных болей.

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

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

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

В основном использование кросс-платформенного решения – это самый низкий общий знаменатель /, который подходит только для простых приложений / фальшивой экономики.

Просто мое скромное мнение, основанное на 12-летнем коммерческом развитии программного обеспечения и опыте того, что я пытаюсь использовать оба подхода самостоятельно.