App Thinning — удивительная технология Apple, о которой вы не должны были знать

Александр
Apple

На прошедшей в этом году конференции WWDC компания Apple рассказала о технологии App Thinning. Теперь она применяется в iOS 9 на iPhone, iPad и iPod touch, а также в tvOS на Apple TV 4.0. Эта технология решает проблему с заполнением локальной памяти на устройствах.

Как вы знаете, установка приложений и игры выглядит следующим образом: вы заходите в App Store, находите нужный вам контент, нажимаете кнопку покупки, скачиваете установочный файл и устанавливаете его. В большинстве случае установочный файл универсальный — он скачивается на все виды устройств, а интерфейс приложения или игры адаптируетсяпод размер и разрешение экрана в момент запуска. У этого метода есть один существенный минус — пакет установки должен содержать код и графические элементы для всех устройств, в результате чего установочный файл сильно увеличивается в размере. Если вы ставите приложение на новую модель iPhone, вы скачиваете и те файлы, которые никогда не будут открываться на вашем устройстве, поскольку предназначены для других — всех предыдущих моделей смартфонов и всех планшетов Apple

Технология App Thinning позволяет уменьшить объем установочного файла в несколько раз. Процесс сборки приложений при этом усложняется: разработчик готовит код с тегами, которыми отмечено, какой код должен быть скачан на ту или иную модель смартфона или планшета. Компания Apple приводила в пример приложение DemoBots. Его оригинальный вариант совместим с 19 моделями устройств и весит 77 мегабайт. С использованием App Thinning его размер уменьшается до 22 мегабайт. При этом создается 19 разных файлов, но пользователь скачивает именно тот, который подходит к его устройству. Наиболее впечатляющих результатов эта технология позволяет добиваться в играх, ведь в них намного больше элементов графики, чем в приложениях.

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

С использованием App Thinning разработчики могут указать, какая часть приложения или игры будет скачана во время первичной установки, и в какой момент будет подгружаться дополнительный контент. Скажем, сначала скачаются три первых уровня. Как только вы пройдете второй, игра закачает еще несколько. Если вы дошли до середины игры, будут скачаны финальные уровни, а первые, если вы их больше не запускаете, могут быть удалены.

Казалось бы, на этом можно остановиться, но нет, Apple пошла еще дальше. App Thinning предусматривает частичное удаление контента в тех играх, которые вы установили, но ни разу не запускали. Если для установки нового контента будет не хватать места, система проанализирует неиспользуемый код и избавится от него. Конечно, вы можете внезапно вспомнить об установленной когда-то давно игре, и в тот момент, когда вы попытаетесь запустить ее, она будет скачана заново.

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

Есть ли у этой технологии недостатки? Несомненно. Переход на App Thinning подразумевает конец эпохи игр и приложений, которые можно запускать без интернета. В особенности «пострадают» тяжелые игры, поскольку они больше не смогут хранить весь контент на устройстве, он будет подгружаться по мере прохождения.

С другой стороны, App Thinning позволит разработчикам создавать очень сложные игры и обновлять их практически в режиме реального времени. Игрокам для получения доступа к новому контенту (например, приуроченному к какому-нибудь празднику) не придется скачивать обновления по 1,5-2 гигабайта — игра будет обновляться моментально и незаметно. Фактически у разработчиков вообще пропадет необходимость в выкладывании в App Store новых версий игр, ведь общий контент в них может меняться динамически по несколько раз в день. Без сомнений, App Thinning окажет влияние на игры вроде Minecraft и Disney Infinity, где пользователи создают собственные миры и посещают места, созданные другими. В таких проектах станет намного больше мультиплеерной составляющей и всевозможного интерактива.
0

Будь в курсе последних новостей из мира гаджетов и технологий

Мы в соцсетях

Комментарии

+96
Хороший материал для 8 часов утра :)
А по теме теперь у разработчиков игр появится возможность дополнительно продавать контент внутри установленных уже игр без необходимости обновления. Может быть, это уже используется.

В целом идея хорошая и логичная, с подтекстом, почему этого не сделали раньше. Например, та же игра FIFA, мне не нужна куча балласта ненужных игроков, клубов, чемпионатов.

В общем, Эппл делает все, чтобы не поднимать начальный уровень памяти с 16 до 32 гигов.
13 ноября 2015 в 08:18
#
+107
Знал В)

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 08:22
#
+25
Небольшие порции по 64 мегабайта. А если у меня трафик? А если скорость интернета низкая?

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 08:44
#
Pofigist
+42
А вы у Кука спросите когда уже на айфоне можно будет скачать через мобильные данные более 100мб, как это реализовано в ненавистной адскими поклонниками Эпл Андроиде :)))))

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 12:09
#
+36
Вот в таких ситуациях и нужен джейл)

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 17:35
#
+6
А я жду Айфон 6s mini !
С размером 4-ки...

Кто первый спросит у Т.Кука будет он или нет?


Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 09:01
#
orange17
+432
+1

Сообщение отправлено из мобильного приложения iGuides
16 ноября 2015 в 13:57
#
+15
Идея конечно хорошая. Но если это будет делаться все в фоновом режиме от разработчиков приложений, то где гарантии что в одном из обновлений они не зальют вирус, так как получится что эпл будет отслеживать только исходный файл а дальше уже компании разработчика как я понял.

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 09:34
#
+96
Вряд ли напрямую от разработчика, скорее всего, через сервера Эппла с проверкой
13 ноября 2015 в 12:42
#
+48
ресурсы хранятся на серверах эпл. иначе каждому разработчику пришлось бы самому поднимать сервер. в случае бета теста приложения, разработчик сам берет на себя обязанность по хостингу сервера. взято отсюда https://developer.apple.com/library/tvos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html
13 ноября 2015 в 16:03
#
–31
Уроды, чё тут ещё сказать...
Инфа 146% что это делается не для удобства, а для борьбы с джейлом.

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 09:35
#
+8
Если они так гнусно убрали 32гб версию айфона, чтобы только получить больше навара,то естественно глупо полагать, что они постараются ради юзеров. Им выгодно, чтобы памяти устройства вечно не хватало.

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 10:18
#
–67
+

Сообщение отправлено из мобильного приложения iGuides
14 ноября 2015 в 08:00
#
shaurme
+22
Мы на столько не хотим убирать айфон на 16 гб, что готовы пойти на все... Эта проблема актуальна только для версии 16 гб, 64 версию айфона, айпада могут забить лишь самые усердные либо самые ленивые. Была проблема на 5s вечно не хватало памяти, приходилось записывать музыку по 1 исполнителю, фото удалять через день. Сегодня же на 6 с 64 гб на борту проблем нет вообще никаких 20 гб музыки остальное никогда не забьётся

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 09:40
#
+118
я тебя умоляю;) тут вон недавно писали, что один умелец умудрился забить onedrive мелкомягких на 10 ТБ;)

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 12:03
#
Pofigist
+42
Любитель "клубнички"? :))

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 12:11
#
Pofigist
+42
Вот "настоящая" новость, которую я не должен был знать: палка-писалка для нового айпада стоит 7500, а клавиатура 12000 руб.
Мдааа.....

Сообщение отправлено из мобильного приложения iGuides
13 ноября 2015 в 12:07
#
+48
1) месяц назад же писали об этом
2) как и месяц назад вы все напутали. то что вы описали это App Slicing и On-Demand Resources, а App Thining включает в себя еще и Bitcode
13 ноября 2015 в 16:00
#