ืคืจื•ื™ืงื˜ Deno ืžืคืชื— ืคืœื˜ืคื•ืจืžืช JavaScript ืžืื•ื‘ื˜ื—ืช ื”ื“ื•ืžื” ืœ-Node.js

ื–ืžื™ืŸ ืฉื—ืจื•ืจ ื”ืคืจื•ื™ืงื˜ ื“ื ื• 0.33, ืฉืžืฆื™ืขื” ืคืœื˜ืคื•ืจืžื” ื“ืžื•ื™ืช Node.js ืœื”ืคืขืœืช ื™ื™ืฉื•ืžื™ื ืขืฆืžืื™ื™ื ื‘-JavaScript ื•-TypeScript ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื” ืœื”ืคืขืœืช ื™ื™ืฉื•ืžื™ื ืžื‘ืœื™ ืœื”ื™ื•ืช ืงืฉื•ืจื™ื ืœื“ืคื“ืคืŸ, ื›ื’ื•ืŸ ื™ืฆื™ืจืช ืžื˜ืคืœื™ื ื”ืคื•ืขืœื™ื ืขืœ ื”ืฉืจืช. Deno ืžืฉืชืžืฉ ื‘ืžื ื•ืข JavaScript V8, ื”ืžืฉืžืฉ ื’ื ื‘-Node.js ื•ื‘ื“ืคื“ืคื ื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœ ืคืจื•ื™ืงื˜ Chromium. ืงื•ื“ ืคืจื•ื™ืงื˜ ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืชื—ืช ืจื™ืฉื™ื•ืŸ MIT. ื”ืคืจื•ื™ืงื˜ ืžืคื•ืชื— ืขืœ ื™ื“ื™ ืจื™ืืŸ ื“ืืœ (ืจืื™ื™ืŸ ื“ื”ืœ), ื™ื•ืฆืจ ืคืœื˜ืคื•ืจืžืช ื”-JavaScript Node.js.

ืื—ืช ื”ืžื˜ืจื•ืช ื”ืขื™ืงืจื™ื•ืช ืฉืœ ื™ืฆื™ืจืช ื–ืžืŸ ืจื™ืฆื” ื—ื“ืฉ ืขื‘ื•ืจ JavaScript ื”ื™ื ืœืกืคืง ืกื‘ื™ื‘ื” ืžืื•ื‘ื˜ื—ืช ื™ื•ืชืจ. ื›ื“ื™ ืœืฉืคืจ ืืช ื”ืื‘ื˜ื—ื”, ืžื ื•ืข ื”-V8 ื›ืชื•ื‘ ื‘-Rust, ืžื” ืฉื ืžื ืข ืจื‘ื•ืช ืžื”ื—ื•ืœืฉื•ืช ื”ื ื•ื‘ืขื•ืช ืžืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ื–ื™ื›ืจื•ืŸ ื‘ืจืžื” ื ืžื•ื›ื”, ื›ื’ื•ืŸ ื’ื™ืฉื” ื—ื•ืคืฉื™ืช ืœืื—ืจ, ื”ืคื ื™ื•ืช ืฉืœ ืžืฆื‘ื™ืข ืืคืก, ื•ื—ืจื™ืคืช ืžืื’ืจ. ื”ืคืœื˜ืคื•ืจืžื” ืžืฉืžืฉืช ืœืขื™ื‘ื•ื“ ื‘ืงืฉื•ืช ื‘ืžืฆื‘ ืœื ื—ื•ืกื ื˜ื•ืงื™ื•, ื›ืชื•ื‘ ื’ื ื‘ื—ืœื•ื“ื”. Tokio ืžืืคืฉืจืช ืœืš ืœื™ืฆื•ืจ ื™ื™ืฉื•ืžื™ื ื‘ืขืœื™ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจื” ืžื•ื ืขืช ืื™ืจื•ืขื™ื, ื”ืชื•ืžื›ื™ื ื‘ืจื™ื‘ื•ื™ ื”ืฉื—ืœื•ืช ื•ืขื™ื‘ื•ื“ ื‘ืงืฉื•ืช ืจืฉืช ื‘ืžืฆื‘ ืืกื™ื ื›ืจื•ื ื™.

