Nipodemos

revising and fixing errors and typos

@@ -513,7 +513,7 @@ You can use both in any situation, but if you want to tune their application to @@ -513,7 +513,7 @@ You can use both in any situation, but if you want to tune their application to
513 If you want a powerful state manager, you can go without fear to GetX. It does not work with variables, but flows, everything in it is streams under the hood. You can use rxDart in conjunction with it, because everything is stream, you can hear the event of each "variable", because everything in it is stream, it is literally BLoC, easier than MobX, and without code generator or decorations . 513 If you want a powerful state manager, you can go without fear to GetX. It does not work with variables, but flows, everything in it is streams under the hood. You can use rxDart in conjunction with it, because everything is stream, you can hear the event of each "variable", because everything in it is stream, it is literally BLoC, easier than MobX, and without code generator or decorations .
514 514
515 515
516 -## Reactive State Manager 516 +## Reactive State Manager - GetX
517 517
518 If you want power, Get gives you the most advanced state manager you could ever have. 518 If you want power, Get gives you the most advanced state manager you could ever have.
519 GetX was built 100% based on Streams, and give you all the firepower that BLoC gave you, with an easier facility than using MobX. 519 GetX was built 100% based on Streams, and give you all the firepower that BLoC gave you, with an easier facility than using MobX.
@@ -9,14 +9,14 @@ @@ -9,14 +9,14 @@
9 <img alt="Awesome Flutter" src="https://img.shields.io/badge/Awesome-Flutter-blue.svg?longCache=true&style=flat-square" /> 9 <img alt="Awesome Flutter" src="https://img.shields.io/badge/Awesome-Flutter-blue.svg?longCache=true&style=flat-square" />
10 </a> 10 </a>
11 11
12 -Get é uma biblioteca poderosa e extra-leve para Flutter que vai te dar superpoderes e aumentar sua produtividade. Navegue sem `context`, abre dialogs, snackbars ou bottomsheets de qualquer lugar do código, gerencie estados e injete dependências de uma forma simples e prática! Get é seguro, estável, atualizado e oferece uma enorge gama de APIs que não estão presentes no framework padrão. 12 +Get é uma biblioteca poderosa e extra-leve para Flutter que vai te dar superpoderes e aumentar sua produtividade. Navegue sem precisar do `context`, abra `Dialog`s, `Snackbar`s ou `BottomSheet`s de qualquer lugar no código, gerencie estados e injete dependências de uma forma simples e prática! Get é seguro, estável, atualizado e oferece uma enorme gama de APIs que não estão presentes no framework padrão.
13 13
14 ```dart 14 ```dart
15 -// Flutter navigator padrão 15 +// Navigator padrão do Flutter
16 Navigator.of(context).push( 16 Navigator.of(context).push(
17 context, 17 context,
18 MaterialPageRoute( 18 MaterialPageRoute(
19 - builder: (BuildContext context) { 19 + builder: (BuildContext context) {
20 return Home(); 20 return Home();
21 }, 21 },
22 ), 22 ),
@@ -28,8 +28,8 @@ Get.to(Home()); @@ -28,8 +28,8 @@ Get.to(Home());
28 28
29 ## Começando 29 ## Começando
30 30
31 -A navegação convencional do Flutter tem uma grande quantidade de boilerplate (muito código que se repete demais), requer o `context` para navegar entre telas, abrir dialogs e usar snackbars no framework é entediante.  
32 -Somando a isso, quando uma rota é enviada, o `MaterialApp` inteiro pode ser reconstruído causando travamentos. Isso não acontece com o Get. 31 +A navegação convencional do Flutter tem uma grande quantidade de boilerplate (código que se repete demais), requer o `context` para navegar entre telas/rotas, abrir dialogs e usar snackbars no framework, e é entediante.
  32 +Somando a isso, quando uma rota é enviada (uma tela carregada), o `MaterialApp` inteiro pode ser reconstruído podendo causando travamentos. Isso não acontece com o Get.
33 Essa biblioteca vai mudar a forma que você trabalha com o Framework e salvar seu código dos boilerplates, aumentando sua produtividade, e eliminando os bugs de reconstrução da sua aplicação. 33 Essa biblioteca vai mudar a forma que você trabalha com o Framework e salvar seu código dos boilerplates, aumentando sua produtividade, e eliminando os bugs de reconstrução da sua aplicação.
34 34
35 - [Começando](#começando) 35 - [Começando](#começando)
@@ -59,9 +59,9 @@ Essa biblioteca vai mudar a forma que você trabalha com o Framework e salvar se @@ -59,9 +59,9 @@ Essa biblioteca vai mudar a forma que você trabalha com o Framework e salvar se
59 59
60 #### Você pode contribuir no projeto de várias formas: 60 #### Você pode contribuir no projeto de várias formas:
61 - Ajudando a traduzir o README para outras linguagens. 61 - Ajudando a traduzir o README para outras linguagens.
62 -- Adicionando mais documentação ao REAME (nem metado das funcionalidade do Get foram documentadas ainda).  
63 -- Fazendo artigos/videos sobre o Get (eles serão inseridos no README, e no futuro na nossa Wiki).  
64 -- Fazendo PRs (Pull-Requests) para código/testes. 62 +- Adicionando mais documentação ao README (até o momento, nem metade das funcionalidades do Get foram documentadas).
  63 +- Fazendo artigos/vídeos sobre o Get (eles serão inseridos no README, e no futuro na nossa Wiki).
  64 +- Fazendo PR's (Pull-Requests) para código/testes.
65 - Incluindo novas funcionalidades. 65 - Incluindo novas funcionalidades.
66 66
67 Qualquer contribuição é bem-vinda! 67 Qualquer contribuição é bem-vinda!
@@ -73,9 +73,9 @@ Qualquer contribuição é bem-vinda! @@ -73,9 +73,9 @@ Qualquer contribuição é bem-vinda!
73 (procure pela versão mais recente em pub.dev) --> 73 (procure pela versão mais recente em pub.dev) -->
74 74
75 Adicione Get ao seu arquivo pubspec.yaml 75 Adicione Get ao seu arquivo pubspec.yaml
76 -<!-- according to the version of Flutter you are using. -->  
77 -  
78 -Troque seu `MaterialApp` por `GetMaterialApp` e aproveite! 76 +<!-- de acordo com a versão do flutter que você estiver usando -->
  77 +
  78 +Troque seu `MaterialApp()` por `GetMaterialApp()` e aproveite!
79 ```dart 79 ```dart
80 import 'package:get/get.dart'; 80 import 'package:get/get.dart';
81 81
@@ -85,31 +85,29 @@ GetMaterialApp( // Before: MaterialApp( @@ -85,31 +85,29 @@ GetMaterialApp( // Before: MaterialApp(
85 ``` 85 ```
86 86
87 ## Navegação sem rotas nomeadas 87 ## Navegação sem rotas nomeadas
88 -Para navegar para uma próxima tela:  
89 88
  89 +Para navegar para uma próxima tela:
90 ```dart 90 ```dart
91 Get.to(ProximaTela()); 91 Get.to(ProximaTela());
92 ``` 92 ```
93 93
94 Para retornar para a tela anterior: 94 Para retornar para a tela anterior:
95 -  
96 ```dart 95 ```dart
97 Get.back(); 96 Get.back();
98 ``` 97 ```
99 98
100 Para ir para a próxima tela e NÃO deixar opção para voltar para a tela anterior (bom para SplashScreens, telas de login e etc.): 99 Para ir para a próxima tela e NÃO deixar opção para voltar para a tela anterior (bom para SplashScreens, telas de login e etc.):
101 -  
102 ```dart 100 ```dart
103 Get.off(ProximaTela()); 101 Get.off(ProximaTela());
104 ``` 102 ```
105 103
106 -Para ir para a próxima tela e cancelar todas as rotas anteriores (útil em telas de carrinho, votações e testes): 104 +Para ir para a próxima tela e cancelar todas as rotas anteriores (útil em telas de carrinho, votações ou testes):
107 105
108 ```dart 106 ```dart
109 Get.offAll(ProximaTela()); 107 Get.offAll(ProximaTela());
110 ``` 108 ```
111 109
112 -Para navegar para a próxima rota, e recebar ou atualizar dados assim que retornar da rota: 110 +Para navegar para a próxima rota, e receber ou atualizar dados assim que retornar da rota:
113 ```dart 111 ```dart
114 var dados = await Get.to(Pagamento()); 112 var dados = await Get.to(Pagamento());
115 ``` 113 ```
@@ -125,16 +123,15 @@ if (dados == 'sucesso') fazerQualquerCoisa(); @@ -125,16 +123,15 @@ if (dados == 'sucesso') fazerQualquerCoisa();
125 ``` 123 ```
126 124
127 Não quer aprender nossa sintaxe? 125 Não quer aprender nossa sintaxe?
128 -Apenas mude o `Navigator` (letra maiúscula) para `navigator` (letra minúscula), e você terá todas as funcionalidades da navigation padrão, sem precisar usar `context` 126 +Apenas mude o `Navigator` (letra maiúscula) para `navigator` (letra minúscula), e você terá todas as funcionalidades de navegação padrão, sem precisar usar `context`
129 127
130 Exemplo: 128 Exemplo:
131 -  
132 ```dart 129 ```dart
133 // Navigator padrão do Flutter 130 // Navigator padrão do Flutter
134 Navigator.of(context).push( 131 Navigator.of(context).push(
135 context, 132 context,
136 MaterialPageRoute( 133 MaterialPageRoute(
137 - builder: (BuildContext context) { 134 + builder: (BuildContext context) {
138 return HomePage(); 135 return HomePage();
139 }, 136 },
140 ), 137 ),
@@ -155,7 +152,7 @@ Get.to(HomePage()); @@ -155,7 +152,7 @@ Get.to(HomePage());
155 152
156 ### SnackBars 153 ### SnackBars
157 154
158 -Para ter um `SnackBar` simples no Flutter, você precisa pegar o `context` do Scaffold, ou você precisa de uma `GlobalKey` atrelada ao seu Scaffold 155 +Para ter um `SnackBar` simples no Flutter, você precisa pegar o `context` do Scaffold, ou você precisa de uma `GlobalKey` atrelada ao seu Scaffold.
159 ```dart 156 ```dart
160 final snackBar = SnackBar( 157 final snackBar = SnackBar(
161 content: Text('Olá!'), 158 content: Text('Olá!'),
@@ -170,12 +167,11 @@ Scaffold.of(context).showSnackBar(snackBar); @@ -170,12 +167,11 @@ Scaffold.of(context).showSnackBar(snackBar);
170 ``` 167 ```
171 168
172 Com o Get: 169 Com o Get:
173 -  
174 ```dart 170 ```dart
175 Get.snackbar('Olá', 'eu sou uma SnackBar moderna e linda!'); 171 Get.snackbar('Olá', 'eu sou uma SnackBar moderna e linda!');
176 ``` 172 ```
177 173
178 -Com Get, tudo que você precisa fazer é chamar `Get.snackbar` de qualquer lugar no seu código, ou custumizá-lo da forma que quiser! 174 +Com Get, tudo que você precisa fazer é chamar `Get.snackbar()` de qualquer lugar no seu código, e/ou customizá-lo da forma que quiser!
179 175
180 ```dart 176 ```dart
181 Get.snackbar( 177 Get.snackbar(
@@ -227,18 +223,16 @@ Get.snackbar( @@ -227,18 +223,16 @@ Get.snackbar(
227 // Form userInputForm 223 // Form userInputForm
228 /////////////////////////////////// 224 ///////////////////////////////////
229 ``` 225 ```
230 -Se você prefere a SnackBar tradicional, ou quer customizar por completo, incluindo até adicionar apenas uma linha (Get.snackbar usa um `title` e `message` obrigatórios), você pode usar `Get.rawSnackbar();` que fornece a RAW API na qual Get.snackbar foi contruído. 226 +Se você prefere a SnackBar tradicional, ou quer customizar por completo, como por exemplo fazer ele ter só uma linha (`Get.snackbar` tem os parâmetros `title` e `message` obrigatórios), você pode usar `Get.rawSnackbar();` que fornece a RAW API na qual `Get.snackbar` foi contruído.
231 227
232 ### Dialogs 228 ### Dialogs
233 229
234 Para abrir um dialog: 230 Para abrir um dialog:
235 -  
236 ```dart 231 ```dart
237 -Get.dialog(SeuDialogWidget()); 232 +Get.dialog(SeuWidgetDialog());
238 ``` 233 ```
239 234
240 Para abrir um dialog padrão: 235 Para abrir um dialog padrão:
241 -  
242 ```dart 236 ```dart
243 Get.defaultDialog( 237 Get.defaultDialog(
244 onConfirm: () => print("Ok"), 238 onConfirm: () => print("Ok"),
@@ -522,11 +516,8 @@ GetBuilder é focado precisamente em múltiplos controles de estados. Imagine qu @@ -522,11 +516,8 @@ GetBuilder é focado precisamente em múltiplos controles de estados. Imagine qu
522 516
523 Dessa forma, se você quiser controlar individualmente, você pode assinalar ID's para isso, ou usar GetX. Isso é com você, apenas lembre-se que quando mais "widgets individuais" você tiver, mais a performance do GetX vai se sobressair. Mas o GetBuilder vai ser superior quando há multiplas mudanças de estado. 517 Dessa forma, se você quiser controlar individualmente, você pode assinalar ID's para isso, ou usar GetX. Isso é com você, apenas lembre-se que quando mais "widgets individuais" você tiver, mais a performance do GetX vai se sobressair. Mas o GetBuilder vai ser superior quando há multiplas mudanças de estado.
524 518
525 -Você pode usar os dois em qualquer situação, mas se quiser refinar a aplicação para a melhor performance possível, eu diria isso: se as suas variáveis são alteradas em momentos diferentes, use GetX  
526 -  
527 -You can use both in any situation, but if you want to tune their application to the maximum possible performance, I would say that: if your variables are changed at different times, use GetX, because there is no competition for it when the subject is to rebuild only what is necessary, if you do not need unique IDs, because all your variables will be changed when you perform an action, use GetBuilder, because it is a simple state updater in blocks, made in a few lines of code, to make just what he promises to do: update state in blocks. There is no way to compare RAM, CPU, or anything else from a giant state manager to a simple StatefulWidget (like GetBuilder) that is updated when you call update(this). It was done in a simple way, to have the least computational logic involved, just to fulfill a single purpose and spend the minimum resources possible for that purpose.  
528 -If you want a powerful state manager, you can go without fear to GetX. It does not work with variables, but flows, everything in it is streams under the hood. You can use rxDart in conjunction with it, because everything is stream, you can hear the event of each "variable", because everything in it is stream, it is literally BLoC, easier than MobX, and without code generator or decorations .  
529 - 519 +Você pode usar os dois em qualquer situação, mas se quiser refinar a aplicação para a melhor performance possível, eu diria isso: se as suas variáveis são alteradas em momentos diferentes, use GetX, porque não tem competição para isso quando o widget é pra reconstruir somente o que é necessário. Se você não precisa de IDs únicas, porque todas as suas variáveis serão alteradas quando você fazer uma ação, use GetBuilder, porque é um atualizador de estado em blocos simples, feito com apenas algumas linhas de código, para fazer justamente o que ele promete fazer: atualizar estado em blocos. Não há forma de comparar RAM, CPU, etc de um gerenciador de estado gigante com um simples StatefulWidget (como GetBuilder) que é atualizado quando você chama `update(this)`. Foi feito de uma forma simples, para ter o mínimo de lógica computacional, somente para cumprir um único papel e gastar o mínimo de recursos possível.
  520 +Se você quer um gerenciador de estados poderoso, você pode ir sem medo para o GetX. Ele não funciona com variáveis, mas sim fluxos. Tudo está em seus streams por baixo dos panos. Você pode usar `rxDart` em conjunto com ele, porque tudo é um stream, você pode ouvir o evento de cada "variável", porque tudo é um stream, é literalmente BLoc, só que mais fácil que MobX e sem code generators ou decorations.
530 521
531 ## Reactive State Manager - GetX 522 ## Reactive State Manager - GetX
532 523