Jonny Borges
Committed by GitHub

Merge pull request #982 from martwozniak/master

docs: Polish Readme Typos
@@ -48,14 +48,14 @@ @@ -48,14 +48,14 @@
48 [**Telegram (Portuguese)**](https://t.me/joinchat/PhdbJRmsZNpAqSLJL6bH7g) 48 [**Telegram (Portuguese)**](https://t.me/joinchat/PhdbJRmsZNpAqSLJL6bH7g)
49 49
50 # Wprowadzenie 50 # Wprowadzenie
51 -- GetX jest bardzo lekką i potężną biblioteką do Flattera. Łączy wysoką wydajność menadżera stanu, inteligętne dodawanie dependencies i zarządzanie routami w szybki i praktyczny sposób. 51 +- GetX jest bardzo lekką, a zarazem potężną biblioteką do Flattera. Łączy wysoką wydajność menadżera stanu, inteligętne dodawanie dependencies i zarządzanie routami w szybki i praktyczny sposób.
52 - GetX nie jest dla wszystkich, skupia się na jak najmniejszej konsumpcji zasobów (wydajności) ([zobacz benchmarki](https://github.com/jonataslaw/benchmarks)), używaniu łatwej skłani (produktywności) i daniu możliwości pełnego rozbicia View na z logiki biznesowej (organizacja). 52 - GetX nie jest dla wszystkich, skupia się na jak najmniejszej konsumpcji zasobów (wydajności) ([zobacz benchmarki](https://github.com/jonataslaw/benchmarks)), używaniu łatwej skłani (produktywności) i daniu możliwości pełnego rozbicia View na z logiki biznesowej (organizacja).
53 -- GetX która da Ci supermoce i zwiększy produktywność w tworzeniu projektu. Oszczędzi godziny zarówno początkującym jak i ekspoertom. 53 +- GetX da Ci supermoce i zwiększy produktywność w tworzeniu projektu. Oszczędzi godziny zarówno początkującym jak i ekspertom.
54 - Nawiguj bez podawania `context`, używaj open `dialogs`, `snackbarów` oraz `bottomsheetów` z każdego miejsca w kodzie. Zarządzaj stanami i dodawaj dependencies w prosty i praktyczny sposób! 54 - Nawiguj bez podawania `context`, używaj open `dialogs`, `snackbarów` oraz `bottomsheetów` z każdego miejsca w kodzie. Zarządzaj stanami i dodawaj dependencies w prosty i praktyczny sposób!
55 - Get jest bezpieczny, stabilny i aktualny. Oprócz tego oferuje szeroki zakres API, które nie są zawarte w standardowym frameworku. 55 - Get jest bezpieczny, stabilny i aktualny. Oprócz tego oferuje szeroki zakres API, które nie są zawarte w standardowym frameworku.
56 -- GetX nie jest przytłaczający. Ma wiele funkcjonalności pozwalajacych na rozpoczęcie programowania bez martwienia się o nic, ale wszystkie te funkcjonalności są w osobnych kontenerach będących dodane dopiero po ich użyciu. Jeśli tylko używasz menadżera stanu, tylko on będzie kompilowany. Jeśli używasz routów, lecz nic z menadżera stanu on nie będzie kompilowany. Możesz skompilować repozytorium benchmark i zobaczysz że używa tylko menadżera stanu. Aplikacje używajace Get są mniejsze niz inne ponieważ wszystkie rozwiązania GetX sa projektowane dla lekkości i wydajności. Jest to też zasługa Flutterowego AOT, które jest niesamowite i eliminuje nieużywane zasoby jak żaden inny framework. 56 +- GetX nie jest przytłaczający. Ma wiele funkcjonalności pozwalajacych na rozpoczęcie programowania bez martwienia się zupełnie nic. Wszystkie funkcjonalności są w osobnych kontenerach, które dodawane są dopiero po ich użyciu. Jeśli tylko używasz menadżera stanu, tylko on będzie kompilowany. Jeśli używasz routów, lecz nic z menadżera stanu to nie będzie on kompilowany. Możesz skompilować repozytorium benchmark i zobaczysz że używa tylko menadżera stanu. Aplikacje używajace Get są mniejsze niz inne, ponieważ wszystkie rozwiązania GetX są projektowane z myślą o lekkości i wydajności. Jest to też zasługa Flutterowego AOT, które jest niesamowite i eliminuje nieużywane zasoby jak żaden inny framework.
57 57
58 -**GetX zwiększa stwoja produktywność, lecz mozesz to jeszcze przyspieszyć instalując rozszerzenie [GetX extension](https://marketplace.visualstudio.com/items?itemName=get-snippets.get-snippets) do swojego VSCode**. Jeszcze nie dostępne w innych IDE. 58 +**GetX zwiększa twoja produktywność, lecz możesz to jeszcze przyspieszyć instalując rozszerzenie [GetX extension](https://marketplace.visualstudio.com/items?itemName=get-snippets.get-snippets) do swojego VSCode**. Jeszcze nie dostępne w innych IDE.
59 59
60 # Instalacja 60 # Instalacja
61 61
@@ -74,7 +74,7 @@ import 'package:get/get.dart'; @@ -74,7 +74,7 @@ import 'package:get/get.dart';
74 74
75 # Counter App z GetX 75 # Counter App z GetX
76 76
77 -Przykładowa aplikaja tworzona domyślnie podczas kreacji nowego projektu we Flaterze ma ponad 100 lini kodu (z komentarzami). By pokazać siłę Get pokarzę jak zrobić "licznik" ze zmienianą stan z każdym kliknięciem, zmianą stron i udostępniajac stan pomiędzy ekranami. Wszystko w zorganizowany sposób dzieląc buissnes logic z view w zaledwie 26 LINI KODU WŁĄCZAJĄC W TO KOMENTARZE. 77 +Przykładowa aplikaja tworzona domyślnie podczas kreacji nowego projektu we Flaterze ma ponad 100 lini kodu (z komentarzami). By pokazać siłę Get pokażę jak zrobić "licznik" ze zmianą stanu przy każdym kliknięciu, zmianą stron i udostępniajac stan pomiędzy ekranami. Wszystko w zorganizowany sposób dzieląc bussines logic z view w zaledwie 26 LINI KODU WŁĄCZAJĄC W TO KOMENTARZE.
78 78
79 -Krok 1: 79 -Krok 1:
80 Dodaj "Get" przed MaterialApp, zamieniając je na GetMaterialApp 80 Dodaj "Get" przed MaterialApp, zamieniając je na GetMaterialApp
@@ -84,10 +84,10 @@ Dodaj "Get" przed MaterialApp, zamieniając je na GetMaterialApp @@ -84,10 +84,10 @@ Dodaj "Get" przed MaterialApp, zamieniając je na GetMaterialApp
84 void main() => runApp(GetMaterialApp(home: Home())); 84 void main() => runApp(GetMaterialApp(home: Home()));
85 ``` 85 ```
86 86
87 -- Note: nie jest to modyfikaja MaterialApp, ponieważ GetMaterialApp nie jest zmodyfikowanym MaterialApp z Fluttera, jest tylko zkonfigurowanym Widgetem mającym domyślnie MaterialApp jako dziecko. Możesz to konfigurować ręcznie, ale nie jest to konieczne. GetMaterialApp jest niezbędne dla działania routów, snackbarów, bootomsheetów, internacjonalizacji, dialogów i wysokopoziomowych api powiązanych z routami i nieobecnościa kontekstu. Nie jest to jednak wymagane do używania zarzadzania stanem i dependencies. 87 +- Note: nie jest to modyfikaja MaterialApp, ponieważ GetMaterialApp nie jest zmodyfikowanym MaterialApp z Fluttera, jest tylko skonfigurowanym Widgetem mającym domyślnie MaterialApp jako dziecko. Możesz to konfigurować ręcznie, ale nie jest to konieczne. GetMaterialApp jest niezbędne dla działania routów, snackbarów, bootomsheetów, internacjonalizacji, dialogów i wysokopoziomowych api powiązanych z routami i nieobecnościa kontekstu. Nie jest to jednak wymagane do używania zarzadzania stanem i dependencies.
88 88
89 -Krok 2: 89 -Krok 2:
90 -Tworzymy klasę business logic i umieszczmy w niej wszystkie zmienne, metody oraz kontrolery. Możesz zmienić zmienna=ą na obserwowalną używajac prostego ".obs" 90 +Tworzymy klasę business logic i umieszczmy w niej wszystkie zmienne, metody oraz kontrolery. Możesz zmienić zmiennaą na obserwowalną używajac prostego subfixu ".obs"
91 91
92 ```dart 92 ```dart
93 class Controller extends GetxController{ 93 class Controller extends GetxController{
@@ -135,11 +135,11 @@ Wynik: @@ -135,11 +135,11 @@ Wynik:
135 135
136 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/counter-app-gif.gif) 136 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/counter-app-gif.gif)
137 137
138 -Jest to prosty projekt, ale już na jego przykładzie widać potęgę Get. Wzraz ze wzrostem rozmiaru aplikacji ta różnica tylko się powieksza. 138 +Jest to prosty projekt, ale już na jego przykładzie widać potęgę Get. Wraz ze wzrostem rozmiaru aplikacji ta różnica tylko się powiększa.
139 139
140 -Get był projektowany dla pracy z zespołem, ale równie dobrze sprawdza się w indywidualnej pracy. 140 +Get był projektowany dla pracy z zespołem, ale równie dobrze sprawdza się w indywidualnych projektach.
141 141
142 -Zawsze dotrzymuj deadlinów i dostarczaj swoje rozwiązania na czas bez straty na wydajności. Get nie jest dla wszystkich jak już wspominałem, ale jeśli identyfikujesz się z powyższym zdaniem Get jest dla ciebie. 142 +Zawsze dotrzymuj deadlinów i dostarczaj swoje rozwiązania na czas bez straty na wydajności. Get nie jest dla wszystkich jak już wspominałem, ale jeśli identyfikujesz się z powyższym zdaniem Get jest właśnie dla Ciebie.
143 143
144 # Trzy filary 144 # Trzy filary
145 145
@@ -151,15 +151,15 @@ Get nie jest ani lepszy, ani gorszy od innych menadżerów stanów, ale powinien @@ -151,15 +151,15 @@ Get nie jest ani lepszy, ani gorszy od innych menadżerów stanów, ale powinien
151 151
152 Definitywnie Get nie jest przeciwnikiem żadnego innego menadżera, ponieważ jest on mikroframeworkiem, nie tylko menadżerem stanu. Może być użyty samodzielnie, lub w koegzystencji. 152 Definitywnie Get nie jest przeciwnikiem żadnego innego menadżera, ponieważ jest on mikroframeworkiem, nie tylko menadżerem stanu. Może być użyty samodzielnie, lub w koegzystencji.
153 153
154 -Get ma bardzo lekki i prosty menadżer stanu (napisany w tylko 95 lini kodu), który nie używa ChangeNotifier. Sprosta on wymaganiom szczególnie nowych we Flutterze i nie sprawi problemu nawer w dużych aplikacjach. 154 +Get ma bardzo lekki i prosty menadżer stanu (napisany w tylko 95 lini kodu), który nie używa ChangeNotifier. Sprosta on wymaganiom szczególnie nowych we Flutterze i nie sprawi problemu nawet w dużych aplikacjach.
155 155
156 ### Reaktywny menadżer stanu 156 ### Reaktywny menadżer stanu
157 157
158 -Reaktywne programowanie możee dotrącać niektórych, ponieważ powszechnie jest uważane za skomplikowane. GetX zamienia to w coś prostego: 158 +Reaktywne programowanie może odtrącać niektórych, ponieważ powszechnie jest uważane za skomplikowane. GetX zamienia to w coś prostego:
159 159
160 -- Nie musisz tworzyć Strw=eamControllerów, 160 +- Nie musisz tworzyć StreamControllerów,
161 - Nie musisz tworzyć StreamBuildera dla każdej zmiennej, 161 - Nie musisz tworzyć StreamBuildera dla każdej zmiennej,
162 -- Nie ma potrzeby tworzenia klasy dla kżdego stanu, 162 +- Nie ma potrzeby tworzenia klasy dla każdego stanu,
163 - Nie musisz tworzyć Get dla inicjalnej zmiennej 163 - Nie musisz tworzyć Get dla inicjalnej zmiennej
164 164
165 Wyobraź sobie, że masz zmienną i za każdym razem jak zmienisz ją chcesz żeby wszystkie widżety używające jej automatycznie się zmieniły 165 Wyobraź sobie, że masz zmienną i za każdym razem jak zmienisz ją chcesz żeby wszystkie widżety używające jej automatycznie się zmieniły
@@ -183,11 +183,11 @@ Obx (() => Text (controller.name)); @@ -183,11 +183,11 @@ Obx (() => Text (controller.name));
183 To wszystko. *Proste*, co nie? 183 To wszystko. *Proste*, co nie?
184 184
185 ### Bardziej szczegółowo o menadżerze stanu 185 ### Bardziej szczegółowo o menadżerze stanu
186 -**Zobacz bardziej szczegółowe wytłumaczenie menadz=żera sranu [tutaj](./documentation/en_US/state_management.md). Znajdują się tam przykłady jak o różnice między prostym menadżerem stanu oraz reaktywnym** 186 +**Zobacz bardziej szczegółowe wytłumaczenie menadżera stanu [tutaj](./documentation/en_US/state_management.md). Znajdują się tam przykłady jak o różnice między prostym menadżerem stanu oraz reaktywnym**
187 187
188 ### Video tłumaczące użycie menadżera stanu 188 ### Video tłumaczące użycie menadżera stanu
189 189
190 -Amateur COder nagrał o tym niezwykły film: 190 +Tadas Petra nagrał o tym niezwykły film:
191 191
192 Link: [Complete GetX State Management](https://www.youtube.com/watch?v=CNpXbeI_slw) 192 Link: [Complete GetX State Management](https://www.youtube.com/watch?v=CNpXbeI_slw)
193 193
@@ -239,42 +239,42 @@ I użyj następujące np.: @@ -239,42 +239,42 @@ I użyj następujące np.:
239 ```dart 239 ```dart
240 if(data == 'sucess') madeAnything(); 240 if(data == 'sucess') madeAnything();
241 ``` 241 ```
242 -Zobacz, ze do żadnej z tych operacji nie potrzebowałeś contextu. Jest to jedna z głównych zalet GetX oszczędzającego na niepotrzebnej ogudowie z kod i dającego możliwość uzywania tych metod w klasie kontrolera. 242 +Zobacz, ze do żadnej z tych operacji nie potrzebowałeś contextu. Jest to jedna z głównych zalet GetX oszczędzającego na niepotrzebnej obudowie w kod i dającego możliwość używania tych metod w klasie kontrolera.
243 243
244 244
245 ### Więcej o routach 245 ### Więcej o routach
246 246
247 -**Get używa named routes i także oferuje niskopoziomową obsługę routów! Zobacz bardziej szczegółową dokumentacje [tutaj](./documentation/en_US/route_management.md)** 247 +**Get używa named routes oraz oferuje niskopoziomową obsługę routów! Zobacz bardziej szczegółową dokumentacje [tutaj](./documentation/en_US/route_management.md)**
248 248
249 ### Video tłumaczące użycie 249 ### Video tłumaczące użycie
250 250
251 -Amateur Coder nagrał o tym niezwykły film: 251 +Tadas Petra nagrał o tym niezwykły film:
252 252
253 Link: [Complete GetX Navigation](https://www.youtube.com/watch?v=RaqPIoJSTtI) 253 Link: [Complete GetX Navigation](https://www.youtube.com/watch?v=RaqPIoJSTtI)
254 254
255 ## Zarządzanie dependencies 255 ## Zarządzanie dependencies
256 256
257 -Get ma prosty i potężny menadżer dependencies. Pozwala on na otrzymanie tych samych klas jak twoje Bloc lub Kontroler piszac jedną linię kodu bez Provider context i inheritedWidget: 257 +Get ma prosty, a zarazem potężny menadżer dependencies. Pozwala on na otrzymanie tych samych klas jak twoje Bloc lub Kontroler pisząc jedną linię kodu bez Provider context i inheritedWidget:
258 258
259 ```dart 259 ```dart
260 Controller controller = Get.put(Controller()); // Rather Controller controller = Controller(); 260 Controller controller = Get.put(Controller()); // Rather Controller controller = Controller();
261 ``` 261 ```
262 262
263 -- Note: Jeśli używasz menadżera stanu Get zwróć uwafę na binding api, które pozwoli Ci łatwiej połączyć twój widok z kontrolerem. 263 +- Note: Jeśli używasz menadżera stanu Get zwróć uwagę na binding api, które pozwoli Ci łatwiej połączyć twój widok z kontrolerem.
264 https://github.com/jonataslaw/get 264 https://github.com/jonataslaw/get
265 -**Tip:** Menadżer dependency Get jest oddzielony od innych części pakietu więc jeśli już używasz menadzera stanu(którego kolwiek,bez różnicy) nie musisz przepisywać tego wszystkiego na nowo. Możesz używać tego dodawania dependencies bez poroblemu. 265 +**Tip:** Menadżer dependency Get jest oddzielony od innych części pakietu więc jeśli już używasz menadżera stanu(którego kolwiek, bez różnicy) nie musisz przepisywać tego wszystkiego na nowo. Możesz używać tego dodawania dependencies bez poroblemu.
266 266
267 ```dart 267 ```dart
268 controller.fetchApi(); 268 controller.fetchApi();
269 ``` 269 ```
270 -Wyobraź sobie, że musisz nawigować pomiędzy wieloma routami i potrzebujesz dane z kontrolerów z poprzednich ekranów. Musiałbyś użyć menadżera stanu z dodatkiem Providera albo Get_it, prawda? Otuż nie z Fet. Muszisz po prostu poprosić Get o znalezienie tego kontrolera i nie potrzebujesz przy tym dodatkowych dependencies. 270 +Wyobraź sobie, że musisz nawigować pomiędzy wieloma routami i potrzebujesz dane z kontrolerów z poprzednich ekranów. Musiałbyś użyć menadżera stanu z dodatkiem Providera albo Get_it, prawda? Otóż nie z Fet. Musisz po prostu poprosić Get o znalezienie tego kontrolera i nie potrzebujesz przy tym dodatkowych dependencies.
271 271
272 ```dart 272 ```dart
273 Controller controller = Get.find(); 273 Controller controller = Get.find();
274 -//Yes, it looks like Magic, Get will find your controller, and will deliver it to you. You can have 1 million controllersfeatury instantiated, Get will always give you the right controller. 274 +//Tak, to wygląda jak Magia, Get znjadzie Twój kontroler i Ci go dostarczy. Możesz mieć nawet MILION kontrolerów, a Get zawsze da Ci prawidłowy kontroler.
275 ``` 275 ```
276 276
277 -I wtedy będziesz mógł otrzymać bez problemu z niego dane 277 +I wtedy będziesz mógł otrzymać z niego dane bez żadnego problemu
278 278
279 ```dart 279 ```dart
280 Text(controller.textFromApi); 280 Text(controller.textFromApi);
@@ -287,8 +287,8 @@ Text(controller.textFromApi); @@ -287,8 +287,8 @@ Text(controller.textFromApi);
287 287
288 Możesz uczestniczyć w rozwoju projektu na różny sposób: 288 Możesz uczestniczyć w rozwoju projektu na różny sposób:
289 - Pomagając w tłumaczeniu readme na inne języki. 289 - Pomagając w tłumaczeniu readme na inne języki.
290 -- Dodając dokumentację do readme ( nawet nie połowa funkcji została jeszcze opisana).  
291 -- Pisząc artykuły i nagrywając filmy uczące użycia biblioteki Get (będą zamieszczone w readme, a w przyszłości na naszej Wiki). 290 +- Dodając dokumentację do readme (nawet połowa funkcji została jeszcze opisana).
  291 +- Pisząc artykuły i nagrywając filmy pokazujące użycie biblioteki Get (będą zamieszczone w readme, a w przyszłości na naszej Wiki).
292 - Oferując PR-y dla kodu i testów. 292 - Oferując PR-y dla kodu i testów.
293 - Dodając nowe funkcje. 293 - Dodając nowe funkcje.
294 294
@@ -298,7 +298,7 @@ Każda współpraca jest mile widziana! @@ -298,7 +298,7 @@ Każda współpraca jest mile widziana!
298 298
299 ## Zmiana motywu 299 ## Zmiana motywu
300 300
301 -Nie powinno się uzywać innego widżetu niż GetMaterialApp by go zaktualizować. To może powodować duplikacje kluczy. Wiele osób nawykło do prehistorycznego podejścia tworzenia widżetu "ThemeProvider" tylko po to by zmienić motyw aplikacji. Z Get nie jest to absolutnie wymagane. 301 +Nie powinno się używać innego widżetu niż GetMaterialApp by go zaktualizować. To może powodować duplikacje kluczy. Wiele osób nawykło do prehistorycznego podejścia tworzenia widżetu "ThemeProvider" tylko po to by zmienić motyw aplikacji. Z Get nie jest to wymagane.
302 302
303 Możesz stworzyć customowy motyw i łatwo go dodać z Get.changeTheme bez niepotrzebnego kodu. 303 Możesz stworzyć customowy motyw i łatwo go dodać z Get.changeTheme bez niepotrzebnego kodu.
304 304
@@ -314,7 +314,7 @@ Get.changeTheme(Get.isDarkMode? ThemeData.light(): ThemeData.dark());featury @@ -314,7 +314,7 @@ Get.changeTheme(Get.isDarkMode? ThemeData.light(): ThemeData.dark());featury
314 314
315 Kiedy ciemny motyw jest aktywny zmieni się on na jasny, w przeciwnym wypadku zmieni się na ciemny. 315 Kiedy ciemny motyw jest aktywny zmieni się on na jasny, w przeciwnym wypadku zmieni się na ciemny.
316 316
317 -Jeśli interesuje Cię jak zmieniać motywy podąrzaj za samouczkiem na Medium uczącym zmiany motywu z Get: 317 +Jeśli interesuje Cię jak zmieniać motywy podążaj za samouczkiem na Medium pokazującum zmianę motywu przy użyciu Get:
318 318
319 - [Dynamic Themes in 3 lines using Get](https://medium.com/swlh/flutter-dynamic-themes-in-3-lines-c3b375f292e3) - Samouczek stworzony przez [Rod Brown](https://github.com/RodBr). 319 - [Dynamic Themes in 3 lines using Get](https://medium.com/swlh/flutter-dynamic-themes-in-3-lines-c3b375f292e3) - Samouczek stworzony przez [Rod Brown](https://github.com/RodBr).
320 320
@@ -486,7 +486,7 @@ GetMaterialApp( @@ -486,7 +486,7 @@ GetMaterialApp(
486 ## Video tłumaczące inne funkcjonalności GetX 486 ## Video tłumaczące inne funkcjonalności GetX
487 487
488 488
489 -Amateur Coder nagrał niezwykły film tłumaczący powyższe zagadnienia! 489 +Tadas Petra nagrał niezwykły film tłumaczący powyższe zagadnienia!
490 490
491 Link: [GetX Other Features](https://youtu.be/ttQtlX_Q0eU) 491 Link: [GetX Other Features](https://youtu.be/ttQtlX_Q0eU)
492 492
@@ -504,7 +504,7 @@ Link: [GetX Other Features](https://youtu.be/ttQtlX_Q0eU) @@ -504,7 +504,7 @@ Link: [GetX Other Features](https://youtu.be/ttQtlX_Q0eU)
504 | NumX | `RxNum` | 504 | NumX | `RxNum` |
505 | DoubleX | `RxDouble` | 505 | DoubleX | `RxDouble` |
506 506
507 -RXController i GetBuilder teraz zostały połączone. Nie musisz już pamiętać którego kontrolerachcesz użyć, po prostu korzystaj z GetxController, będzie działać zarówno dla prostego jak i reaktywnego menadżera stanów. 507 +RXController i GetBuilder teraz zostały połączone. Nie musisz już pamiętać którego kontrolera chcesz użyć, po prostu korzystaj z GetxController, będzie działać zarówno dla prostego jak i reaktywnego menadżera stanów.
508 508
509 2- NamedRoutes 509 2- NamedRoutes
510 Wcześniej: 510 Wcześniej:
@@ -528,7 +528,7 @@ GetMaterialApp( @@ -528,7 +528,7 @@ GetMaterialApp(
528 ``` 528 ```
529 529
530 Po co ta zmiana? 530 Po co ta zmiana?
531 -Często może być niezbędnym decydowanie która strona będzie wyswietlana w zależności od parametru, lub tokenu logowania. Wczesniejsze podejscie było nieelastyczne nie pozwalając na to. Zawarcie strony w funkcji zmniejszyło sporzycie RAM-u, ze względu na niealokowanie routów od początku działania aplikacji. Pozwoliło to także na takie podejscie: 531 +Często może być niezbędnym decydowanie która strona będzie wyświetlana w zależności od parametru, lub tokenu logowania. Wczesniejsze podejście było nieelastyczne, ponieważ na to nie pozwalało. Zawarcie strony w funkcji zmniejszyło sporzycie RAM-u, ze względu na niealokowanie routów od początku działania aplikacji. Pozwoliło to także na takie podejscie:
532 532
533 ```dart 533 ```dart
534 534