ื”ืขื™ืงืจื™ ืชื›ื•ื ื•ืช ื“ื ื•:

  • ืชืฆื•ืจืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืžื•ื›ื•ื•ื ืช ืื‘ื˜ื—ื”. ื’ื™ืฉื” ืœืงื‘ืฆื™ื, ืจืฉืช ื•ื’ื™ืฉื” ืœืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืžื•ืฉื‘ืชื™ื ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื•ื™ืฉ ืœื”ืคืขื™ืœื ื‘ืžืคื•ืจืฉ;
  • ืชืžื™ื›ื” ืžื•ื‘ื ื™ืช ื‘ืฉืคืช TypeScript ื‘ื ื•ืกืฃ ืœ-JavaScript;
  • ื–ืžืŸ ื”ืจื™ืฆื” ืžื’ื™ืข ื‘ืฆื•ืจื” ืฉืœ ืงื•ื‘ืฅ ื”ืคืขืœื” ืขืฆืžืื™ ืื—ื“ ("deno"). ื›ื“ื™ ืœื”ืคืขื™ืœ ื™ื™ืฉื•ืžื™ื ื‘ืืžืฆืขื•ืช Deno ื–ื” ืžืกืคื™ืง ื”ื•ืจื“ ืขื‘ื•ืจ ื”ืคืœื˜ืคื•ืจืžื” ืฉืœื• ืงื•ื‘ืฅ ื”ืคืขืœื” ืื—ื“, ื‘ื’ื•ื“ืœ ืฉืœ ื›-10 ืžื’ื”-ื‘ื™ื™ื˜, ืฉืื™ืŸ ืœื• ืชืœื•ืช ื—ื™ืฆื•ื ื™ืช ื•ืื™ื ื• ืžืฆืจื™ืš ื”ืชืงื ื” ืžื™ื•ื—ื“ืช ืขืœ ื”ืžืขืจื›ืช;
  • ื‘ืขืช ื”ืคืขืœืช ื”ืชื•ื›ื ื™ืช, ื›ืžื• ื’ื ืœื˜ืขื™ื ืช ืžื•ื“ื•ืœื™ื, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื›ืชื•ื‘ืช URL. ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช ืชื•ื›ื ื™ืช welcome.js, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” "deno https://deno.land/std/examples/welcome.js". ืงื•ื“ ืžืžืฉืื‘ื™ื ื—ื™ืฆื•ื ื™ื™ื ืžื•ืจื™ื“ื™ื ื•ืžืื—ืกื ื™ื ื‘ืžื˜ืžื•ืŸ ื‘ืžืขืจื›ืช ื”ืžืงื•ืžื™ืช, ืืš ืœืขื•ืœื ืœื ืžืชืขื“ื›ืŸ ืื•ื˜ื•ืžื˜ื™ืช (ืขื“ื›ื•ืŸ ืžื—ื™ื™ื‘ ื”ืคืขืœืช ื”ืืคืœื™ืงืฆื™ื” ื‘ืžืคื•ืจืฉ ืขื ื”ื“ื’ืœ "--reload");
  • ืขื™ื‘ื•ื“ ื™ืขื™ืœ ืฉืœ ื‘ืงืฉื•ืช ืจืฉืช ื‘ืืžืฆืขื•ืช HTTP ื‘ืืคืœื™ืงืฆื™ื•ืช; ื”ืคืœื˜ืคื•ืจืžื” ืžื™ื•ืขื“ืช ืœื™ืฆื™ืจืช ื™ื™ืฉื•ืžื™ ืจืฉืช ื‘ืขืœื™ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื;
  • ื”ื™ื›ื•ืœืช ืœื™ืฆื•ืจ ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜ ืื•ื ื™ื‘ืจืกืœื™ื™ื ืฉื ื™ืชืŸ ืœื”ืคืขื™ืœ ื’ื ื‘ื“ื ื• ื•ื’ื ื‘ื“ืคื“ืคืŸ ืื™ื ื˜ืจื ื˜ ืจื’ื™ืœ;
  • ื‘ื ื•ืกืฃ ืœื–ืžืŸ ื”ืจื™ืฆื”, ืคืœื˜ืคื•ืจืžืช Deno ืคื•ืขืœืช ื’ื ื›ืžื ื”ืœืช ื—ื‘ื™ืœื•ืช ื•ืžืืคืฉืจืช ืœืš ืœื’ืฉืช ืœืžื•ื“ื•ืœื™ื ืœืคื™ ื›ืชื•ื‘ืช URL ื‘ืชื•ืš ื”ืงื•ื“. ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœื˜ืขื•ืŸ ืžื•ื“ื•ืœ, ืืชื” ื™ื›ื•ืœ ืœืฆื™ื™ืŸ ื‘ืงื•ื“ "ื™ื‘ื•ื * ื‘ืชื•ืจ ื™ื•ืžืŸ ืžืชื•ืš "https://deno.land/std/log/mod.ts". ืงื‘ืฆื™ื ืฉื”ื•ืจื“ื• ืžืฉืจืชื™ื ื—ื™ืฆื•ื ื™ื™ื ื“ืจืš URL ื ืฉืžืจื™ื ื‘ืžื˜ืžื•ืŸ. ื”ืชื—ื™ื™ื‘ื•ืช ืœื’ืจืกืื•ืช ืžื•ื“ื•ืœ ื ืงื‘ืขืช ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ ืžืกืคืจื™ ื’ืจืกืื•ืช ื‘ืชื•ืš ื›ืชื•ื‘ืช ื”ืืชืจ, ืœื“ื•ื’ืžื”, "https://unpkg.com/[ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ]/dist/liltest.js";
  • ื”ืžื‘ื ื” ื›ื•ืœืœ ืžืขืจื›ืช ืžืฉื•ืœื‘ืช ืœื‘ื“ื™ืงืช ืชืœื•ืช (ืคืงื•ื“ืช "deno info") ื•ื›ืœื™ ืขื–ืจ ืœืขื™ืฆื•ื‘ ืงื•ื“ (deno fmt).
  • ืœืžืคืชื—ื™ ืืคืœื™ืงืฆื™ื•ืช ืžื•ึผืฆึธืข ืกื˜ ืฉืœ ืžื•ื“ื•ืœื™ื ืกื˜ื ื“ืจื˜ื™ื™ื ืฉืขื‘ืจื• ื‘ื™ืงื•ืจืช ื•ื‘ื“ื™ืงื•ืช ืชืื™ืžื•ืช ื ื•ืกืคื•ืช;
  • ื ื™ืชืŸ ืœืฉืœื‘ ืืช ื›ืœ ืกืงืจื™ืคื˜ื™ ื”ื™ื™ืฉื•ื ืœืงื•ื‘ืฅ JavaScript ืื—ื“.

