ืืืจืืช ืฉืื ื ืจืื ืืืชื ืืคืฉืจื, 2020 ืืืขื ืืื. ืขื ืขืืฉืื ืชืคืกื ื ืืช ืืชืืจืื ืืื ืืืฉืื ืืืืฉืจ ืืชืื ืืคื ืจืืื ื ืืืืข ืืืืืื ื, ืืืื ืืืช, ืื ืืืืืง ืืื ืืืืจืื - 2020 ืืืฉ ืืขืืจ ืืคืื ื.
ืื ืืชื ืกืงืจื ืื ืืืื ืืขืชืื ืฉื ืขืืื ืืชืื ืืช, ืื ืืืขืชื ืืืงืื ืื ืืื. ืืืื ืืืืืช ืฉืื ื ืืืขื ืืื ื ืงืืื - ืื ืชืงื ืืช ืืืจืื ืืืืช ืฉืืื ืืืขืืช - ืืื ืืืื ืืชืืจ ืืช ืืืฉืืืชืื ืขื ืื ืฉืืฆืคื ืื ื. ืืื ืื ืืช ืืชื ืช ืืืฉืืื, ืืื ืื ื ืืืื ืืื ืื ืืื ืื ืืืช ืขื ืกืื ืื ืชืื ืื ืืืืื ืื.
ืืืืื ืชืขืืืจ ืืืืื ืกืืจืื
Rust ืืื ืฉืคืช ืชืื ืืช ืืขืจืืืช ืืจืืืช ืคืจืืืืืืช ืฉืืขื ืืงื ืขืืืคืืช ืืืืืื; ืงืืื ืื, ืืืืื ืืืืฉืื ืืงืืื. ืืืืื ืช ืชืืืืจ, Rust ืืืื ื-C++, ืื ื ืืขื ืืกืคืง ืืืืืืช ืืืืจืื ืืืืื ืืืชืจ ืชืื ืฉืืืจื ืขื ืืืฆืืขืื ืืืืืื.
ืืืจ ืืจืืข ืฉื ืื ืฉืื ื ืฆืืคืื ืืืชืคืชืืืช ืืืืืจื ืฉื ืฉืคืช ืืชืื ืืช ืืื. ืื ื ืืืฉื ืฉ-2020 ืืื ืืืฉืจ Rust ืืขืืืจ ืืืืคื ืจืฉืื ืืืืื ืกืืจืื. ืืืืื "ืืืื ืกืืจืื" ืืฉ ืืฉืืขืืช ืฉืื ื ืืื ืืื, ืืื ืื ื ืืืืื ืฉืืืกืืืช ืืืื ืื ืืชืืืื ืืืืื ืืืชื ืืชืืื ืืืช ืฉืืื. ืื, ืขื ืืืื, ืืืคืืข ืื ืืืฉ ืฉื ืืชืื ืชืื ืืืืชืืื ื-Rust.
ืืฉืคืืช ืืืืืืืช ืืืืชืจ ืขื ืืชืื ืชืื
Rust ืืืจ ืืืืืื ืืช ืขืฆืื ืืฉืคื ืืืื ืขื ืงืืืื ืืืื ืคืขืืื ืืืื ืืืช. ืื ืื ืฉืคืืืกืืืง ืืฉืชืืฉืช ืื
ืื ืืชื ืืืคืฉ ืฉืคื ืืืฉื ืืืืื, ืื ื ืืืืืฅ ืืืื ืืืืืง ืืช Rust. ืืื ืฉืืขืื ืืื ืืชืื ืืช ืคืขืืื ืืคืืจืืช ืืืชืจ, ืื ื ืืืืขืฅ
GraphQL ืืืฉืื ืืฆืืื ืืคืืคืืืจืืืช
GraphQL
ืืื ืฉืืืืฉืืืื ืฉืื ื ืืืคืืื ืืืจืืืื ืืืชืจ, ืื ืื ืืฆืืจื ืืขืื ื ืชืื ืื. ืืืืคื ืืืฉื, ืื ื ืืขืจืืฅ ืืืื ืฉื GraphQL, ืฉืื ืืฉืชืืฉืชื ืืืชืจ ืืคืขื ืืืช. ืืืขืชื, ืืคืชืจืื ืืื ืืื ืจืืฉ ืืืชืคืืื ืืขื REST API ืืกืืจืชื ืืื ืืงืฉืืจ ืืืืืืจ ื ืชืื ืื.
ื-REST API ืืฆืืจืชื ืืกืื ืืจืืืช ืืืจืฉ ืืขืื ืช ื ืชืื ืื ืืืกืคืจ ืืชืืืืช URL, ืืขืื ืฉื-API ืฉื GraphQL ืืงืื ืืช ืื ืื ืชืื ืื ืฉืืืคืืืงืฆืื ืฉืื ืฆืจืืื ืืืืฆืขืืช ืืงืฉื ืืืช.
GraphQL ืืฉืืฉ ืฆืืืชืื ืืื ืืืืืื, ืืขืืืืื ืืกืืืืืช ืืฉืคืืช ืฉืื ืืช, ืืืฆืจืื ืืคืืืงืฆืืืช ืื ืืื, ืืชืจื ืืื ืืจื ื ืืืืฉืงื API. ืื ืืชื ืืขืื ืืื ืืืืื GraphQL, ืืืืง
ืืคืืืงืฆืืืช ืืื ืืจื ื ืืชืงืืืืช ืื ืืื ืฉืืฉ ืืืชืืฉื ืื
ืืคืืืงืฆืืืช ืืื ืืจื ื ืคืจืืืจืกืืืืืช (ืื PWAs) ืืืืฆืืืช ืืืฉื ืืืฉื ืืคืืชืื ืืคืืืงืฆืืืช: ืื ืืฉืืืืช ืืช ืื ืืืืืงืืช ืฉื ืืืื ืืจื ื ืขื ืืชืืื ืืช ืืืืืืช ืืืืชืจ ืฉื ืคืชืจืื ืืช ื ืืืืื.
ืืฉ ืืจืื ืืืชืจ ืืคืชืื ืืชืจืื ืืขืืื ืืืคืชืืื ืืงืืืืื ืฉืืืชืืื ืขืืืจ ืคืืืคืืจืื ืกืคืฆืืคืืช. ืื ื ืืืฉื ืฉืืจืืข ืฉืชืืืืืื ืืืืืื ืืืื ื ืฉืื ืืืืืื ืืืฉืชืืฉ ืืืืฉืืจืื ืฉื ืืคืชืื ืืชืจืื ืืื ืืืฆืืจ ืืืฉืืื ืืื ืืจื ื ืืชืงืืืื, ื ืจืื ืืจื ืืกืืื ืฉื ืืืฆืจืื ืืกืื ืื.
ืขื ืืืช, ืืืงื ืืื ืื ืืชืืืืืื ืืืืืื ืืืกืชืื, ืืคื ืฉืงืืจื ืืืจื ืืื ืืื ืืื ืืืืืื. ืืืฉืืื ืฉื ืืคืืืช ืืืฉืืื ืืื ืืจื ื ืืืชืงืืืืช ืชืืคืื ืขื ืืชืคื ืืคืืชืื ืืงืืื, ืฉืื ืื ืืขื ืืื ืืื ืืืื ืืจืืงืฆืื ืขื ื-Web Workers API (API ืฉื ืืคืืคื ืืงืืจื).
ืืคืืืงืฆืืืช ืืื ืืจื ื ืืื ืืื ืืืืฉืืจ. ืืืชืจ ืืืืชืจ ืื ืฉืื ืชืืคืกืื ืืช ืืจืขืืื ืฉืื ืืืช ืืคืืืงืฆืืืช ืืื ืืจื ื ืืชืงืืืช ืืืช ืขื ืชืืืืืช ืืื ืืืจืกืืืช ืชืืจืืฉ ืคืืืช ืืฉืืืื ืืชืืื ืฉืืื ืืืชืจ ืืช ืืฉืงืขืช ืืืื.
PWA ื
ืขืืฉืื ืื ืืืื ืืืชืืื ืืืืืจ ืืืฉืืื ืืื ืืจื ื ืืชืงืืืื - ืืชื ืืืื ืืืชืืื
Web Assembly ืืฉืืืจืจ
Web Assembly (ืืงืืฆืืจ wasm) ืืื ืคืืจืื ืืืจืืืช ืืื ืืจืืืช ืขืืืจ ืืืื ื ืืืจืืืืืืช ืืืขืจืืช. ืืื ืคืืขื ืืืขื ืงืืืคืืืฆืื ื ืืื ืืฉืคืืช ืืจืื ืืืืื (C, C++, Rust) ืื ืืชื ืืคืจืืก ืืืชื ืืืื ืืจื ื ืขืืืจ ืืืฉืืื ืืงืื ืืฉืจืช. ืืคืืืงืฆืืืช ืืื ืืจื ื ืคืจืืืจืกืืืืืช ืขืืืืืช ืื ืขื wasm.
ืืืืืื ืืืจืืช, Web Assembly ืืืฉืจืช ืขื ืืคืขืจ ืืื JavaScript ืืืื ืืืืืืืช ืืืจืืช ืืจืืืช ืฉืื ืืช. ืชืืจ ืืขืฆืื ืฉืืชื ืฆืจืื ืืืฉืชืืฉ ืืกืคืจืืืช ืขืืืื ืชืืื ื ืฉื Rust ืืืคืืืงืฆืื ืฉื ืืชืื ื-React. Web Assembly ืชืืคืฉืจ ืืืช.
ืืงืืืช ื ืืื ืขื ืชืคืงืืื ืฉื wasm ืืงืืข ืืืื ืืจื ื ืืืื ืก ื-JSConf.Asia 2019
ืืืืฆืืขืื ืื ืืืื, ืื ืคืื ืื ืชืื ืื ืืืืื ืืื ืืจืฃ, ืื ืฉืืงืฉื ืืืชืจ ืืืืชืจ ืืขืืื ืืงืฆื. ืืื ื ืื ืกืืช ืืชืืื ื ืกืคืจืืืช ืืจืื ื ืืืื ื-C++ ืื Rust. ืืงืจืื ื ืจืื ืืืจืืช ืืืืืืช ืฉืืืกืืคืืช Web Assembly ืืืจืกื ื ืฉืืื, ืืืืืจืื ืืืฉืืื ืจืง ืืฉื.
React ืืืฉืืจ ืืืืค
React ืืื ืืื ืกืคืง ืกืคืจืืืช JavaScript ืืคืืคืืืจืืช ืืืืชืจ ืืคืืชืื ืืืืชื, ืืืฆืืง. ืืฆืืจืช ืืคืืืงืฆืืืช ื-React ืืื ืงืื ืืืื ื. ืืฆืืืช ืฉืืฆืจ ืืช ืืกืคืจืืื ืืื, ืืื ืขื ืืงืืืื, ืขืฉื ืขืืืื ื ืืืจืช ืืกืคืง ืืืืื ืืืื ืืืคืชืืื.
ืขืืืชื ืขื Vue, Angular ื-React, ืืืืื ื ืจืื ืืื ืืกืืจืืช ื ืืืจืืช. ืืื ืืชื ืฆืจืื ืืืืืจ: ืืืืจื ืฉื ืื ืกืคืจืืื ืืื ืืืฆืข ืืฉืืื ืืกืืืืช. ืื ืืืืจ ืฉืืชื ืฆืจืื ืืืฉืื ืคืืืช ืขื ืืขืืคืืช ืืขื ืืืืชืจ ืขื ืืื ืืคืชืืจ ืืช ืืืขืื ืืกืคืฆืืคืืช ืืื. ืืืืืืื ืขื ืืืื ืืกืืจืช ืืื "ืืืืื ืืืืชืจ" ืืื ืืกืจ ืืขื ืืืืืืื. ืืชื ืจืง ืฆืจืื ืืืืืจ ืืื ืืขืฆืื ืืื ืชื ืืช ืื ืืื ืจืืื ืฉืื ืืืชืคืชืืืช. ืืฉืจืื? ืืืจ
ืชืืื ืืืืจ ืขื JavaScript
ืื ืืืื ืืงืจืื ืืฉื ืืช 2010 ืืช ืืขืฉืืจ ืฉื JavaScript. ืืคืืคืืืจืืืช ืฉืื ืืจืงืืขื ืฉืืงืื ืขื ืืฉื ืื ืื ืจืื ืฉืืื ืื ืืืื.
ืืคืชืื JavaScript ืฆืจืืืื ืืกืืื ืืชืงืคืืช - ืืขืชืื ืงืจืืืืช ืื ืืืื ืื "ืืคืชืืื ืืืืืคืื". ืืื JavaScript ืืื ืืจืืื ืืืชื ื ืคืจื ืืืืืฆืจืื ืฉื ืื ืขื ืงืืช ืืื ืืืืืื: ื ืืคืืืงืก, ืคืืืกืืืง, ืืืื ืืขืื ืจืืื ืืืจืื. ืืืชืืกืก ืขื ืื ืืืื, ืืื ืฆืจืืื ืืืืืฉื ืืืืชื ืฉืคืช ืชืื ืืช ืืืืืืืืช ืืื ืื ืืืืจืืช. ืชืืืฉ ืืช ืชืืืจ ืืคืชื JavaScript ืฉืื ืืืืื - ืืืจื ืืื, ืืงืืืื ืืื ืืฆืจื ืจืืื ืืืคืชืจืื ืืช ืืืื ืืืื ืืืืืฉื ืืื ืืืืชืจ ืืกืืืื. ืืืขื ืื ืืืชืจืื ืืฉืชืืฉืื ืืฉืคื ืื ืืืืื ืืกืืืืช. ืืืฉ ืืืืืื ืื ืืืื!
ืื ืขืืฉืื ืื ืืื ืืืื ืคืืจื ืขืืืจ ืืคืชืื JavaScript. ืืืฉืืืจืืช ืขืืืืช, ืืงืืืื ืชืืกืกืช, ืฉืืง ืืขืืืื ืขืฆืื. ืื ืืชื ืืืฉื ืืืืื ืืืชืื JavaScript, ื ืกื ืืช ืกืืจืช ืืกืคืจืื
ืืื ืืืงื ืฉื ืคืืคืืืจืืืช ืฉื ืฉืคืืช ืชืื ืืช
ืชืืื ืฉืงืจืืช! ืื ืคืกืคืกืชื ืืฉืื ืืื ืื, ืืชืื ืืชืืืืืช ืขื ืคืจืืืงืืื ืืืื ืืืืืืืช ืฉืจืืืืื ืืชืฉืืืช ืื ืืขื ืืื.
ืืงืืจ: www.habr.com