рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реБрдП,
рдореИрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдЪреБрдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реВрдВ , рдЬрд┐рд╕рдиреЗ рдореЗрд░реА рдирдЬрд╝рд░ рдХреЛ рдкрдХрдбрд╝рд╛ рдФрд░ рдлрд╝реНрд▓рдЯрд░ рдореЗрдВ рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд░реБрдЪрд┐ рд╣реЛ рдЧрдИред рдЗрд╕ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХрд┐рд╕реА рднреА рдЖрд▓реЛрдЪрдирд╛ рдХреЛ рд╕реБрдирдХрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред Backquotes (``) рдореЗрдВ рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдЪрд╛рд░ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд▓рд┐рдЦреЗ рдЬрд╛рдПрдВрдЧреЗред

рд╕реНрдкрдВрджрди рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рдПрдХ рдЧрд░реНрдо рд╡рд┐рд╖рдп рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рднреНрд░рдорд┐рдд рд╣реЛрдирд╛, рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдЪреБрдирдирд╛ рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИред рдореИрдВ рдЦреБрдж рднреНрд░рдорд┐рдд рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ред рдореИрдВ рдЗрд╕реЗ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ, рдЖрдкрдХреЛ рдЦреБрдж рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╣реИ:
- рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ
- рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕реЗ рдЕрд▓рдЧ рдкреНрд░рджрд░реНрд╢рди рддрд░реНрдХ
- рд╕реНрдкрд╖реНрдЯ рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рддреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ
- рдХреЛрдб рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдФрд░ рд╕рдордЭрджрд╛рд░реА
рдЗрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЙрдкрдпреБрдХреНрдд рд╡рд┐рдХрд▓реНрдк рдмрдиреЗ рд╣реБрдП рд╣реИрдВ:
setState()
рд╡рд┐рдзрд┐ рдФрд░ рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛- `рд▓рд╛рдЗрдмреНрд░реЗрд░реА` рд╕реНрдХреЙрдкреНрдбрдореЙрдбрд▓
- BLoC рдкреИрдЯрд░реНрди (рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдШрдЯрдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- Redux
рд╕реНрдерд╛рдиреАрдп рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░
рдЪрдпрдирд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреБрдХреНрдд рд╣реИ:
рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдлрд╝реЙрд░реНрдо рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлреЙрд░реНрдо рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж рдСрдмреНрдЬреЗрдХреНрдЯ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рдЪрд╛рди" рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреНрд░рдкрддреНрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдХреЛрдИ рднреА рд╕рддреНрдпрд╛рдкрди `рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдлрд╝реЙрд░реНрдо рд╡рд┐рдЬреЗрдЯ` рдХреЗ рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╢реЗрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ "рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд░реНрд╡рд░" рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ "рдкрд╣рдЪрд╛рди" рдСрдмреНрдЬреЗрдХреНрдЯ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдиреНрдп рдШрдЯрдХ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХреГрдд рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓рддреЗ рд╣реИрдВред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд┐рд╖реНрдХрд░реНрд╖ рдЬреЛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рдХреЗ рдердХ рдЧрдП рд╣реИрдВрдпрджрд┐ рдЖрдк рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╛ рдореЗрд░реЗ рд╢реЛрдз рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдореЗрд░реА рдЕрдиреБрд╢рдВрд╕рд╛ рд╕реНрдерд╛рдиреАрдп рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд░рд╛рдЬреНрдп рдХреЗ рд▓рд┐рдП Redux рдХреЗ рд▓рд┐рдП BLoC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдПрдХ рдЬрдЯрд┐рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдмрдврд╝реЗрдЧрд╛ред
рдЖрдкрдХреЛ рд╕реЗрдЯрд╕реНрдЯреЗрдЯ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЕрдкрдиреЗ рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░
setState()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
setState()
рд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдФрд░ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рд╕реНрдкреНрд▓реЗ рд▓реЙрдЬрд┐рдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рдЪреНрдЫрддрд╛ рдФрд░ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдРрд╕реЗ рдХреЛрдб рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред
ScopedModel - рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдХрджрдо
ScopedModel рдмреНрд░рд╛рдпрди рдПрдЧрди рдХреА рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖
Models
рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░
notifyListeners()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП:
class CounterModel extends Model { int _counter = 0; int get counter = _counter; void increment() { _counter++; notifyListeners(); } }
рд╣рдорд╛рд░реЗ рд╡рд┐рдЬреЗрдЯреНрд╕ рдореЗрдВ, рд╣рдо
ScopedModelDescendant
рд▓рд╛рдЗрдмреНрд░реЗрд░реА
ScopedModelDescendant
рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП
ScopedModelDescendant
рд╡рд┐рдЬреЗрдЯ 'рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ:
class CounterApp extends StatelessWidget { @override Widget build(BuildContext context) { return new ScopedModel<CounterModel>( model: new CounterModel(), child: new Column(children: [ new ScopedModelDescendant<CounterModel>( builder: (context, child, model) => new Text('${model.counter}'), ), new Text(" , CounterModel") ]) ); } }
setState()
рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рддрд░реНрдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИ:
- рдпрджрд┐
Model
рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрджреНрдпрддрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, notifyListeners()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХрдм рдирд╣реАрдВред Model
рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдкреАрдЖрдИ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХрд╛ рд╕рдЯреАрдХ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдпрд╣ рд╕рдм рджреЗрдЦрддреЗ рд╣реБрдП, рдпрджрд┐ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕ рдбреЗрдЯрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдирд╣реАрдВ рдорд╛рдирддрд╛ рдХрд┐ рд╡рд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╡реГрджреНрдзрд┐ рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЙрддреНрдкрд╛рджрдХ рд░реВрдк рд╕реЗ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред
рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рдорд╛рдзрд╛рди - рдмреАрдПрд▓рдУрд╕реА
рдЗрд╕ рдкреИрдЯрд░реНрди рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ Google рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╣рд╛рдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рдХреНрд╖реНрдп рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛:
- рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рддрд░реНрдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛
- рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- рдлрд╝реНрд▓рдЯрд░ рдпрд╛ рдПрдВрдЧреБрд▓рд░рдбрд╛рд░реНрдЯ рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдбрд╛рд░реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдкреАрдЫреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
- рдмреАрдПрд▓рдУрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
Sink<T>
рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдШрдЯрдХреЛрдВ рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкреА рдХрд╛ рд╡рд░реНрдгрди - рдмреАрдПрд▓рдУрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
Stream<T>
Api рд╣рдорд╛рд░реЗ рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЕрдВрдд рдореЗрдВ, рд╣рдо рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯреНрд╕ рдФрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдУрд░ рд╕реЗ рдХреЛрдИ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдП рдмрд┐рдирд╛, рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
StreamBuilder
рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Google рдХреЗ рдкрд╛рд╕ рдЗрд╕ рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдЪреНрдЫреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдФрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред
рдореИрдВ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдиреАрдп рд░рд╛рдЬреНрдп рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рд░рд╛рдЬреНрдп рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ - рдЬрд╣рд╛рдВ рдФрд░ рдХреИрд╕реЗ рдмреАрдПрд▓рдУрд╕реА рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХреЛрдВ рддрдХ рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рд╣реЛ, рдФрд░ рдлрд┐рд░ рд░реЗрдбрдХреНрд╕ рджреГрд╢реНрдп рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред
Redux рдФрд░ BLoC - рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╣реА рдорд┐рд╢реНрд░рдг рд╣реИ
рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдореИрдВрдиреЗ рдЬрд┐рди рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдерд╛, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдРрд╕рд╛ рдерд╛ рдЬрд┐рд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдФрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдпреЛрдЧреНрдп рдерд╛, рдФрд░ рдпрд╣ Redux рд╣реИ - рдПрдХ рдкреИрдЯрд░реНрди рдФрд░ рдФрдЬрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬреЛ рд╣рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ рддреАрди рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИрдВ:
рд╕рддреНрдп рдХрд╛
рдПрдХрдорд╛рддреНрд░ рд╕реНрд░реЛрдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА
state
рдкреВрд░реЗ рд░рд╛рдЬреНрдп рдХреЛ рдПрдХ рдПрдХрд▓
store
рдореЗрдВ рдПрдХ рдЯреНрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд░рд╛рдЬреНрдп рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ - рд░рд╛рдЬреНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд░рд╛рдЬреНрдп рдХрд╛ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
- рдкрд░рд┐рд╡рд░реНрддрди рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд░рд╛рдЬреНрдп рдореЗрдВ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВ, рдЖрдк рд╢реБрджреНрдз `
reducer
рдлрд╝рдВрдХреНрд╢рди reducer
рд╣реИрдВ, рдЬреЛ рдХрд┐рд╕реА рднреА рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП` рдирдореВрдирд╛ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ`
рдореВрд▓ рдкреЛрд╕реНрдЯ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рд╕реЗ рдЫрд╡рд┐ рдЖрддреА рд╣реИрдкреНрд░рдмрдВрдз рд░рд╛рдЬреНрдп рдХреЗ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╡реЗрдм рдФрд░ рдореЛрдмрд╛рдЗрд▓-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред
рдмреНрд░рд╛рдпрди рдПрдЧрди рдореВрд▓
Redux рдФрд░
flutter_redux рджреЛрдиреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рднрдпрд╛рдирдХ
рдЯреЛрдбреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рднреА рдмрдирд╛рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ Redux рд╕рд╣рд┐рдд рдХрдИ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдкреИрдЯрд░реНрди рд▓рд╛рдЧреВ рдХрд┐рдПред
Redux рдХреЗ рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд╛рдиреАрдп рд░рд╛рдЬреНрдп рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЕрдВрддрд┐рдо рд╢рдмреНрдж
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд┐рд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЖрд╡реЗрджрди рдХрд░рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдФрд░ рдореЗрд░реЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, Redux рдФрд░ BLoC рдХрд╛ рд╕рдВрдпреЛрдЬрди рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдЖрд╕рд╛рди рднреА рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реБрд▓рдн рдФрд░ рд╕реНрдкрд╖реНрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рднреА рдХреА рдЬрд╝рд░реВрд░рддреЗрдВ рдПрдХ рдЬреИрд╕реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде рдЖрдк рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ 'рдореМрдЬреВрджрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ' рдФрд░ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рднреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрд╢рд╛ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдмрдиреЗ рд░рд╣рдирд╛, рд╕реАрдЦрдирд╛ рдФрд░ рд╕реЛрдЪрдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдпрд╛ рд╡рд╣ рдЙрдкрдХрд░рдг рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред