Как наверное уже всем известно, компания Apple заявила о том, что единственный способ разрабатывать приложения для iPhone — это использование веб-интерфейса и встроенного почти-настоящего браузера Safari. Этот, надо признать, достаточно смелый подход побудил меня протестировать этот способ идеологию мысленным экспериментом.
Имея девятилетний опыт разработки для веб, я верю, что могу по описанию приложения определить возможна ли реализация аналогичных продуктов с помощью веб-интерфейса карманного устройства. Остаётся взять список приложений и пройтись по нему.
В качестве такого исходного списка я взял раздел Best Selling сайта PocketGear — одного из крупнейших интернет-магазинов ПО для платформы PocketPC (Windows Mobile).
Итак,
Тем не менее, судя по большей части перечисленных приложений, веб-подход имени Стива достаточно жизнеспособен. Тем более, что после небольшого гугления выяснилось что iPhone похоже поддерживает флеш (найденное доказательство — страница New York Times с флеш-роликом показывалась в рекламе iPhone). [ Update: пока всё это писал, обнаружилось почти официальное сообщение о том, что iPhone на самом деле не поддерживает флеш. ]
Неизвестно, будет ли возможность сохранить из Сафари веб-страницу внутрь айфона. Хотелось бы — для простых приложений вроде калькулятора или часов, это было бы достаточно удобно. Не говоря уже о книгах.
Так же, было бы здорово, если б iPhone поддерживал Google Gears или аналогичную технологию (легкий локальный SQL-сервер для веб-приложений). Пока об этом ничего не сказано. Ровно как и ничего не сказано о заявленной ранее поддержке виджетов — можно ли будет сторонним разработчикам писать свои виджеты? Какое подмножество API будет поддерживаться?
Вопросов про iPhone всё ещё существенно больше чем ответов, и вряд ли ситуация изменится до 29 июня.
Имея девятилетний опыт разработки для веб, я верю, что могу по описанию приложения определить возможна ли реализация аналогичных продуктов с помощью веб-интерфейса карманного устройства. Остаётся взять список приложений и пройтись по нему.
В качестве такого исходного списка я взял раздел Best Selling сайта PocketGear — одного из крупнейших интернет-магазинов ПО для платформы PocketPC (Windows Mobile).
Итак,
- На первых месте в списке лаунчер — Spb Mobile Shell. Модифицирует интерфейс оболочки ОС, предлагая другие способы запуска/управления установленным ПО. Очевидным образом, этот класс программ нельзя реализовать с помощью веб-интерфейса. С другой стороны, учитывая то, что никаких настоящих программ (кроме базовых) в iPhone нет, то лаунчером для iPhone становиться на самом деле менеджер закладок. Существует уже достаточно много менеджеров закладок с веб-интерфейсом и ничего не мешает появлению новых, iPhone-ориентированных. Вроде Google Bookmarks for iPhone.
- Spb Pocket Plus (который тоже немножко является лаунчером, см. предыдущий пункт) и куча других системных утилит. Да, примерно треть из Best Selling списка занимают системные утилиты. Утилиты добавляющие недостающие возможности, производящие тонкую настройку параметров ОС, всячески оптимизирующие работу устройства и осуществляющие всевозможный maintenance. Веб-приложения подобную функциональность не могут обеспечить вообще.
Насколько серьёзный это недостаток — зависит от качества встроенного в iPhone ПО. При условии что оно достаточно идеально, отсутствие всяких системных твикеров, дефрагментаторов и редакторов реестра стоит считать положительным фактором.
- Microsoft Voice Command — я не видел подтверждений по поводу поддержки голосового интерфейса в самом iPhone. Однако, достаточно понятно что в виде веб-приложения реализовать такую функциональность невозможно. Не исключено, что в сафари будет флеш-плагин позволяющий передавать на сервер звук… но даже в этом случае server-side распознаватель голоса представляется мне бессмысленным безумием.
- eWallet — хранилище паролей, PIN-ов и прочей секретной информации которую легко забыть. Не смотря на то, что реализовать такое online-хранилище не составляет особого труда (сходу не вспомню, но думаю что несколько таких уже есть) — необходимость выхода в сеть для его использования, а так же необходимость хранить свои секретные данные где-то далеко на сервере (пусть и в зашифрованном виде) всё равно всё портит.
- Pocket DVD Studio. Пропускаем, ибо iPhone это и так видео-iPod.
- Spb Brain Evolution — набор интеллектуальных игр. Реализация возможна. В случае поддержки встроенным Сафари флеша — может даже получиться весьма полноценная реализация.
- WorldMate — информация для путешествующих. Часовые пояса-погода-прочая информация. Реализация возможна. Хотя в офлайне сидя в самолёте этим не воспользуешься.
- Pocket Informant — персональный органайзер. Во-первых, я думаю какой-то календарь будет среди базовых приложений iPhone. Возможно он окажется лучше, чем лучший PIM для Windows Mobile. Во-вторых, реализация оганайзера с веб-интерфейсов возможна — и их уже и так есть целая куча. Уверен что тот же RememberTheMilk выпустит iPhone-ориентированную версию меньше чем через неделю после появления iPhone.
- Spb Time — можно ли реализовать часы со скинами на HTML/JavaScript/CSS? Вобщем-то да. А держать iPhone с включённым интернетом и запущенным браузером для того чтобы они тикали? Идиотизм.
- IM+ — Instant Messaging клиент. Реализация возможна. Кстати, забавный факт: в Safari на полноразмерной Mac OS X до сих пор не работает веб-интерфейс Google Talk внутри gmail. Тем не менее, практически к любому IM с известным протоколом возможно написать пригодный к использованию ajax-интерфейс.
- Age of Empires — реализовать высококачественную стратегическую игру на одном JS достаточно трудно. И не смотря на колоссальную скорость Сафари, совсем не факт что мощности iPhone будет достаточно. При наличии поддержки флеша — возможно что-то и получиться.
- Lexisgoo English Dictionary — всевозможные словари без всяких проблем могут работать и уже работают в онлайне.
- HandiTV! Watch TV from mobile devices! — зависит от наличия QuickTime плагина в айфоновском Cафари или от той же поддержки флеша. Да, и ещё от ширины канала.
- Spb Finance — см. про менеджер паролей. Хранить финансовую информацию в вебе можно, но не очень хочеться. Регулярно выходить в онлайн, чтобы фиксировать траты будет, я думаю, неудобно.
- HiCalc — калькулятор, даже научный и строящий графики(это в Apple придумали html-расширение canvas) вполне можно реализовать на одном JS.
- Aces Texas Hold'em® — No Limit — это такой покер. Реализация вполне возможна, в том числе в виде онлайн-казино.
- Pocket Mindmap — онлайн mindmap-сервисы вроде уже существуют, и ничто (кроме возможного отсутствия флеша) не мешает их работе на iPhone. Однако вряд ли веб-приложение сможет полноценно использовать multitouch возможности iPhone, что в случае с mindmap оказалось бы весьма полезным.
- Putty / ssh — такого приложения нет в списке best selling, но оно интересно лично мне. Боюсь, с помощью веб-интерфейса реализовать полноценную интерактивную поддержку терминала не удастся. Даже с использованием промежуточного ПО на сервере — один HTTP запрос на каждую нажатую кнопку — это слишком большая цена для gprs/edge устройства.
Тем не менее, судя по большей части перечисленных приложений, веб-подход имени Стива достаточно жизнеспособен. Тем более, что после небольшого гугления выяснилось что iPhone похоже поддерживает флеш (найденное доказательство — страница New York Times с флеш-роликом показывалась в рекламе iPhone). [ Update: пока всё это писал, обнаружилось почти официальное сообщение о том, что iPhone на самом деле не поддерживает флеш. ]
Неизвестно, будет ли возможность сохранить из Сафари веб-страницу внутрь айфона. Хотелось бы — для простых приложений вроде калькулятора или часов, это было бы достаточно удобно. Не говоря уже о книгах.
Так же, было бы здорово, если б iPhone поддерживал Google Gears или аналогичную технологию (легкий локальный SQL-сервер для веб-приложений). Пока об этом ничего не сказано. Ровно как и ничего не сказано о заявленной ранее поддержке виджетов — можно ли будет сторонним разработчикам писать свои виджеты? Какое подмножество API будет поддерживаться?
Вопросов про iPhone всё ещё существенно больше чем ответов, и вряд ли ситуация изменится до 29 июня.