Size: a a a

Dart & Flutter по-русски

2021 March 15

V

Vyacheslav in Dart & Flutter по-русски
Newbie Developer
Ребят, а такой вопрос.
Сейчас разбираюсь с навигацией в приложение, в котором больше 3 экранов (хотя бы 10).

Все примеры с навигацией там всего парочка экранов, управляются они с App виджета. Зависимости толком не прокидываются.

Выше мне подсказали, что DI во флаттере не нужен.

И теперь я вообще в замешательстве.

Правильно ли это, что в App виджете будет вся логика навигации? Кажется так не должно быть. Наверное каждый экран сам должен решать куда ему переходить.

Значит на открытие каждого экрана зависимости провайдит текущих экран.

А как что делать если на разных экранах нужна например одна и та же зависимость, пусть будет  UserManager, а экраны друг с другом не связаны.
2 инстанса создавать не хочется..

Как быть то в такой ситуации?
Может быть есть какие-то примеры больших приложений (я не нашел). Использую архитектуру BLoC
В любом случае у этих независимых экранов будет общий родитель, тот же МатериалАпп. Так что ты можешь создать инстанс в этом родителе и обращаться к нему из нижестоящих по дереву виджетов
источник

☕️ CunningFox in Dart & Flutter по-русски
Vyacheslav
В любом случае у этих независимых экранов будет общий родитель, тот же МатериалАпп. Так что ты можешь создать инстанс в этом родителе и обращаться к нему из нижестоящих по дереву виджетов
А если зависимость менеджера вынести из ui в блок?
источник

V

Vyacheslav in Dart & Flutter по-русски
Передавать инстанс в нужное место/экран можно многими способами. Но ты используешь bloc, он подходит
источник

☕️ CunningFox in Dart & Flutter по-русски
☕️ CunningFox
А если зависимость менеджера вынести из ui в блок?
Ui все равно от чего он зависит, блок просто даёт все что нужно
источник

V

Vyacheslav in Dart & Flutter по-русски
☕️ CunningFox
А если зависимость менеджера вынести из ui в блок?
Так и делают обычно. Только в самом блоке не нужно хранить инстанс, его нужно держать в стейте блока
источник

☕️ CunningFox in Dart & Flutter по-русски
Vyacheslav
Так и делают обычно. Только в самом блоке не нужно хранить инстанс, его нужно держать в стейте блока
Не надо инстанс хранить, надо по факту изменения данных в менеджере менять стейт
источник

i

iGroza in Dart & Flutter по-русски
Привет! Как во  flutter  дела обстоят с dependency injection?
источник

m

maks in Dart & Flutter по-русски
Всех приветствую.
Подскажите пожалуйста новичку.
Можно ли реализовать web view в flutter?
Есть сайт на word press (интернет магазин)
Можно ли сделать так чтобы при запуске приложения и появления экрана приветствия запускалась мобильная версия сайта.
Сайт сейчас работает как progressive web app.
Хочу выложить в маркет
источник

☕️ CunningFox in Dart & Flutter по-русски
☕️ CunningFox
Не надо инстанс хранить, надо по факту изменения данных в менеджере менять стейт
Стейт готовое состояние ui, и менять его должен только блок, ui не должен реагировать на свойства стейта без изменения стейта) а свойства должны быть имунными
источник

☕️ CunningFox in Dart & Flutter по-русски
☕️ CunningFox
Стейт готовое состояние ui, и менять его должен только блок, ui не должен реагировать на свойства стейта без изменения стейта) а свойства должны быть имунными
Менеджер не имунное свойство, ui не должен напрямую с ним работать
источник

☕️ CunningFox in Dart & Flutter по-русски
☕️ CunningFox
Менеджер не имунное свойство, ui не должен напрямую с ним работать
Все просто, цель защитить UI от логики
источник

V

Vyacheslav in Dart & Flutter по-русски
iGroza
Привет! Как во  flutter  дела обстоят с dependency injection?
Отлично, все работает. Хочешь пакет используй, хочешь сам напиши несколько строк
источник

V

Vyacheslav in Dart & Flutter по-русски
☕️ CunningFox
Не надо инстанс хранить, надо по факту изменения данных в менеджере менять стейт
Я про то, что иногда в сам блок пишут доступную переменную, и потом напрямую к ней обращаются как к свойству блока. Так не надо делать
источник

☕️ CunningFox in Dart & Flutter по-русски
iGroza
Привет! Как во  flutter  дела обстоят с dependency injection?
А для какой цели хочется использовать DI?
источник

AL

Aleksey Lysov in Dart & Flutter по-русски
maks
Всех приветствую.
Подскажите пожалуйста новичку.
Можно ли реализовать web view в flutter?
Есть сайт на word press (интернет магазин)
Можно ли сделать так чтобы при запуске приложения и появления экрана приветствия запускалась мобильная версия сайта.
Сайт сейчас работает как progressive web app.
Хочу выложить в маркет
Если кроме веб-версии сайта другого функционала не нужно и необходимо выложить только в Google Play, то почитай про Trusted Web Activity (TWA)
источник

m

maks in Dart & Flutter по-русски
Aleksey Lysov
Если кроме веб-версии сайта другого функционала не нужно и необходимо выложить только в Google Play, то почитай про Trusted Web Activity (TWA)
Спасибо, цель не только Google Play но и appStore
источник

t

tdesc in Dart & Flutter по-русски
iGroza
Привет! Как во  flutter  дела обстоят с dependency injection?
регулярно
источник

☕️ CunningFox in Dart & Flutter по-русски
tdesc
регулярно
Просто интересно, DI это круто, если это массовый стек, а в мобилке для чего им пользоваться?
источник

AL

Aleksey Lysov in Dart & Flutter по-русски
maks
Спасибо, цель не только Google Play но и appStore
В апп стор могут не пропустить с чистой WebView по несоотвествию минимального функционала
https://developer.apple.com/app-store/review/guidelines/#minimum-functionality

Но вообще в flutter есть пакеты по типу (https://pub.dev/packages/flutter_webview_plugin), которые дают обертку вокруг android WebView и ios WKWebView.
источник

t

tdesc in Dart & Flutter по-русски
я не знаю что такое массовый стек
источник