[Flutter] BLoC - więcej niż jeden "provider" do obsługi formularzy

0

Witam.
Piszę z zapytaniem, ponieważ doszedłem do momentu, w którym kompletnie czegoś nie rozumiem. Na internetach roi się od BLoC Pattern i to nie tylko w kwestii Fluttera. Gdzie w przypadku listview jest to fantastyczne rozwiązanie, ale co w przypadku formularzy? Mam webową aplikację do zarządzania urządzeniami fiskalnymi i bardzo mi się marzy napisanie tego na Androida, zamiast PWA. Do urządzeń można dodawać interwencje i taki formularz posiada jakieś dane z bazy zrzuty ekranu z okna dodawania interwencji.

Jak załadować do takiego formularza dane z API, aby można było uzupełnić interwencje? Potrzebuje listę możliwych typów interwencji oraz listę serwisantów, którzy tą interwencję wykonali. Dodatkowo jeszcze muszę wysłać do API sam obiekt interwencji. Czy tutaj też się używa BLoC? Tutoriale, kursy na necie mają tak durne przykłady użycia, że za nic nie idzie tego przełożyć na własne problemy.

Sama biblioteka BLoC dla Fluttera ma super opisane i wytłumaczone PRZYKŁADY ale niektóre są już tak przekombinowane, że aż chce się to zrobić inaczej (brzydko). Chociażby Login tutorial... Tragedia.

Może pytanie jest zbyt skupione na Flutterze, ale myślę, że ta kwestia może tyczyć się każdej technologii, chyba nie tylko mobilnej.

0

Wątpię, że tu uzyskasz pomoc, bo nie ma tu zbyt wielu osób piszących we Flutterze, na poziomie zaawansowania wyższym niż twój, zwłaszcza w zakresie tego wzorca projektowego.

Zapytaj raczej na StackOverflow, tam wchodzą nawet twórcy Flutteta

3

Biblioteka BLoC to moim zdaniem kwintesencja przeinżynierowania, proponuję zrobić normalnie na view modelu (w przypadku Fluttera jest to obiekt dziedziczący po ChangeNotifier i wysyłający notyfikacje na zmianę stanu).

0

Normalnie to kwestia względna. We Flutterze zalecany jest wzorzec BloC, a nie MVC (bo chyba o to ci chodzi)

2
  1. Wzorzec BLoC to nie jest to samo co biblioteka flutter_bloc, która jest pomysłem jednego kolesia. Oryginalny bloc był przedstawiony jako obiekt skadający się ze Streamów i Sinków, nic więcej.
  2. Nie ma odgórnego zalecenia aby używać BLoC. Wręcz odwrotnie, rekomendowany jest Provider & ChangeNotifier (przynajmniej dla początkujących): https://flutter.dev/docs/development/data-and-backend/state-mgmt/simple
  3. Mam na myśli MVVM, nie MVC. Flutterowy ChangeNotifier to odpowiednik INotifyPropertyChanged z C# albo ObservableObject ze SwiftUI.
0

Wszystko kwestia podejścia do tematu. MVVM też można uznać za przeinżynierowanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1