Сегодня на показе будущей Айфон-ОС 4.0 (выйдет летом) Эплы произнесли волшебное слово «мультитаскинг».
Мультитаскинг — это, как правило, обычная фича для галочки, и совершенно неясно, почему этой фичи так требовали пользователи. Что толку с того, что любые приложения смогут висеть в фоне и жрать ресурсы? Это загадка. Тем временем, маркетологи конкурентов тщательно промывали мозги аудитории, говоря, что в Айфоне нет многозадачности. Так как звучит это круто и современно, и вообще, в других аппаратах это есть, то все требовали от Эпла этого. Но поскольку пользователи просто не въезжали о чём тут речь, то Эплы сообразили, что нужно делать: нужно просто сказать слово «мультитаскинг», чтобы все заткнулись на тему того, что его нет. Делать мультитаскинг при этом не обязательно, потому что это плохая фича.
Два тезиса:
- Операционная система Айфона поддерживает многозадачность.
- Приложениям, написанным сторонними разработчиками, запрещено оставаться и делать что-то в фоне.
Оба эти тезиса верны применительно ко всем версиям прошивок Айфона от 1.0 до 4.0. Многозадачность как была, так и осталась (иначе как вы получаете входящие звонки, или смс, или напоминалки, пока играете в Судоку под музыку из Айпода?), а фоном висеть неэпловским приложениям как нельзя было, так и сейчас нельзя (поэтому никакая плохая программа в тайне от вас не сможет ничего делать).
Вместо того, чтобы просто разрешить работу сторонних приложений в фоне, Эплы решают конкретные проблемы, которые есть у пользователей из-за отсутствия такой возможности. Первым был пуш — уведомления со стороны сервера. Пуш решил, например, проблему инстант-мессенджеров. Вместо того, чтобы оставлять крутиться фоном всё огромное приложение-болталку (или, ещё хуже, несколько таких приложений, со всеми их экранами, иконками и чёрт знает чем ещё), Эплы написали свой суперлёгкий и супербыстрый фоновый процесс, который в одиночестве обрабатывает все уведомления для всех программ, и может при необходимости запустить любую программу.
Пользователь этой кухни никак не видит. Допустим он пользуется приложением «Болталка» и сидит в чате с Васей, а потом выходит из него и запускает браузер. Вдруг на экране появляется сообщение, что Вася пишет «Пошли в кино». То, что появление этого сообщения вызвано эпловским сервисом его не волнует. Если он жмёт отмену, то приложение «Болталка» даже не узнаёт об этом всём, а если жмёт на «Ответить», то «Болталка» запускается и показывает ему диалог ровно с того же места.
Пуш решил не все задачи. Фоновое прослушивание музыки из чужих приложений (скажем, интернет-радио) или фоновое слежение за ГПС-координатами пользователя (для геосоциальных штуковин) оставались невозможными.
В прошивке 4.0 Эплы решают эти задачи, выпуская решение под брендом «Мультитаскинг». В действительности же они просто добавляют свой фоновый сервис, который умеет играть музыку, и свой сервис, который следит за ГПС-координатами, а также АПИ для взаимодействия сторонних программ с ними. И ещё пару сервисов других. Всё. Сторонним программам по-прежнему никто не разрешит просто так висеть и занимать память и процессор. Поэтому по-прежнему не будет никакого диспетчера задач, а фоновая программа не сможет зависнуть, потому ОС будет точно так же убивать её при выходе на домашний экран, как это делают первая, вторая и третья прошивки.
И слава богу.