Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

RDSDataSource: App Thinning

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Артур Протько
App Thinning

YouTube-Videos werden auf SlideShare nicht mehr unterstützt.

Original auf YouTube ansehen

App Thinning
App	Thinning – набор	технологий	направленный	на	уменьшение	
накладных	расходов	при	доставке	приложения	из	App...

Hier ansehen

1 von 30 Anzeige

RDSDataSource: App Thinning

Herunterladen, um offline zu lesen

Артур Протько рассказал о различных технологиях семейства App Thinning: bitcode, slicing, on-demand resources. Помимо теории приводятся практические примеры и статистика, полученная в проекте Рамблер/почта.

RDSDataSource - внутренние пятничные митапы iOS-команды RAMBLER&Co.

Артур Протько рассказал о различных технологиях семейства App Thinning: bitcode, slicing, on-demand resources. Помимо теории приводятся практические примеры и статистика, полученная в проекте Рамблер/почта.

RDSDataSource - внутренние пятничные митапы iOS-команды RAMBLER&Co.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Andere mochten auch (20)

Anzeige

Ähnlich wie RDSDataSource: App Thinning (20)

Weitere von RAMBLER&Co (15)

Anzeige

Aktuellste (20)

RDSDataSource: App Thinning

  1. 1. Артур Протько App Thinning
  2. 2. App Thinning App Thinning – набор технологий направленный на уменьшение накладных расходов при доставке приложения из App Store к конечному пользователю
  3. 3. App Thinning • Slicing • Bitcode • On-Demand Resources
  4. 4. App Slicing Slicing - это процесс создания и поставки вариантов бандла приложения для различных устройств. Каждый вариант содержит исполняемый файл и ресурсы необходимые для работы на конечном устройстве.
  5. 5. App Slicing
  6. 6. App Slicing •Нарезка ресурсов •Нарезка исполняемого файла
  7. 7. Структура исполняемого файла (Universal Binary)
  8. 8. Sliсed apps •Симулятор •TestFlight •Release
  9. 9. • Размер при загрузке снизился на 43% • Размер при установке снизился на 34%
  10. 10. Пользователи операционных систем ниже заявленных продолжат получать Universal вариант.
  11. 11. Bitcode Bitcode - промежуточное представние скомпилированной программы. Приложения, содержащие bitcode при загрузке в iTunes Connect, будут скомпилированны и слинкованны уже в самом сторе.
  12. 12. LLVM compiler • Frontend • Backend
  13. 13. LLVM frontend
  14. 14. Пример LLVM IR // main.c extern int printf(const char *fmt, ...); int main() { printf("Hello Worldn"); return 0; }
  15. 15. clang -S -emit-llvm main.c @.str = private unnamed_addr constant [13 x i8] c"Hello World0A00", align 1 ; Function Attrs: nounwind ssp uwtable define i32 @main() #0 { %1 = alloca i32, align 4 store i32 0, i32* %1 %2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([13 x i8]* @.str, i32 0, i32 0)) ret i32 0 } declare i32 @printf(i8*, ...) #1
  16. 16. LLVM backend
  17. 17. Bitcode - бинарный формат LLVM IR
  18. 18. Включение Bitcode
  19. 19. Плюсы Bitcode •Приложение может быть переоптимизировано на стороне Apple без перезаливки приложения
  20. 20. Минусы Bitcode •Все приложения и фреймворки в бандле должны поддерживать bitcode •Необходимо "вручную" выгружать dSym в Fabric
  21. 21. On-Demand Resources On-Demand Resources - это ресурсы (картинки, аудио, …) помеченные специальным тегом и которые можно запросить с сервера по этому тэгу
  22. 22. Жизненный цикл ресурсов
  23. 23. Преимущества On-Demand Resources • Уменьшение размера приложения • Ленивая загрузка ресурсов приложения • Удаленное хранилище редко используемых ресурсов • Удаленное хранилище ресурсов для встроенных покупок
  24. 24. Недостатки On-Demand Resources •Требует хорошего интернет соединения
  25. 25. Ограничения на размеры ресурсов Item Size Slicing iOS App bundle 2 GB tvOS App bundle 200 MB Tag 512 MB Asset packs 1000 Initial install tags 2 GB Initial install and prefetched tags 4 GB In use on-demand resources 2 GB Hosted on-demand resources 20 GB –
  26. 26. Спасибо за внимание!

×