Мотивация
Обучение тому, как использовать новые инструменты разработки, потребует некоторых усилий. Так почему же разработчики все-таки проходят через эти хлопоты, когда они могли бы просто сделать ударение на веб-навыки, которые у них уже есть?
Некоторые мотивации выглядят эгоистично:
- Родные приложения дают разработчику больше контроля над мобильной средой.
- Другой стимул альтруистический: родное приложение, как правило, легче в использовании для большинства из нас.
Скорость
Производительность JavaScript, резко возросла за последние несколько лет, но как интерпретируемый язык, он никогда не будет таким быстрым, как скомпилированный код, который работает непосредственно на процессоре. В мобильной среде, где процессоры работают медленнее, чтобы сохранить энергию, каждая секунда на счету.
Управление данными
Инструмент Cocoa Touch имеет несколько механизмов, которые дают возможность его легко хранить данные вашего приложения. Это важно, потому что кэширование информации, которая извлекается из сети, может значительно улучшить удобство использования мобильного приложения.
Постоянное хранение данных в HTML5 обеспечивает простой доступ к ключевым / значениям или непосредственно к базе данных, используя SQL. Основные данные о iPhone обеспечивают значительно более сложную систему, где отношения между объектами данных управляются автоматически.
Анимация:
Один из признаков как веб-приложений, так и iPhone приложений — анимация, которая влияет на действия пользователя. CSS3 предоставляет способы для анимации элементов страницы, но гораздо более сложные эффекты возможны при доступе к фреймворку Core Animation с «нативным» кодом.
Ресурсы:
Мобильные разработчики постоянно чувствуют нехватку памяти, скорости сети, или мощности процессора. Эти ограниченные ресурсы гораздо труднее контролировать, когда они управляются с помощью JavaScript или браузера. Намного проще при разработке мобильных приложений обнаружить такие ситуации и адаптировать опыт пользователей соответственно.
Юзабилити:
Пользователи iPhone чувствуют себя наиболее комфортно, когда они используют стандартные элементы управления, то есть они привыкли к встроенным Apple приложениям. HTML элементы управления, как < input > и < textarea >, так что они могут работать в различной среде. Фреймворки, такие как jQTouch, выполняют фантастическую работу, проходящую эти основные механизмы управления, но iPhone пользователь все-ровно заметит, что они немного другие, и отличаются от родной платформы управления.
Производительность:
С точки зрения разработчика, как правило, легче создавать сложные пользовательские интерфейсы, используя Cocoa Touch: фреймворки выполняют тяжелую работу и дают возможность разработчику сосредоточиться на проблеме, а не ее реализации. С ограниченным местом на экране мобильного устройства, простая форма на рабочем столе часто оказывается имеет несколько видов, состоянием которых управляет ваше приложение. Apple, разработали Cocoa Touch специально для решения этой задачи.
Интеграция:
iPhone имеет много возможностей, которые находятся за пределами досягаемости браузера. Некоторые простые примеры контакты пользователя, фото библиотека, запись голоса, и движение устройства. Фреймворк Cocoa Touch является единственным способом доступа к этой информации.
С развитием веб-приложений, их разработка естественно разделились на две части: в разработка фронт-енда и создание бэк-енда. Ресурсы бэк-енда управляют данными пользователя и, как правило, питаются от мощных серверов. Фронт-енда веб-приложения принимает эту информацию и представляет ее в браузере: HTML, CSS, JavaScript – отвечают за опыт пользователя.
В случае с iPhone приложениями, это тонкий слой представления заменяется. Доступ к API, на основе REST-реализуемых на бек-энде имеет схожий характер. Да, вы на самом деле дублируете разработку фронт-энда, которую вы уже сделали для браузера, но это дополнительное усилие приходит с преимуществами, упомянутыми выше.