🔥

Тред (Игорь Камышев)


Кроме общения непосредственно виджетов между собой, нужно было решить задачу общения старого монолитного приложения с виджетами.

Решили просто как-то просунуть ему ивент-эммитер и разрешить кидать-читать сообщения.

Сделали просто — в новом приложении с виджетами кладем ивент-эммитер в глобальную переменную, а в старом приложении достаем.

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

В итоге в ивент-эммитере сделали накопление событий, а в старом приложении проверяем, если ивент-эммитера нет — ждем пару секунд и смотрим еще раз. Ну и так, пока найдем (после скольки-то попыток можно перестать и признать, что что-то пошло не так)

Не самое красивое решение — зато простое и работает ¯(ツ)/¯