เบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡ Node.js เป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก JavaScript เบ—เบตเปˆเบ›เบญเบ”เป„เบž Deno 1.0

เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบญเบ‡เบ›เบตเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ เบ™เบณ เบชเบฐ เป€เปœเบต เบเบฒเบ™เบ›เปˆเบญเบเบ„เบฑเป‰เบ‡เปƒเบซเบเปˆเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ” เป€เบ”เป‚เบ™ 1.0, เป€เบ›เบฑเบ™เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบšเบšเบ”เปˆเบฝเบงเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ™ JavaScript เปเบฅเบฐ TypeScript, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เป€เบงเบ—เบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ Ryan Dahl (Ryan Dahl), เบœเบนเป‰เบชเป‰เบฒเบ‡ Node.js. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Node.js, Deno เปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ JavaScript V8, เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Chromium. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, Deno เบšเปเปˆเปเบกเปˆเบ™ fork เบ‚เบญเบ‡ Node.js, เปเบ•เปˆเป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™เปƒเบซเบกเปˆเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT. เบเบฒเบ™เบ›เบฐเบเบญเบš เบเบฐเบเบฝเบก เบชเปเบฒเบฅเบฑเบš Linux, Windows เปเบฅเบฐ macOS.

เบˆเปเบฒเบ™เบงเบ™เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบšเบ‚เบญเบ‡ APIs เปƒเบ™ namespace Deno, เป€เบŠเบดเปˆเบ‡เบกเบตเบ„เบงเบฒเบกเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบ•เปเปˆเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบเบฑเบš OS. เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบŠเบญเบšเปเบงเบ—เบตเปˆเบกเบตเบกเบฒเป€เบ–เบดเบ‡เบ•เบญเบ™เบ™เบฑเป‰เบ™ เบšเปเปˆเบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบš, เบ–เบทเบเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เป‚เบซเบกเบ” "--unstable" เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เป€เบกเบทเปˆเบญเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™, APIs เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบˆเบฐเบ„เปˆเบญเบเป†เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡. API เปƒเบ™ namespace เบ—เบปเปˆเบงเป‚เบฅเบ, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบปเปˆเบงเป„เบ›เป€เบŠเบฑเปˆเบ™ setTimeout() เปเบฅเบฐ fetch(), เปเบกเปˆเบ™เปƒเบเป‰เบŠเบดเบ”เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบเบฑเบš API เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ—เบปเปˆเบงเป„เบ›เปเบฅเบฐเบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบฒเบกเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เป€เบงเบฑเบšเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš. APIs เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบ Rust, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบเบปเบ‡เปƒเบ™เบฅเบฐเบซเบฑเบ”เป€เบงเบ—เบต, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ plugins เบชเปเบฒเบฅเบฑเบš Deno runtime, เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบšเปเบฅเบฐเบชเบทเบšเบ•เปเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒ.

เปเบฎเบ‡เบˆเบนเบ‡เปƒเบˆเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก JavaScript เปƒเบซเบกเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบ›เบฒเบ–เบฐเบซเบ™เบฒเบ—เบตเปˆเบˆเบฐเบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบฒเบ‡เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”, เบเบญเบกเบฎเบฑเบš เปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ Node.js, เปเบฅเบฐเปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบกเบตเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบ›เบญเบ”เป„เบžเบเบงเปˆเบฒ. เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž, เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ V8 เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ Rust, เป€เบŠเบดเปˆเบ‡เบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบซเบผเบฒเบเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเป€เบเบตเบ”เบˆเบฒเบเบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒ, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบŸเบฃเบต, เบเบฒเบ™เบ›เบฐเบ•เบดเป€เบชเบ”เบ•เบปเบงเบŠเบตเป‰ null, เปเบฅเบฐ buffer overruns. เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ–เบทเบเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเปˆเบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™ Tokio, เบเบฑเบ‡เบ‚เบฝเบ™เปƒเบ™ Rust. Tokio เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเบ‚เบฑเบšเป€เบ„เบทเปˆเบญเบ™เป‚เบ”เบเป€เบซเบ”เบเบฒเบ™, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบซเบผเบฒเบ threading เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปƒเบ™เบฎเบนเบšเปเบšเบš asynchronous.

