Доступна ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Deno 2.0, развиваСмая Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Node.js

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Deno 2.0, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для обособлСнного выполнСния сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языках JavaScript ΠΈ TypeScript с использованиСм Π΄Π²ΠΈΠΆΠΊΠ° V8, примСняСмого Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Π½Π° основС Chromium. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Deno Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ Π Π°ΠΉΠ°Π½ Π”Π°Π»ΡŒ (Ryan Dahl), ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Node.js, с Ρ†Π΅Π»ΡŒΡŽ прСдоставлСния Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ окруТСния ΠΈ устранСния ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ошибок, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Node.js. Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности обвязка Π²ΠΎΠΊΡ€ΡƒΠ³ Π΄Π²ΠΈΠΆΠΊΠ° V8 написана Π½Π° языкС Rust, Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ примСняСтся ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Tokio. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. Π‘Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для Linux, Windows ΠΈ macOS.

ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ совмСстимости со старой инфраструктурой JavaScript ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ спСкта ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… JavaScript-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ бСзопасности. Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° обратная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Node.js ΠΈ npm, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ прилоТСния, созданныС для Node.js. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Node.js Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ постСпСнно ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с Node.js Π½Π° использованиС Deno ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊ Deno-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ зависимости ΠΈΠ· NPM Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ спСцификатора «npm:» ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² deno.json.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»Π° package.json ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с модулями node_modules, примСняСмых Π² Node.js.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ… NPM-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»Ρ‹ «.npmrc».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° популярных JavaScript-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Next.js, Astro, Remix, Angular, SvelteKit ΠΈ QwikCity.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… пространств npm (workspace) ΠΈ ΠΌΠΎΠ½ΠΎ-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² (monorepo) с Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ зависимостСй.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ: «deno install» для установки зависимостСй, «deno add» для добавлСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² package.json ΠΈΠ»ΠΈ deno.json, «deno remove» для удалСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ «deno install» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 15 быстрСС npm ΠΏΡ€ΠΈ отсутствия ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² кэшС ΠΈ Π½Π° 90% быстрСС ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² кэшС (поддСрТиваСтся ΠΊΠ°ΠΊ node_modules, Ρ‚Π°ΠΊ ΠΈ собствСнный Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ кэш).
  • Π‘Ρ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ (LTS).
  • ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ JSR — Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с JavaScript- ΠΈ TypeScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ JavaScript Runtime.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «deno fmt» появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ форматирования ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… HTML, CSS ΠΈ YAML.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «deno lint» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спСцифичных для Node.js ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ исправлСний.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «deno test» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска тСстов, созданных с использованиСм node:test.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «deno task» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° запуска скриптов Ρ‡Π΅Ρ€Π΅Π· package.json.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «deno compile» появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ завСрСния ΠΊΠΎΠ΄Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «deno serve» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ распараллСливания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ HTTP-сСрвСров с задСйствованиСм Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ядСр CPU.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «deno coverage» появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сохранСния ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    Доступна ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Deno 2.0, развиваСмая Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Node.js

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности Deno:

  • ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, сСтСвыС возмоТности ΠΈ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ окруТСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ явного Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… sandbox-окруТСниях ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ систСмным возмоТностям Π±Π΅Π· прСдоставлСния явных ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ;
  • ВстроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языка TypeScript ΠΏΠΎΠΌΠΈΠΌΠΎ JavaScript. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ JavaScript задСйствован ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΉ компилятор TypeScript, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€ΠΎΡΠ΅Π΄Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ€Π°Π·Π±ΠΎΡ€ΠΎΠΌ JavaScript Π² V8;
  • Runtime поставляСтся Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ самодостаточного исполняСмого Ρ„Π°ΠΉΠ»Π° («deno»). Для запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Deno достаточно Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ для своСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ΄ΠΈΠ½ исполняСмый Ρ„Π°ΠΉΠ», Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΠΊΠΎΠ»ΠΎ 40 ΠœΠ‘, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π²Π½Π΅ΡˆΠ½ΠΈΡ… зависимостСй ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ особой установки Π² систСму. ΠŸΡ€ΠΈ этом deno Π½Π΅ являСтся ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° прСдставляСт собой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ crate-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π° Rust (deno_core, rusty_v8), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ;
  • ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· URL. НапримСр, для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ welcome.js ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «deno https://deno.land/std/examples/welcome.js». Код с Π²Π½Π΅ΡˆΠ½ΠΈΡ… рСсурсов загруТаСтся ΠΈ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π½Π° локальной систСмС, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° автоматичСски Π½Π΅ обновляСтся (для обновлСния трСбуСтся явно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Ρ„Π»Π°Π³ΠΎΠΌ «—reload»);
  • ЭффСктивная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² прилоТСниях сСтСвых запросов ΠΏΠΎ HTTP, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° рассчитана Π½Π° созданиС Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π² Deno, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅;
  • НаличиС стандартного Π½Π°Π±ΠΎΡ€Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ привязки ΠΊ внСшним зависимостям. ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ· стандартной ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΡˆΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°ΡƒΠ΄ΠΈΡ‚ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ;
  • ΠšΡ€ΠΎΠΌΠ΅ runtime ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Deno Ρ‚Π°ΠΊΠΆΠ΅ выполняСт Ρ€ΠΎΠ»ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΈ позволяСт Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ модулям ΠΏΠΎ URL. НапримСр, для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ модуля ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ «import * as log from «https://deno.land/std/log/mod.ts». Π€Π°ΠΉΠ»Ρ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ с Π²Π½Π΅ΡˆΠ½ΠΈΡ… сСрвСров ΠΏΠΎ URL, ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ вСрсиям ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· указания Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² вСрсий Π²Π½ΡƒΡ‚Ρ€ΠΈ URL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «https://unpkg.com/[email protected]/dist/liltest.js»;
  • ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Π½Π° использованиС Web-стандартов, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Promise, fetch ΠΈ ECMAScript-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.
  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹ΠΌΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ NPM ΠΈ созданными для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Node.js.
  • Π’ состав ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° систСма инспСктирования зависимостСй (ΠΊΠΎΠΌΠ°Π½Π΄Π° «deno info») ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для форматирования ΠΊΠΎΠ΄Π° (deno fmt);
  • ВсС скрипты прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ JavaScript-Ρ„Π°ΠΉΠ».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru