рдЬреНрдЮрд╛рди рдФрд░ рджрд╢рд╛

рдХрд┐рд╕реА рднреА рдЖрдзреБрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рджрд┐рд▓ (рд╡рд╣ рдПрд╕рдкреАрдП, рд╡рд╣ рдкреАрдбрдмреНрд▓реНрдпреВрдП, рдХрд┐рдиреНрд╣реАрдВ рдЕрдиреНрдп рддреАрди рдЕрдХреНрд╖рд░) рдЙрд╕рдХрд╛ рд░рд╛рдЬреНрдп рдпрд╛ рд░рд╛рдЬреНрдп рд╣реИред


рд╣рдо рдЬрд┐рддрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддрдирд╛ рд╣реА рддрд░реНрдХ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ - рд░рд┐рдПрдХреНрдЯ, рд╡реАрдпреВ, рд╕реНрд╡реЗрд▓реНрдЯ, рдХреЛрдгреАрдп, рд╣рдо jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ - рдЗрд╕рдХреА "рдорд╛рдВрд╕рдкреЗрд╢рд┐рдпрд╛рдВ" рдФрд░ "рддреНрд╡рдЪрд╛"ред рд▓реЗрдХрд┐рди рдЖрдк рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВ - рдЖрдк рдХрд┐рди рд╢рд░реНрддреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЖрдк рдХрд┐рд╕ рдореИрдХреЗрдирд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рднреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдбреЗрдЯрд╛ "рдкреНрд░рд╡рд╛рд╣" рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ - рдпрд╣ рд╕рдм рдЙрд╕рдХреЗ рдХрдВрдХрд╛рд▓ рд╕реЗ рдЖрддрд╛ рд╣реИред рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрдХ рд╕реЗред


рдпрд╛рдж рд╣реИ, рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рд╣рдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдердХ рдЧрдП рдереЗ ? рдЕрдм рдореБрдЭреЗ рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓реЛрдЧ рд░рд╛рдЬреНрдп рдХреЗ рдкреНрд░рд╡рд╛рд╕рд┐рдпреЛрдВ рд╕реЗ рдердХ рдЧрдП рд╣реИрдВред Redux? рд╣рд╛рдБ , рд╣рд╛рдБ рдФрд░ рд╣рд╛рдБ ред RxJS? рдмрд╣реБрдд ред MobX? рдпрджрд┐ рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реИ - рд▓рд╛рдирдд рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдПрдХ рдЬрд╛рд▓ рдкреГрд╖реНрда рдХреНрдпреЛрдВ рд╣реИ ?


рдЬрд╡рд╛рдм "рдпрд╣ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдХрдард┐рди рдХреНрдпреЛрдВ рд╣реИ", рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдПрдХ рд░рд╛рдЬреНрдп рдЪрд░рдиреА рдЪреБрдирдирд╛ - рд╣рдо рд╕реЛрдЪрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪреБрдирддреЗ рд╣реИрдВред рдЕрднреА рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рджреГрд╖реНрдЯрд┐рдХреЛрдг 3 рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ:


  • рдлреНрд▓рдХреНрд╕ / Redux-like : рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рд░рд┐рдбреНрдпреВрд╕рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рднрдВрдбрд╛рд░ред рд╡рд╣рд╛рдБ рдХрд╛рдлреА рдПрдХ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╣реЛрддрд╛ рдЙрд▓реНрд▓реЗрдЦ Redux , рдкреНрд░реЗрд░рдХ , Storeon , рдЕрдирдХрд╣рд╛ , рдФрд░ Reatom рдЕрдкрдиреЗ рдЖрдк рдХреЛ ред рдпреЗ "рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд╕реЗ рдЙрддреНрддрдо" рдирд╣реАрдВ рд╣реИрдВ, рдмрд▓реНрдХрд┐ "рд╕рдмрд╕реЗ рд╡рд┐рд╡рд┐рдз" рд╣реИрдВред рд╕реВрдЪреА рд╕реЗ рд╕рднреА рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рдЕрдиреЛрдЦреЗ рдФрд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЙрдирд╕реЗ рд╡рд┐рднрд┐рдиреНрди рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред


    рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп (рдереНрдпреВрд░рд┐рдВрдЧ-рдкреВрд░реНрдг) рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИ ред


  • рд╡реЗрдзрд╢рд╛рд▓рд╛ рдФрд░ рдкрд╛рдЗрдкред рдЗрд╕ рд╕рдореВрд╣ рдореЗрдВ рдЖрдЬ рдХреЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди RxJS рдФрд░ MobX рд╣реИрдВ ред рдХрдо рдЬреНрдЮрд╛рдд рдореЗрдВ рд╕реЗ - рдХреЗрдлрд┐рд░ , рдмреЗрдХрди , рд╕рд╛рдЗрдХрд┐рд▓рдЬ ред рд╡реИрд╕реЗ, Svelte рднреА рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдЖрддреА рд╣реИред рд╡реЗ рд╕рднреА рдбреЗрд╡рд▓рдкрд░ рдЕрдиреБрднрд╡ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореМрд▓рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╡реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ: MobX, Svelte рдФрд░ рдЕрдиреНрдп рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ "рдХреНрдпрд╛ рдЧреНрд░рд╛рдлрд╝ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди RxJS рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХрд╛ рд▓рд┐рдВрдХ рдЧреНрд░рд╛рдл рд╣реИ" рдмрд╣реБрдЖрдпрд╛рдореА рдФрд░ "рдЕрдЬреАрдм рд▓реВрдк" рдЗрд╕рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВрд╡реЗрдзрд╢рд╛рд▓рд╛рдУрдВ рдореЗрдВ рд╡реЗрдзрд╢рд╛рд▓рд╛рдУрдВ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ред рдпрд╣ рдПрдХ рдУрд░ рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдУрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ред рдРрд╕реА рд╣реА рдХрд╣рд╛рдиреА рдкрдЯрдХрдерд╛ рдХреЗ рд╕рд╛рде рдереАред рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрдирдХрд╛ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдереБрд░рд┐рдВрдЧ-рдХрдореНрдкреНрд▓реАрдЯ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдпрд╣ рдереА рдХрд┐ рдпрд╣ рд╕рддреНрдпрд╛рдкрди рдХрджрдо рдкрд░ рд╕реНрдерд┐рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордп рд╕реАрдорд╛ рдЬреЛрдбрд╝ рджреАред


    рдпрд╣ рдЕрдЬреАрдм рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдпрд╣ рд╡рд░реНрдЧ рд╕реНрдерд╛рдиреАрдп, рдпрд╛ рддрджрд░реНрде рдФрд░ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдореЗрдВ рдХрдЯреМрддреА рдХреЗ рдмрд┐рдирд╛ред


    , - , , , , тАЬтАЭ . , Lodash, Ramda, io-ts. - LISP JS, тАФ -- тАЬтАЭ, , .


  • GraphQL . Apollo Relay тАФ , . Falcor тАФ GraphQL Netflix, GunDB PouchDB. , Redux, MobX, RxJS . тАЬтАЭ GraphQL. , . 100% ( )



, . тАФ , ; , - . .


FluxGraphQL
Observables?????

: тАЬтАЭ тАЬтАЭ 100% : redux- , , RxJS тАФ . JS , , .


: - ID ID, тАФ . (), тАФ .



. - . , , , "state of jsтАЭ .


.


.

, , . , тАФ , . , .

тАФ , , . , , тАФ GraphQL . , , .

, - .


SPA , : , , SQL- ; .


Rails, , .


, , ( ) тАФ API , .


:


  • : . , , , .
  • : statechart. тАФ . тАФ observables (RxJava, RxRuby, RxSwift, RxBrainfuck тАФ ) . тАФ - , , - .


. , , . тАФ . , , , , тАФ . , , - . тАФ , .


тАФ - , . - , . тАФ , , , .


. , , , corrupted. : , DTO. . тАФ LISP-. : , .


тАФ . , тАФ , , , тАФ - , . , , . : - тАФ , . , , CRDT-. тАФ .


:


.


тАФ , , тАФ , , . , . , , . await getBlogPost(id), : @gql("blogPost(id){...}") class extends Component, тАФ , .


. . ImmutableJS, Object.freeze, readonly Record & Tuple stage 1 proposal. . - shared worker.


, тАФ , . XState , ( ), . , . .


рджреЛ рджреБрдирд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХрд┐рд╕реА рднреА рдмрд╛рддрдЪреАрдд рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдХреЛрдб рдореЗрдВ рд╕реАрдзреЗ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди рд╕рдВрдпреЛрдЧ рд╕реЗ рдРрд╕рд╛ рди рд╣реЛ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рднреВрдорд┐ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВред


рдЖрдкрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдкрдиреА рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЬреНрдЮрд╛рди рдХреЛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрдХреЙрд▓ + рдЕрдкреЛрд▓реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ , рдФрд░ рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП - рдПрдХреНрд╕рд╕реНрдЯреЗрдЯ + рдЖрд░рдПрдХреНрд╕рдЬреЗрдПрд╕, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рд╣реИрдВ ред


рд╕рдм рдХреБрдЫ рдПрдХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рднрд░ рдЬрд╛рдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рддреБрдореНрд╣реЗ рдЬрд░реБрд░рдд рдирд╣реАрдВред


All Articles