Π‘Π»Π΅Π΄ Π΄Π²ΡΠ³ΠΎΠ΄ΠΈΡΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΡΠ²ΠΎΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ , ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° JavaScript ΠΈ TypeScript, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° ΡΡΡΠ²ΡΡΠ°. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΡ Π Π°ΠΉΠ°Π½ ΠΠ°Π» (), ΡΡΠ·Π΄Π°ΡΠ΅Π»ΡΡ Π½Π° Node.js. ΠΠ°ΠΊΡΠΎ Π² Node.js, Π² Deno ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° JavaScript-Π΄Π²ΠΈΠΆΠΎΠΊ , ΠΊΠΎΠΉΡΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π² Π±ΡΠ°ΡΠ·ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Chromium. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Deno Π½Π΅ Π΅ ΠΊΠ»ΠΎΠ½ Π½Π° Node.js, Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Π½Π°ΠΏΡΠ»Π½ΠΎ Π½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΎΡ Π½ΡΠ»Π°ΡΠ°. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Ρ Π»ΠΈΡΠ΅Π½Π· MIT. Π‘Π±ΠΎΡΠΊΠΈΡΠ΅ Π·Π° Linux, Windows ΠΈ macOS.
Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΡΠΈΡΠ»ΠΎ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° API Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Deno, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Ρ ΠΠ‘. ΠΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ , ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° ΡΠΊΡΠΈΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ ββunstableβ. Π‘ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΊΠΈΠ²Π° API ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΈΡΠ΅. API Π² Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π°, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΎ ΠΎΠ±ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠΎ setTimeout() ΠΈ fetch(), ΠΏΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΅ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ API Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡΠΈ ΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΡΠ΅Π± ΡΡΠ°Π½Π΄Π°ΡΡΠΈΡΠ΅ Π·Π° Π±ΡΠ°ΡΠ·ΡΡΠΈ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈΡΠ΅ Rust API, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² ΠΊΠΎΠ΄Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ Π·Π° Deno runtime, Π·Π°ΡΠ΅Π³Π° Π½Π΅ ΡΠ° ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ.
ΠΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΡΠΈΠ²ΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π°ΡΠ° JavaScript ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π±ΡΡ Π° ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΡΠ΅ ΠΎΡΡΡΡΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»Π½ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ, Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Node.js, ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠΎ-Π·Π°ΡΠΈΡΠ΅Π½Π° ΡΡΠ΅Π΄Π°. ΠΠ° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° ΠΎΠΊΠΎΠ»ΠΎ V8 Π΄Π²ΠΈΠΆΠΊΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Rust, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π±ΡΠ³Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ°ΡΠΈ ΠΎΡ Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΡΠ°Π·ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠ»Π΅Π²ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ°. ΠΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° , ΡΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Rust. Tokio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΡΠ±ΠΈΡΠΈΠΉΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° (Event-driven), ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Deno:
- ΠΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΡΡΠ° ΠΊΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΡ ΡΡΠ΅Π΄Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΠ²Π½ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄Π° Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ²Π½ΠΈ ΠΏΡΠ°Π²Π°;
- ΠΠ³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° TypeScript, ΠΎΡΠ²Π΅Π½ JavaScript. ΠΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° JavaScript ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²Π³ΡΠ°Π΄Π΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ TypeScript, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠΏΠ°Π΄ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΠ°Π·Π±ΠΎΡ Π½Π° JavaScript Π² V8. Π Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ TypeScript, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° TypeScript;
- Runtime ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΡΡΠ΅Π½ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ°ΠΉΠ» ("deno"). ΠΠ° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Deno Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π·Π° ΡΠ²ΠΎΡΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΅Π΄ΠΈΠ½ ΠΈΠ·ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ°ΠΉΠ», Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΠ±, ΠΊΠΎΠΉΡΠΎ Π½ΡΠΌΠ° Π²ΡΠ½ΡΠ½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Deno Π½Π΅ Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΎΡ crate-ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Rust (, ), ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΎ;
- ΠΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· URL. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° welcome.js ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° "deno https://deno.land/std/examples/welcome.js". ΠΠΎΠ΄ΡΡ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΈ ΠΊΠ΅ΡΠΈΡΠ° Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ (Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Ρ ΡΠ»Π°Π³Π° "βreload");
- ΠΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° HTTP ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈ ΡΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΊΠ°ΠΊΡΠΎ Π² Deno, ΡΠ°ΠΊΠ° ΠΈ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡ;
- ΠΠ°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° , ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π²ΡΠ½ΡΠ½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΡΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΎΠ΄ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ;
- ΠΡΠ²Π΅Π½ runtime, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Deno ΡΡΡΠΎ ΠΈΠ³ΡΠ°Π΅ ΡΠΎΠ»ΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π² ΠΊΠΎΠ΄Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ° ΠΊΡΠΌ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎ URL. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΊΠ°ΠΆΠ΅ Π² ΠΊΠΎΠ΄Π° "import * as log from "https://deno.land/std/log/mod.ts". Π€Π°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΏΠΎ URL, ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Ρ. ΠΠ΅ΡΡΠΈΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π² URL, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ "https://unpkg.com/liltest@0.0.5/dist/liltest.js";
- ΠΠ³ΡΠ°Π΄Π΅Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«deno infoΒ») ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡΡ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ (deno fmt) ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ.
- ΠΡΠΈΡΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ JavaScript ΡΠ°ΠΉΠ».
Π Π°Π·Π»ΠΈΠΊΠΈ ΠΎΡ Node.js:
- Deno Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ npm
ΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠ²ΡΡΠ·Π²Π° ΠΊΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΡΠ°Π²Π° ΡΡΠ΅Π· URL ΠΈΠ»ΠΈ ΠΏΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΡ, Π° ΡΠ°ΠΌΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΡ; - Π Deno Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Β«package.jsonΒ» Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅;
- Π Π°Π·Π»ΠΈΡΠΈΠ΅ Π² API, Π²ΡΠΈΡΠΊΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Deno Π²ΡΡΡΠ°Ρ promise;
- Deno ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠ° ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°;
- ΠΡΠΈΡΠΊΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΡΠΌΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, Π²ΠΎΠ΄ΡΡ Π΄ΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ;
- Π Deno ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ECMAScript ΠΈ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° require();
- ΠΠ³ΡΠ°Π΄Π΅Π½ΠΎΡΠΎ HTTP-ΡΡΡΠ²ΡΡ Π½Π° Deno Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° TypeScript ΠΈ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡ Ρ Π½Π°ΡΠΈΠ²Π½ΠΈ TCP-ΡΠΎΠΊΠ΅ΡΠΈ, Π° HTTP-ΡΡΡΠ²ΡΡΡΡ Π½Π° Node.js Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ Π·Π° JavaScript. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Deno ΡΠ° Π½Π°ΡΠΎΡΠΈΠ»ΠΈ ΡΡΠΈΠ»ΠΈΡΡΠ° ΡΠΈ ΠΊΡΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠ»ΠΎΠΉ TCP-ΡΠΎΠΊΠ΅ΡΠΈ ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΠΎΠ±Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. HTTP-ΡΡΡΠ²ΡΡΡΡ Π½Π° Deno ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎ-Π½ΠΈΡΡΠΊ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ, Π½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎ Π½ΠΈΡΠΊΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° Deno HTTP ΡΡΡΠ²ΡΡ, ΡΡΠΏΡ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ 25 Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ ΠΎΡ 1.3 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ. Π Node.js Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ 34 Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡΡΠ° Π²Π°ΡΠΈΡΠ°Ρ Π° ΠΌΠ΅ΠΆΠ΄Ρ 2 ΠΈ 300 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
- Deno Π½Π΅ Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° Node.js (NPM), Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° Node.js, ΠΏΠΎ ΠΌΡΡΠΊΠ° Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΡΡΠΎ Π² Deno ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π·Π° Node.js.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
