🦙 Почему первые 300мс жизни сложнее всего?
Пользователь нажимает на иконку
И тут начинается треш и угар — в ближайшие 300мс случится больше интересного, чем в фильмах Marvel за последние 5 лет
Пошло поехало:
🔵проинициализоровать часть DI
🔵проинициализировать большую часть библиотек в нужном порядке
🔵стянуть и применить фича-флаги, на которых будет работать приложение
🔵собрать начальный стейт для первого экрана в зависимости от десятков параметров (авторизован ли юзер? какой язык выбран?...)
🔵прочитать кучу локальных данных из долгого ПЗУ, чтобы дальше работать с быстрой ОЗУ
🔵установить соединение с бэком (сходить в DNS, пройти этапы коннекта по TCP/TLS)
🔵выбрать CDN для загрузки медиа-контента
🔵проверить, есть ли в кэше информация для отображения
🔵если нет, начать грузить новую с бэка
🔵отрисовать какой-нибудь скелетон UI
🔵запустить префетч и прогрев важных экранов
🔵замерить все предыдущие этапы, отправить информацию о перфе в аналитику
фух, кончили. наконец-то можно вывести "Ваше приложение устарело, пожалуйста, обновите версию"
@dolgo_polo_dev
Post #196
2.77K

- 😁 57
- ❤ 6
- 👍 4
- 😱 4