เบ•เบปเป‰เบ™โ€‹เบ•เป เบ„เบธเบ™โ€‹เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐ Deno:

  • เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเปเบ™เปƒเบชเปˆเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž. เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบŸเบฅเปŒ, เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡. เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเปˆเบ™เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฐเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก sandbox เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบง เปเบฅเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบญเบฐเบ™เบธเบเบฒเบ”เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡;
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™เบ•เบปเบงเบชเปเบฒเบฅเบฑเบš TypeScript เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ JavaScript. เป€เบ„เบทเปˆเบญเบ‡เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™ TypeScript เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เบ›เบฐเป€เบžเบ”เปเบฅเบฐเบชเป‰เบฒเบ‡ JavaScript, เป€เบŠเบดเปˆเบ‡เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบฝเบšเบเบฑเบš JavaScript parsing เปƒเบ™ V8. เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบžเบงเบเป€เบฎเบปเบฒเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบเบฐเบเบฝเบกเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ›เบฐเป€เบžเบ” TypeScript, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบŠเปˆเบงเบเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡ TypeScript เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš;
  • Runtime เบกเบฒเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เบ”เบฝเบง ("deno"). เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป‚เบ”เบเปƒเบŠเป‰ Deno เบกเบฑเบ™เบžเบฝเบ‡เบžเป เบ”เบฒเบงเป‚เบซเบฅเบ” เบชเปเบฒเบฅเบฑเบšเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ‚เบญเบ‡เบกเบฑเบ™เบกเบตเบซเบ™เบถเปˆเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰, เบ‚เบฐเบซเบ™เบฒเบ”เบ›เบฐเบกเบฒเบ™ 20 MB, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบžเบฒเบเบ™เบญเบเปเบฅเบฐเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบดเป€เบชเบ”เปƒเบ”เป†เปƒเบ™เบฅเบฐเบšเบปเบš. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, deno เบšเปเปˆเปเบกเปˆเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ monolithic, เปเบ•เปˆเป€เบ›เบฑเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบŠเบธเบ” crate เปƒเบ™ Rust (deno_core, rusty_v8), เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ;
  • เป€เบกเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป‚เบ„เบ‡เบเบฒเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เป‚เบกเบ”เบนเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบขเบนเปˆ URL. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ„เบ‡เบเบฒเบ™ welcome.js, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ "deno https://deno.land/std/examples/welcome.js". เบฅเบฐเบซเบฑเบ”เบˆเบฒเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบžเบฒเบเบ™เบญเบเบ–เบทเบเบ”เบฒเบงเป‚เบซเบผเบ” เปเบฅเบฐเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เปเบ•เปˆเบšเปเปˆเป€เบ„เบตเบเบ–เบทเบเบญเบฑเบšเป€เบ”เบ”เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” (เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบ”เป‰เบงเบเบ—เบธเบ‡ โ€œ--เป‚เบซเบผเบ”เปƒเปเปˆโ€);
  • เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบœเปˆเบฒเบ™ HTTP เปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™;
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ—เบฑเบ‡เปƒเบ™ Deno เปเบฅเบฐเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ›เบปเบเบเบฐเบ•เบด;
  • เบกเบต เบŠเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™, เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฝเบโ€‹เบฎเป‰เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบœเบนเบโ€‹เบกเบฑเบ”โ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ‚เบถเป‰เบ™โ€‹เบเบฑเบšโ€‹เบžเบฒเบโ€‹เบ™เบญเบโ€‹. เป‚เบกเบ”เบนเบ™เบˆเบฒเบเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เป„เบ”เป‰เบœเปˆเบฒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰;
  • เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเป€เบงเบฅเบฒเปเบฅเปˆเบ™, เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก Deno เบเบฑเบ‡เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบŠเบธเบ”เปเบฅเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบกเบ”เบนเบ™เป‚เบ”เบ URL เบžเบฒเบเปƒเบ™เบฅเบฐเบซเบฑเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเป‚เบซเบฅเบ”เป‚เบกเบ”เบนเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบฅเบฐเบซเบฑเบ” "เบ™เปเบฒเป€เบ‚เบปเป‰เบฒ * เป€เบ›เบฑเบ™เบšเบฑเบ™เบ—เบถเบเบˆเบฒเบ "https://deno.land/std/log/mod.ts". เป„เบŸเบฅเปŒเบ—เบตเปˆเบ”เบฒเบงเป‚เบซเบผเบ”เบˆเบฒเบเป€เบŠเบตเบšเป€เบงเบตเบžเบฒเบเบ™เบญเบเบœเปˆเบฒเบ™ URL เปเบกเปˆเบ™เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ. เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบเบฑเบšเบฎเบธเปˆเบ™เป‚เบกเบ”เบนเบ™เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธเบ•เบปเบงเป€เบฅเบเป€เบงเบตเบŠเบฑเบ™เบžเบฒเบเปƒเบ™ URL, เบ•เบปเบงเบขเปˆเบฒเบ‡, "https://unpkg.com/[email protected]/dist/lilttest.js";
  • เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ›เบฐเบเบญเบšเบกเบตเบฅเบฐเบšเบปเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเปเบšเบšเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ (เบ„เปเบฒเบชเบฑเปˆเบ‡ "เบ‚เปเป‰เบกเบนเบ™ deno") เปเบฅเบฐเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบฅเบฐเบซเบฑเบ” (deno fmt);
  • เบชเบฐเบ„เบฃเบดเบšเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบฑเบ‡เปเบปเบ”เบชเบฒเบกเบฒเบ”เบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป€เบ›เบฑเบ™เป„เบŸเบฅเปŒ JavaScript เบ”เบฝเบง.

เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบ Node.js:

  • Deno เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰ npm package manager
    เปเบฅเบฐเบšเปเปˆเบ–เบทเบเบœเบนเบเบกเบฑเบ”เบเบฑเบš repositories, เป‚เบกเบ”เบนเบ™เบ–เบทเบเปเบเป‰เป„เบ‚เบœเปˆเบฒเบ™ URL เบซเบผเบทเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบŸเบฅเปŒ, เปเบฅเบฐเป‚เบกเบ”เบนเบ™เบ•เบปเบงเป€เบญเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเปƒเบ”เบเปเปˆเบ•เบฒเบก;
  • Deno เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰ "package.json" เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เป‚เบกเบ”เบนเบ™;
  • เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡ API, เบ—เบธเบเป†เบเบฒเบ™เบเบฐ เบ—เบณ asynchronous เปƒเบ™ Deno เบเบฑเบšเบ„เบทเบ™ เบ„เบณ เบชเบฑเบ™เบเบฒ;
  • Deno เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบ„เปเบฒเบ™เบดเบเบฒเบกเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒ, เบ•เบปเบงเปเบ›เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก;
  • เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบเบฑเบš handlers เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ;
  • Deno เปƒเบŠเป‰เบฅเบฐเบšเบปเบšเป‚เบกเบ”เบนเบ™ ECMAScript เปเบฅเบฐเบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ require();
  • เป€เบŠเบตเบšเป€เบงเบต HTTP เบ—เบตเปˆเบกเบตเปƒเบ™เบ•เบปเบงเบ‚เบญเบ‡ Deno เปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ TypeScript เปเบฅเบฐเปเบฅเปˆเบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบŠเบฑเบญเบเป€เบเบฑเบ” TCP เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเป€เบŠเบตเบšเป€เบงเบต Node.js HTTP เบ–เบทเบเบ‚เบฝเบ™เบ”เป‰เบงเบ C เปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบชเปเบฒเบฅเบฑเบš JavaScript. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡ Deno เป„เบ”เป‰เบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบŠเบฑเป‰เบ™เป€เบ•เบปเป‰เบฒเบฎเบฑเบš TCP เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบปเปˆเบงเป„เบ›เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบเบปเปˆเบฒ. เป€เบŠเบตเบšเป€เบงเบต Deno HTTP เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบ•เปˆเปเบฒเปเบ•เปˆเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบ•เปเปˆเบฒเบ—เบตเปˆเบ„เบฒเบ”เป€เบ”เบปเบฒเป„เบ”เป‰. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡ Deno HTTP เบชเบฒเบกเบฒเบ”เบ›เบฐเบกเบงเบ™เบœเบปเบ™ 25 เบžเบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆเบกเบต latency เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡ 1.3 milliseconds. เปƒเบ™ Node.js, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ 34 เบžเบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต, เปเบ•เปˆ latencies เบ•เบฑเป‰เบ‡เปเบ•เปˆ 2 เปเบฅเบฐ 300 เบกเบดเบ™เบฅเบดเบงเบดเบ™เบฒเบ—เบต.
  • Deno เบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”เบชเปเบฒเบฅเบฑเบš Node.js (NPM), เปเบ•เปˆเบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ interlayer เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” Node.js เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเบซเบผเบฒเบเบ—เบตเปˆเบ‚เบฝเบ™เบชเปเบฒเบฅเบฑเบš Node.js เบˆเบฐเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™ Deno.
  • เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™