??? ??????, ??? ????? JavaScript ? ? ????? ?????? ?? ????????????
JavaScript ??????????????? ??? ??????????????? ???? ???????????????? , ????????????? ? 1995 ???? ?????????? ????????????? ????????? ?????. ?????????? ???? ?????????? ????????????? ??? ?????????? ?????????????? ????????? ?????????????. ??????? ????? ?????????? ??????? ??????? ??????????? ????? ?? ????? ????????.
???????? ?????????? ???? ????????? ??????????? ? ???????? ???????????? ????????????? ??? ?? ??????????. ???????????? ?????????? ?????? ?????? ??? ???????? dropdown ???????, ?????????, ???? ???????? ????? ? ?????? ???????????? ?????? ??????????. ??? ??????????? ??????????????? ? ?????????? ???????? ??????? ??? ????????????? ???????????? ????????? ? ?????????? ??????????.
??????????? ????? ??????????? ?????????? ???????????????? API, ????????? ????????? ? ?????????? ??????. ??? ????????? ??????? ???????????? ? ????????? ?????????????? ??????????????, ??????? ????????? ??????? ?????? ??? refresh ???????. ???????????? ?????? ?????????? ?????? ???? ??? ???????? ??????? ??????????? ???????????????.
??????? ??????? ????? ????? ???????? ??????????? ????????? ? ???????? ??????????. ?????? ??????????? ??????? ???????????? ?????????? ???? ??? ??????????? ??????????????? ????????. ???????? ?????????? ??????? ????????? ? ??????????? ????????? ?????????? ??????? ????????? ?????????? ??????????.
???????????? ??????????? ????? ???????????: ???????????? ?????????, ????????? ? ?????????? ? ?????????? ?????
???????????? ????????? ???????????? ?????????? ????????? ???????? ??????????? ???? ??????. ??????????? ????? ?????????? ?????????? ?????, ????? ?????? ??? ?????? ??? ??????? ???????? ????. ????????????? ????????????? ???????? ??? ?????? ?? ????? ?????????? ????????? ?????????.
???????????????????????? ???????????? ?????? ???? ??? ?????????? ?? ???????????? ???????????????????????? ??????. ?????? ?????? ????? ????? ???????? – ?????? ??????, ???????? ???????? ????????? ??????. ??????? ?????????? ????????? ????????? ???????? ??? ??????????? ???????? ???????. ??????????? ?????? ???????? ????????? ???????, ??????? ????????? ?????????? ?????? ???? ?????????.
?????????? ???? ?????????? ? ???????????? ?????????? ????? ? event loop. ??????????? ???????? ?????????????? ????? ???????? ??????, ??????? ??? async/await ???????????. ???????? ?????????? ????? ???????? ????????????? ?????????? ?????????? ????????.
?????? ???? ?????????? ???????? ????????? – V8 ? Chrome, SpiderMonkey ? Firefox, JavaScriptCore ? Safari. ??????????? ?????? ????????? JIT??????????? ??? ??????????? ??????????????????. ??? ????????????????? ? ???????? ?? ????? ??????????.
JavaScript ?? ??????????????: ????? ?????????, ?????? ? DOM ? ?????????? ??????? ???????
?????????? ?????????? ?????????? ???? ??? ???????? ???????????? ??????????? ???????????. ???????????? ??????? ????????? ????, ???????? ?????????, ????????? ???? ? ?????? ????????????? ????? ??????????. ??? ?????????????? ?? ??????? ??????? ? ??? ???????? ???????? ????????? ?? ???????? ????????????.
Document Object Model ????????????? HTML????????? ? ???? ???????????? ????????? ????????. ?????? ???? ?????????? ?????? ??? ????????? , ???????, ????????? ? ???????? ????????? ????????. ??????????? ? DOM ???? ??????????? ????????? ?????? ?????? ?????????? UI ??? ???????????? ????????.
?????? ? ??????? ?????? ???? ????????? ??????????????? ??????????????. ??????? ?????????? ??????? ??? ?????? ?????, ???????? ??????, ????????? ????????. ???????????? ????????????? ??????????? ???????, ??????? ????????? ???????????? ???????? ? ????? ?? ???????? ????????????. ???????? ???????? ???????????? ?????? ??????? ?????????????.
??????????? ?????????? ????????????? ?????? ????? ??????????? ????????????? DOM. React, Vue ? Angular ???????????? ????????????? ?????? ? ?????????? ???????????. ??????????? ????????? ???????? ?????????, ? ????????? ???????????? ??????????? ????????? ???????? DOM.
JavaScript ? ????????? ??????????????: Node.js ? ????????? ??????????????
Node.js ???????????? ????? ????????? runtime, ?????????? ?? ?????? V8. ????????? ????????? ??????? ??? ?? ???????? ? ????????????? ??????????? ?????????????????. ???????????? ?????????? ?????? ???? ??? ????????? ? ???????, ??? ??????????????? ?????????? ????????.
??????????? ?????? ???????????? ????????? ??????? ?????????????????? ??? ????????? ????????????? ????????. ????????????? ??????????? ??????????? ???????????? ?????? ????????????? ??????????? ?? ????? ???????.
???????? ??????????? ????????? ????????:
- ???????? HTTP????????? ? RESTful API ??? ?????? ??????? ? ?????????
- ?????? ? ?????? ?????? ????? ???????? ? ORM???????????
- ????????? ??????, ??????? ?????? ? ????????? ????????
- ?????????? ?????????????? ?????????? ? drgn ?????????????? ???????
?????????? npm ??????????? ???????? ??????? ??????? ??? ??????? ??????? ?????. Express, Koa, Fastify ? ?????? ?????????? ?????? ??????? ???????? ????????????. ???????????? ?????????? ?????? ?????? ?????????? ?? ??????? ???????, ?????????????? ?? ?????????????.
?????????? ? ???????????????: ?????, ????????, SPA ? ????? ??????? ? API
?????? ? ???? ???????? ?????? ????? ??????????????. ??? ?? JavaScript ???????? ?? ????????? ????????? ?????? ????? ????????? ?? ??????, ??????? ???????????? email???????? ? ?????????? ???????. ???????????? ?????????? ???????????? ????? ? ????????? ?????? ? ???????????????. ???????????? ??????????? ???????? ??????????? ?? ??????? ?? ???????? ??????.
???????? ????????? ?????????? ???????? ???????????????? ????. ???????????? ??????????? ??????? ???????? ????? ???????????, ????????? ? ??????? ??????. ?????????? GSAP, Anime.js ????????? ?????? ? ??????????? ??? ???????? ??????? ????????. CSS????????? ????????????? ????? ?????? ???? ?????????? ? ???????? ???????.
Single Page Applications ????????? ??????? ??????????? ??? ???????????? ????????. ??????? ??????????? ?? ?????????? ???????, ????????? ???????? ?????????. ?????????? React, Vue, Angular ???????? ?????????? SPA ? ???????????? ????????????.
????? ? API ???????????? ????? ??????????? HTTP????????. Fetch API ? ?????????? Axios ?????????? ??????? ? ??????? ? ????????? ?????? ? ??????? JSON. ???????????? ?????????? ?????? ??? ????????????, ?????????????? ????????? ?????? ???????.
Multi?platform ????????? ? ?????????? ??????????: 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 ????????????? ???????????.
??????????? ????????? ????? ???????????? ?????????? ????? ?? ?????????? ??????????. ????????? Johnny?Five ???????????? ?????????????????? Arduino ? Raspberry Pi. ???????????? ????????????? ???????, ????? ???? ? IoT???????????.
ML ??????????? ????????? ????? ?????????? TensorFlow.js ? Brain.js. ???????????? ??????? ????????? ???? ? ????????, ??????????? ???????????, ?????????? ???????????? ????. ?????? ????????????? ?? ??????? ??????? ??? ??????? ?????? ?? ??????.
? ????? ??????? JavaScript ???????????? ?????? ? HTML ? CSS ? ??????? frontend?????? ??????????????
HTML ????????? ????????? ? ????????? ?????????? ????????????. ???? ???????? ?????????? ????????????? ???????? – ?????????, ?????????, ??????, ???????, ?????. CSS ???????? ?? ?????????? ??????????, ????????? ?????, ??????, ???????????? ?????????. ???? ???????????????? ??????? ??????????????? ? ???????????? ?????????.
??? ?????????? ???????? ?????? ???????????????????:
- HTML ???????? ?????? ???????? ? ?????????????? ??????? ??? ????????? ??????
- CSS ?????????? ????????, ????????? ?????????? ?????? ? ?????? ?????? ?????????? ???????
- ?????????? ?????????? ???? ????????? ????????? ???????, ????????? DOM ? ????????????? ? ?????????
????????????? ??????????????? ?????? ????? ?????????? ? ????????? ????????. ????????? ????????? ? CSS, ????????????????? ????????????? HTML, ???????????? ????????? ??????. ??????????? ???????? ??????????? ????? ?????? ????? ? ???????????????? ?????? ??? ??????????.
???????? ?????????????? ??????????? ??????????? ??????? ??????????. Sass ? Less ???? ?????????? ? ??????? ? CSS. TypeScript ?????????? ??????????? ????????? ??? ????????? ?????????? ????. ????????????? Pug ? Handlebars ?????????????? ????????? HTML. ??????????? ????????????? ??????? ?????? ?? ?????????? ? ??????? ??????????.
?? ???? ???? JavaScript ??????????? ????? ?? ????? ???????? ?????? ? ??????????????
??????????????? ????? ???? ??????????? ?????? ?????? ?? ???? ??????? ??????????. ???????????? ??????? ????????, ??????, ????????? ? ?????????? ?????????? ? ?????? ???????????. ???????? ???????????? ???????, ??????? ???????????? ? ????? ?????? ???????.
??????????? ??? ???????? ?????????? ?????????? ?????????????. ??? ??????? ???? ?????????? ???????? ??? ????????? ??????????????? ???????????? ???????????. ????????? ???????????? ???????, ????????? ?????????? ?????????. ??????? ?????? ??????? ?????? ????????????? ??????? ? ????? ?????????? ??????.
???????? ?????????? npm ??????????? ???????? ??????? ???????. ???????????? ????????? ?????????? ??? ????? ????? – ?? ????????? ???? ?? ????????? ????????. ???????? ?????????? ????????? ?????????? ????? ??????????? ? ??????????. ???????? ???????? ??? ????????? ??????? ? drgn ?????????????? ???????????? ???????.
?????????? ???????? ????????? ECMAScript ????????? ??????????? ???????????. ??????? ?????? ???? ????????? ????????? ?????????? ? ?????? ?????????. Async/await, ??????, ???????????????? ???????? ???????? ????. ????????????? Babel ???? ??????????? ????????? ?????????????? ??????? ? ?????? ?????????.