В Apple работают не просто профессионалы, там работают фанаты своего дела. Поэтому если компания что-то и выпускает — она делает это настолько блестяще, что остальные «похожие» реализации всех нам знакомых функций воспринимаются как «поделки» школьника Пети на уроке труда в 7 классе. Однако время от времени в Купертино переосмысливают всем известные вещи, изобретая таким образом свой собственный велосипед.

Эту статью я собирался написать еще до вчерашней презентации, однако именно на ней у меня появился еще один отличный пример, про который мы поговорим чуть дальше.

Плохой пример

Начну с плохого примера, так как он крутится у меня в голове уже несколько дней. Как вы знаете, на презентации iPad’a Джобс упомянул об адаптированном офисном пакете iWork. Но сами понимаете, что без возможности простого копирования файлов на iPad и обратно, этот Офис никому не понадобится. Не почтой же постоянно отсылать документы? 🙂

Понятное дело, что ни о каком USB Mass Storage устройстве речи быть не может, поэтому при подключении iPad к компьютеру флеш-накопитель в системе не появится. Вместо этого нам придется прибегнуть к помощи iTunes.

В настройках синхронизации есть специальное окно под названием «File Sharing», которое разделено на две половинки. Слева, списком, представлены программы, которые «хотят» обмениваться файлами с компьютером, а справа — список доступных для этого приложения документов. Добавить их на устройство можно при помощи кнопки «Add», а сохранить — при помощи «Save to».

Судя по справочному материалу, эти файлы можно будет также удалять (в том числе, при удалении самого приложения). Теперь осталось этот файл открыть в iPad’e через специальный диалог импорта, нажав на кнопку с папкой в правом верхнем углу:

Стоит говорить, что для экспорта файла нужно выполнить все действия, только наоборот? 🙂 Правда сначала нужно нажать на иконку (первую из трех, в нижней части экрана) со стрелочкой и выбрать пункт меню Export.

Нет, я не спорю, что это действенный метод, но и выглядит он как минимум не тривиальным, чужеродным и каким-то временным. Представьте, что у вас в программе находится не 1-2 файла, как на скриншоте, а хотя бы 30-40 (ведь iPad представляет собой очень неплохое устройство для работы с документами) — и уже придется листать список, искать нужный файл среди подобных. Возможно, в планшетной версии iPhone OS 4 будет более интересное решение для работы с файлами.

Ну да ладно, буду заканчивать с плохим примером, ибо парочка комментаторов как обычно обвинит меня в несостоятельности или еще чего хуже — некомпетентности 🙂

Хороший пример

Стоит отдать должное Apple, потому как их удачных велосипедов было изобретено намного больше, чем плохих. Такие образцы можно спокойно размещать в парижской палате мер и весов в качестве эталонов или печатать в учебниках как пример будущим поколениям. Взять, к примеру, хотя бы Copy-Paste — во время презентации iPhone OS 3 все ахнули, так как это не просто «какое-то» копирование-вставка, а «очень удобное выделение текста, копирование и вставка, о котором мы всегда мечтали и ни на что не променяем эту функцию в будущем».

Но в качестве хорошего примера я хотел бы остановиться на другой функции — многозадачности, представленной вчера. Подумайте сами, в Купертино выкрутились очень удачно и вместо того, чтобы хранить в фоне приложения дали разработчикам специальные сервисы, которые эту фоновую работу обуславливают.

Для пользователя это будет выглядеть как настоящая многозадачность — нажал дважды на кнопку Home, внизу появилась полоска с иконками всех запущенных приложений. Выбор любого приложения моментально отобразит его на экране (это все было показано в демо-режиме, тормозов никаких нет).

Однако на программном уровне у нас работает 7 сервисов:

  1. Фоновое воспроизведение музыки. Для радио, альтернативных плееров, Last.fm, наконец.
  2. Фоновая поддержка VoIP. Такие приложения, как Skype, смогут уведомить пользователя о звонке даже в том случае, если он что-то делает в другой программе или девайс находится в спящем режиме.
  3. Похожая функция для обнаружения местоположения. К примеру программа для GSP-навигации сможет давать рекомендации по маршруту во время игры в игрушку.
  4. Локальные уведомления позволят информировать пользователя даже без подключения к интернету. К примеру, это хорошо для кулинарных программ или телегида.
  5. Push-уведомления никто не отменял, они остаются (в принципе, тоже отлично справлялись с задачей).
  6. «Заморозка» состояния приложения позволяет не хранить данные в памяти, которой на iPhone 3GS не так много.
  7. Выполнение задач поможет уведомить пользователя о том, что какое-то задание выполнено. Это может быть загрузка трека в Tap Tap Revenge или аплоад фотографии на фотохостинг.

Несколько подробностей из официального руководства для разработчиков:

Приложение может запросить ограниченное количество времени на завершение важной задачи.

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

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

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

За это их любят фанаты и ненавидят конкуренты, потому что первые обладают такими «жемчужинами», а вторый кусают локти от зависти и плачут по ночам под одеялом, но на людях продолжают люто ненавидить все, что касается Apple 🙂


Читайте также: