Открываешь приложение.
Ничего вообще не трогаешь.
А там что-то обновилось, приехало новое сообщение, поменялась цифра, появилась анимация, подгрузилась картинка.
Кажется, будто приложение сидит и такое:
«Так… пользователь молчит. Пора что-нибудь поделать» 😆
На самом деле примерно так и есть.
Приложение не работает только в момент нажатия на кнопку. После запуска внутри него постоянно происходят события.
Например:
⏱️ Работают таймеры
Разработчик может сказать:
— каждые 10 секунд проверяй новые данные;
— через 3 секунды покажи подсказку;
— обновляй таймер на экране каждую секунду.
Ты ничего не делаешь, а код всё равно выполняется.
🌐 Приходят ответы от сервера
Приложение отправило запрос, а интернет оказался медленным.
Ты уже забыл про него, а через секунду сервер отвечает:
— держи список сообщений.
Приложение получает данные и обновляет экран.
📩 Происходят внешние события
Пришёл push.
Изменилось соединение с интернетом.
Поменялась геолокация.
Телефон повернули.
Приложение вернулось из фонового режима.
Для программы всё это такие же события, как нажатие кнопки.
🔄 Работает реактивный интерфейс
Во многих современных приложениях экран как бы говорит:
«Если эти данные изменятся — перерисуй меня».
Например, количество товаров в корзине стало 3.
Разработчику не обязательно вручную искать цифру на экране и менять её. Состояние изменилось → интерфейс сам обновился.
Вот почему приложение иногда выглядит почти «живым».
Но никакой магии там нет.
Просто внутри постоянно крутится система событий:
что-то произошло → код это заметил → выполнил нужное действие.
Иногда самое интересное начинается именно тогда, когда пользователь вообще ничего не нажимает 👀
А вы замечали, что приложение что-то делает само по себе, хотя вы вообще ничего не нажимали?