За пределами канонических способов ускорения запуска приложенияТехнологии iOS
Начал заниматься разработкой под iOS в 2013 году на последнем курсе института. Первое время работал в небольших компаниях и командах, решал разные задачи, что помогло быстро набраться опыта и освоить много полезных навыков.
В команде Avito оказался в 2015 году и спустя годы работы в компании смог прочувствовать на себе все прелести и особенности работы в продуктовой компании.
Первое время разработчиков было немного и они вместе пилили большинство фич приложения. Со временем разработчиков стало больше, а зоны ответственности каждого из них стали четче очерчены.
Последние 2 года деятельность Тимура в основном была связана с общеплатформенными задачами, направленными на повышение качества архитектуры проекта, на производительность приложения, а также на помощь другим разработчикам в эффективном решении их задач.
В свободное время занимается спортом: футболом, пляжным волейболом, роликами и коньками, велосипедом. Любит путешествия и походы. В 2015 проехал на велосипеде по северу Италии 550 км, а в 2018 году проехал на коньках 150 км по Байкалу вокруг острова Ольхон, ночуя в палатке в 30-градусный мороз.
Любой мобильный разработчик скажет вам, что сократить время запуска приложения можно с помощью отложенного выполнения задач, разгрузки главного потока, сокращения конкуренции потоков за ресурсы, статической линковки зависимостей и так далее.
Что, если после выполнения этих советов время запуска все еще не впечатляет? В каком же направлении можно было бы двинуться дальше?
В своем докладе я расскажу о поисках баланса между статической и динамической линковкой модулей, о слиянии маленьких модулей в один большой и о долгом пути, который мы прошли в направлении сокращения времени запуска.