? ??? ???? JavaScript ? ??? ?? ????????????
JavaScript ????????? ? ??????????????? ???? ???????????????? , ??????? ????????????? ? 1995 ???? ?????????? ????????????? ????????? ?????. ?????????? ?????? ???? ???????????????? ??? ???????? ???????? ?????????????. ??????? ???????? ????? ???? ?????????? ?????????? ?????????.
???????? ???????? ??????? ??????? ??????????? ??????????? ? ?????????? ???????????? ????? ?? ??????????. ???????????? ?????????? ?????? ?????? ???? ??? ???????? ?????????? ????, ????????? ????????, ???? ???????? ????? ???????? ????? ? ?????? ?????????? ?????????. ??? ??????????? ??????????????? ? ???????????? ?????????? ????? ??? ????????????? ??????? ????????? ? ?????????? ??????????.
??????????? ????? ????????????? ???????? ?????????? ??????????? ?????????????, ????????? ???????????? ? ?????????? ??????. ??? ????????? ??????? ???????????? ? ???????????? ?????????????? ??????????????, ??????? ???? ??????? ?????? ??? ???????????? ???????. ???????????? ??????? ????????? ???? ???? ???????????????? ??? ???????? ??????? ????????????? ???????????????.
??????? ????? ?? ?????????? ???? ????? ?????????????? ????????????????? ? ???????? ??????????. ?????? ??????????? ?????????? ??????? ?????????????? ?????????? ???? ??? ????????? ??????????????? ??. ???????? ?????????? ??????? ????????? ? ??????????? ????????? ?????????? ??????? ????????? ????? ??????????.
?????? ??????? ????? JavaScript: ???????? ?????, ????????? ? ?????? ? ?????????? ?????
??????????? ?? ????? ?????????? ????????? ?????? ????????? ?????????? ???????? ???????? ??????????? ???? ??????. ??????????? ????? ?????? ?????????? ?????, ????? ?????? ??? ?????? ??? ??????????? ???????? ????. ????????????? ?? ???? ???????? ??? ?????? ?? ????? ?????? ?????????.
Prototype? ???????????? ???????? ??? ?????????? ?? ???????????? ???????????????????????? ??????. ?????? ?????? ????? ????? ???????? – ?????? ??????, ???????? ???????? ??????????c?. ??????? ?????????? ???????????? ????????? ???????? ??? ??????????? ???????? ???????. ??????????? ?????? ?????????? ????????? ???????, ??????? ????????? ?????????? ?????? ???? ?????????.
?????????? ???? ??????????? ? ???????????? ?????????? ????? ? ???????? ???????. ??????????? ???????? ?????????????? ????? ???????? ??????, ??????? ??? async/await ???????????. ???????? loop? ????? ???????????? ????????????? ?????????? ?????????? ????????.
????????? ???? ??????????? ???????? ????????? – V8 ? Chrome, SpiderMonkey ? Firefox, JavaScriptCore ? Safari. ??????????? ?????? ?????? ????????? JIT??????????? ??? ??????????? ??????????????????. ??? ?????????????? ? ???????? ?? ????? ??????????.
JavaScript ?? ?????????: ???????????? ?????????, ?????? ? DOM ? ??????? ?? ??????? ???????
?????????? UI ?????????? ??? ?????????? ??? ?????????? ???????????? ??????????? UI. ???????????? ??????????? ????????? ????, ???????? ?????????, ????????? ???? ? ?????? ???????????????? ?????. ??? ???????????????? ?? ??????? ??????? ? ????????? ???????? ?? ???????? ????????????.
Document Object Model ?????????? HTML????????? ? ???? ????????????? ????????? ????????. ??? ?????????? ???????????? ?????? ??? ????????? ?? , ?????????????, ?????????????? ? ???????? ????????? ????????. ??????????? ? DOM ???????? ????????? ?????? ?????? ?????????? ?????????? ??? ???????????? ????????.
????????? ??????? ????????? ??? ???? ??????????????? ??????????????. ??????? ?????????? ??????? ??? ?????? ?????, ???????? ??????, ????????? ????????. ???????????? ????????? ??????????? ???????, ??????? ????????? ???????????? ???????? ? ????? ?? ???????? ????????????. ???????? ?????????? ???????????? ?????? ??????? ?????????????.
??????????? ?????????? ???????? ?????? ????? ??????????? ????????????? DOM. React, Vue ? Angular ?????????? ????????????? ?????? ? ?????????? ???????????. ??????????? ?????? ???????? ?????????, ? ????????? ?????????? ????????? ???????? DOM.
JS???? ? ????????? ???????????????: Node.js ? ?????????????? ??????????????
Node.js ??????????????? ??? ??????????? ?????, ??????????? ?? ?????? V8. ????????? ???????????? run????? ??? ?? ???????? ? ????????????? ??????????? ?????????????????. ???????????? ?????????? ?????? ???? ??? ????????? ? ???????, ??? ???????????? ?????????? ????????.
??????????? ?????? ???????????? ???????????? ??????? ?????????????????? ??? ????????? ????????????? ????????. ????????????? ??????????? ?????? ????????? ???????????? ?????? ????????????? ??????????? ?? ????? ???????.
???????? ??????????? ????????? ????????????:
- ???????? HTTP????????? ? RESTful API ??? ?????? ??????? ? ?????????
- ?????? ? ?????? ?????? ????? ???????? ? ORM???????????
- ????????? ??????, ??????? ?????? ? ????????? ????????
- ?????????? ?????????????? ?????????? ? drgn ?????????????? ???????
?????????? npm ????????? ?????? ? ???????? ??????? ??????? ??? ??????? ??????? ?????. Express, Koa, Fastify ? ?????? ?????????? ????????? ???????? ????????????. ???????????? ? ?????? ????? ????????? ?????????? ?? ??????? ???????, ??????? ??????? ?? ?????????????.
?????? ? ????????????? ????????????: ?????, ????????, SPA ? ?????????? ? API
???????????? ????????? ???? ?????????? ?????? ????? ??????????????. ??? ?????????? ???????? ?? ????????? ????????? ?????? ????? ????????? ?? ??????, ????????? ???????????? email???????? ? ?????????? ???????. ???????????? ??????? ???????????? ????? ? ????????? ?????? ? ???????????????. ???????????? ????? ???????? ??????????? ?? ??????? ?? ???????? ??????.
???????? ????????? ?????????? ???????????? ???????????????? ????. ???????????? ????????? ??????? ???????? ????? ???????????, ????????? ? ??????? ??????. ?????????? GSAP, Anime.js ????????? ?????? ? ??????????? ??? ???????? ??????? ????????. CSS????????? ?????????? ????? ?????? ???? ?????????? ? ???????? ???????.
Single Page Applications ?????????? ??????? ??????????? ??? ???????????? ????????. ??????? ?????????????? ?? ?????????? ???????, ????????? ??????????? ?????????. ?????????? React, Vue, Angular ???????????? ?????????? SPA ? ???????????? ????????????.
?????????????? ? API ??????????? ????? ??????????? HTTP????????. Fetch API ? ?????????? Axios ???????? ??????? ? ??????? ? ???????? ?????? ? ??????? JSON. ???????????? ??????????? ?????? ??? ????????????, ????????? ????????? ?????? ???????.
?????????? ????????? ? ?????????????????? ?????????? ??????????: React Native, Electron ? ?????? ???????
React Native ???????????? ??? ????????? ???????? ????????? ?????????? ??? iOS ? Android. ????????? ???????????? ???????????? ?????? ? ???????? ????????? ???????? ???????? ??????????. ???????????? ????? ??? ???? ??? ? ???????????? ?? ????? ??????????. Instagram, Facebook, Skype ?????????? ?????? ?????? ??? ??????????.
Electron ???????????? ???????? ?????????????????? ?????????? ?????????? ??? Windows, macOS ? Linux. ????????? ????????? Chromium ? Node.js ? ?????? ????? ??????????. ???????????? ????????? ?? ?????????????? ??? ?????????? ?????????? ????????. Visual Studio Code, Slack, Discord ??????? ?? ???? Electron.
Ionic ?????????? ??????????? ??? ?????????? ????????? ????????? ??????????. ????????? ?????????? ?????????????? ? WebView ??? ??????????? ??????????. ?????????? ???????? ?? ????????? ???????? ? ?????? ??????? ?????.
NativeScript ??????????? ??? ? ???????? ?????????? ??? WebView. ????????? ???? ?????? ?????? ? API ???????? ????? ???????. ???????????? ????? ?????????????????? ???????? ?????????? ? ????????? ??????????????.
?????????? ??? ?????????, ???? ? ?????? ?????????? ??????? ??????????????
?????????????? ?????????? ????????? ? ?????????????? WebExtensions API. ???????????? ????????? ????? ??????? ? Chrome, Firefox, Edge ? ?????? ????????. ?????????? ????????????? ???????, ?????????????? ????????, ????????????? ??????? ??? ???????. ??? ??????????? ? ?????????? ??????????? ? ???????????? ?????????????? ???????????.
?????????? ??????? ?????????? ???????? ?? ?????????????????? ?????? ? ??????????. Phaser, PixiJS, Three.js ???????????? ????????? 2D ? 3D ???? ? ????????. WebGL ???????????? ?????????? ????????? ??????? ??? ??????? ?????????? ????????. ???????????? ????????????? ?????????? ????, ??????????????? ?????????? ? drgn ????????????? ???????????.
????? IoT ????????? ?????????? ????? ?? ?????????? ??????????. ????????? Johnny?Five ???????????? ?????? ? ?????????????????? Arduino ? Raspberry Pi. ???????????? ????????????? ???????, ????? ???? ? IoT???????????.
????????? ????????? ???????? ???????? ????? ????????? ????? ?????????? TensorFlow.js ? Brain.js. ???????????? ????????? ????????? ???? ? ????????, ????????? ???????????, ??????????? ???????????? ????. ?????? ???????? ?? ??????? ??????? ??? ???????? ?????? ?? ??????.
??? JavaScript ???????????? ?????? ? HTML ? CSS ? ???????? ????? ??????????????
HTML ??????? ???????? ? ????????? ?????????? ????????????. ???? ???????? ????????? ????????????? ???????? – ?????????, ?????????, ??????, ???????, ?????. CSS ???????? ?? ?????????? ??????????, ???????????? ?????, ??????, ???????????? ?????????. ???? ???????????????? ??????? ??????????????? ? ???????????? ?????????.
??? ?????????? ??????????? ?????? ???????????????????:
- HTML ?????????? ?????? ???????? ? ?????????? ??????? ??? ????????? ??????
- CSS ?????? ?????????? ????????, ?????? ?????????? ?????? ? ?????? ?????? ?????????? ???????
- JS ????????????? ???????, ???????????? DOM ? ???????? ? ?????????
?????????? ??????????????? ???????? ?????????? ? ????????? ????????. ????????? ???????? ? CSS, ????????????????? ??????????? HTML, ???????????? ???????? ??????. ??????????? ???????? ??????????? ????? ?????? ????? ? ???????????????? ?????? ??? ??????????.
????????? ?????????? ????????? ??????????? ??????? ??????????. Sass ? Less ???????????? ?????????? ? ??????? ? CSS. TypeScript ?????? ??????????? ????????? ??? ????????? ?????????? ????. ????????????? Pug ? Handlebars ????????? ????????? HTML. ??????????? ????????????? ???????????? ?????? ?? ?????????? ? ??????? ??????????.
????? ??????? JavaScript ??????????? ????? ?? ????? ???????????????? ?????? ? ?????????? ??
???????????????????? ????? ??????? ??????? ?????? ?????? ?? ???? ??????? ??????????. ???????????? ??????? ????????, ??????, ????????? ? ?????????? ?????????? ? ?????? ???????????. ???????? ???????? ???????, ??????? ???????????? ? ????? ?????? ???????.
??????????? ??? ???????? ?????????? ?????????? ?????????????. ??? ??????? ???? ?????????? ???????? ??? ????????? ??????????????? ???????????? ???????????. ????????? ???????????? ???????, ????????? ?????????? ?????????. ??????? ?????? ??????? ?????? ????????????? ??????? ? ????? ?????????? ??????.
???????? ?????????? npm ???????? ???????? ??????? ???????. ???????????? ??????? ?????????? ??? ????? ????? – ?? ????????? ???? ?? ????????? ????????. ???????? ?????????? ????????? ????????? ????? ??????????? ? ??????????. ???????? ???????? ??? ????????? ??????? ? drgn ?????????????? ???????????? ???????.
?????????? ???????? ????????? ECMAScript ????????? ??????????? ???????????. ??????? ?????? ???? ????????? ????????? ?????????? ? ?????? ?????????. Async/await, ??????, ???????????????? ?????? ????? ???????? ????. ????????????? Babel ????????? ????????? ???????? ??????? ? ????? ?????????.