А есть ликакое-то различие , что лучше использовать , если мне одинаково важны ios и android версии?
Эти архитектуры заточены под что-то?
Давайте уже поможем человеку.
Короче, Provider позволяет создать класс с данными (пример - список товаров в магазине), в который потом можно залезть из любого узла в дереве виджетов и получить эти данные.
В него же можно выносить логику, например, по изменению этих данных.
Если в провайдируемый класс подмешать ChangeNotifier, то можно еще и всех подписчиков уведомлять об изменениях.
MobX — по сути то же самое, класс, в котором есть наблюдаемые члены (observables), действия (actions), и сайд-эффекты (reactions), автоматически срабатывающие при изменениях observables.
Bloc в "чистом" виде — просто класс со стримконтроллером, который тебе отдает stream.
Библитека Bloc от Феликса — типичные стейт-машины. Если вдруг кодил на Unity и знаешь про PlayMaker, то это то же самое, только кодом. Класс, ты в него закидываешь ивенты (можно с нагрузкой), он тебе отдает стрим со стейтами (тоже с нагрузкой). Ты можешь эти стейты считывать через StreamBuilder, проверять их тип и доставать из них данные.
Тут в чате некоторые упарываются по тому, чтобы ВСЁ описывать блоками. Моё имхо, что это горячка. Собственно, по этому поводу тут ежедневный архитектуросрач.
Всем пис, если кого обидел. Уточнения, дополнения приветствуются✌🏻