ื”ื‘ื“ืœื™ื ืž-Node.js:

  • Deno ืœื ืžืฉืชืžืฉ ื‘ืžื ื”ืœ ื”ื—ื‘ื™ืœื•ืช ืฉืœ npm
    ื•ืื™ื ื• ืงืฉื•ืจ ืœืžืื’ืจื™ื, ืžื•ื“ื•ืœื™ื ืžื˜ื•ืคืœื™ื ื‘ืืžืฆืขื•ืช ื›ืชื•ื‘ืช URL ืื• ื ืชื™ื‘ ืงื•ื‘ืฅ, ื•ื ื™ืชืŸ ืœืžืงื ืืช ื”ืžื•ื“ื•ืœื™ื ืขืฆืžื ื‘ื›ืœ ืืชืจ ืื™ื ื˜ืจื ื˜;

  • Deno ืื™ื ื• ืžืฉืชืžืฉ ื‘-"package.json" ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืžื•ื“ื•ืœื™ื;
  • ื”ื‘ื“ืœ API, ื›ืœ ื”ืคืขื•ืœื•ืช ื”ืืกื™ื ื›ืจื•ื ื™ื•ืช ื‘-Deno ืžื—ื–ื™ืจื•ืช ื”ื‘ื˜ื—ื”;
  • Deno ื“ื•ืจืฉ ื”ื’ื“ืจื” ืžืคื•ืจืฉืช ืฉืœ ื›ืœ ื”ื”ืจืฉืื•ืช ื”ื“ืจื•ืฉื•ืช ืขื‘ื•ืจ ืงื‘ืฆื™ื, ืžืฉืชื ื™ ืจืฉืช ื•ืกื‘ื™ื‘ื”;
  • ื›ืœ ื”ืฉื’ื™ืื•ืช ืฉืื™ื ืŸ ืžืกื•ืคืงื•ืช ืขื ื”ืžื˜ืคืœื™ื ืžื•ื‘ื™ืœื•ืช ืœืกื™ื•ื ื”ื‘ืงืฉื”;
  • Deno ืžืฉืชืžืฉ ื‘ืžืขืจื›ืช ืžื•ื“ื•ืœ ECMAScript ื•ืื™ื ื• ืชื•ืžืš ื‘-require().

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”