169 похожих чатов

Есть такой вопрос общий. Например есть UI часть приложения

(экран) и сервисная часть приложения (например сервис геолокации, бекраунд уведомления и тд). На нативе я решал такое вынесением ключевых (корневое состояние) на уровень Приложения, при этом части приложения (экраны или бекраунд сервисы) общались с корневым состоянием через механизм синхронизации. На флаттере вроде лафа - в изоляте ивент луп дает на халяву полную синхронизацию доступа к данным. НО как быть при выполнении кода в разных изолятах (сервис локации, сервис бекграунд уведомлений и тд), когда нет общего слоя Приложения, где выполнять синхронизацию корневого состояния ?

18 ответов

14 просмотров

Вам дали же stream им и пользуйтесь в чем проблема то?

Сделать один изолят источником истины, обновления состояния рассылать остальным изолятам

А есть ли практический смысл такого разделения на изоляты? Я не смог найти ни одной good practice по разделению на изоляты, кроме рекомменадаций по compute

Sergey Mogilnikov
А есть ли практический смысл такого разделения на ...

Если ты пришел из натива, где вызовы к сети в отдельном потоке делались — то тут такого не надо.

Sergio Molchanovsky
Если ты пришел из натива, где вызовы к сети в отде...

Это я в курсе, здесь поток один и только огромные future выделяются в compute

neatcoding- Автор вопроса

локация, бг нотификация - в отдельном потоке 100%

neatcoding
локация, бг нотификация - в отдельном потоке 100%

А зачем? Локация вызывается коллбеком с нативы и там уже движок определит, в каком изоляте это будет исполняться

neatcoding
локация, бг нотификация - в отдельном потоке 100%

Локация — есть готовый пакет geolocator, чем он не устраивает?

Sergio Molchanovsky
Если ты пришел из натива, где вызовы к сети в отде...

в котлине корутины тоже в одном потоке вызываются, но иной раз лучше выделить отдельный скоуп

neatcoding- Автор вопроса
Sergey Mogilnikov
в котлине корутины тоже в одном потоке вызываются,...

на нативе это элементарно решается синхронизацией

neatcoding
на нативе это элементарно решается синхронизацией

Синхронизация не самый лучший механизм, она может приводить к дедлокам

neatcoding- Автор вопроса
neatcoding
смотря как делать - есть инструменты

После голанга и его каналов сложилось ощущение, что блокировок лучше избегать)

Sergey Mogilnikov
После голанга и его каналов сложилось ощущение, чт...

В dart stream практически полный аналог каналов в голанге.

neatcoding- Автор вопроса
Sergey Mogilnikov
После голанга и его каналов сложилось ощущение, чт...

ну есть простые инструменты синхронизации - например через потоки. ХОтя на иОСе там более геморно - но вроде получалось

Anatoliy
В dart stream практически полный аналог каналов в ...

Они не синхронизируются между изолятами

Anatoliy
Ну там порты есть

Об этом и шла речь изначально - нужен один изолят, который будет работать с данными и отдавать их всем остальным

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта