Приложение Iphone против автономного веб-приложения. Какой способ самый умный?

Я думаю о том, чтобы начать с нуля создание небольшого приложения, удовлетворяющего двум техническим требованиям:

  • должен использоваться на iPhone
  • должен работать в автономном режиме

Здесь есть две очевидные альтернативы

  • Настоящее приложение для iPhone с автономными возможностями
  • Веб-приложение, использующее HTML5 в автономном режиме, Google Gears или подобное

Не имея опыта разработки приложений для iPhone (у меня нет iPhone), мне интересно, какой путь будет самым простым?

Каковы кривые обучения для создания автономного HTML по сравнению с созданием приложения для iPhone?

3 ответа

Решение

Честно говоря, это зависит от того, что будет делать ваше приложение.

MobileSafari поддерживает все автономные компоненты HTML5, поэтому вы можете хранить данные в клиентской базе данных SQL, кэшировать приложение на стороне клиента и т. Д. Мобильное приложение Gmail, вероятно, является наиболее ярким примером этого, предоставляя вам полнофункциональный доступ к вашей Gmail. даже в автономном режиме. Вы также можете использовать геолокацию через JavaScript API, которые были добавлены в 3.0. Веб-клипы позволяют вашему веб-приложению совместно использовать домашний экран с собственными приложениями. В этом сообщении о переполнении стека рассказывается больше об использовании веб-приложений на iPhone.

Очевидно, что создание веб-приложения будет интересно тем, кто любит иметь дело с HTML, CSS и JavaScript (и, возможно, с любым языком, работающим на стороне сервера). С автономными веб-приложениями можно делать действительно аккуратные вещи, но его производительность не будет такой же хорошей, как у нативных приложений, особенно на устройствах до 3GS.

Разработка нативного приложения потребует от вас изучения Objective-C (или C#, как только Mono Touch станет доступен широким массам), и заплатите 99 долларов США, чтобы иметь возможность тестировать на устройстве и развертывать в App Store. Гораздо больше системы доступно вам через различные API, такие как камера, компас, мультитач и так далее.

Objective-C довольно прост, если вы знакомы с Java; вам действительно нужно привыкнуть к синтаксису квадратной скобки и управлению памятью, и тогда все довольно просто.

Кроме того, существуют гибридные системы, такие как PhoneGap, которые предоставляют больше API-интерфейсов устройства при условии, что веб-приложение запускается в специальном приложении-контейнере. Он также кроссплатформенный, поэтому вы также можете развернуть приложение на Android и BlackBerry, если хотите. Это по-прежнему требует от вас оплаты в App Store, но если вы более знакомы с веб-разработкой, это дает вам лучшее из обоих миров.

Я не могу сказать вам слишком много о приложениях HTML в целом, но я могу сказать вам, что API для UIWebView чрезвычайно минимален, и, конечно, вы можете сделать гораздо меньше, чем в родном приложении для iPhone.

В автономном приложении HTML5 могут возникнуть проблемы с безопасностью, поскольку вам придется жестко закодировать свой секрет oauth в код, который кто-либо может увидеть (нажав на источник просмотра или просмотрев в Firebug). Вы можете просто использовать http auth, но тогда вы получите уродливый кредит "от API" с каждым твитом, отправленным из вашего приложения, а также это уродливое http auth всплывающее окно из браузера.

Другие вопросы по тегам