ááŸá
áºááŸá
áºááŒá¬á០ááœá¶á·ááŒáá¯ážááá¯ážáááºáá¬áááºá
áááá¬áááºááŸá¬ážáá±á¬ áá¬ážááŸááºážáá¶áá«ááºááẠOS ááŸáá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážá á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯á¡ááœáẠáá¬áááºááŸááá±á¬ Deno namespace ááŸá APIs áá»á¬ážá áááºááŒáááºááŸá¯ááŸáá·áº áááºá
ááºáá±áááºá áá±á¬á·ááºáá²áẠá¡ááºáá¬áá±á·á
áºáá»á¬ážááẠááá¯á¡áá»áááºá¡áá ááŸááá±áááºá
JavaScript ááááºáá±á¬ááºážá¡áá
áºááᯠáááºáá®ážáááŒááºážá á¡ááá áááºááœááºáá»ááºááŸá¬ á¡áá°á¡áááá¯ááºáᬠá¡ááŸá¬ážáá»á¬ážááᯠáááºááŸá¬ážááá¯áá±á¬ ááá¹áá
á¡ááá
- áá¯á¶ááŒá¯á¶áá±ážááᯠáŠážáááºáá±á¬ áá¯á¶áá±ááœá²á·á ááºážááŸá¯á ááá¯ááºáááºáá±á¬ááºááœáá·áºá ááœááºáááºáá»áááºáááºááŒááºážááŸáá·áº áááºáááºážáá»áẠááááºážááŸááºáá»á¬ážááá¯á· áááºáá±á¬ááºááœáá·áºááᯠáá°áááºážá¡á¬ážááŒáá·áº ááááºáá¬ážááŒá®áž ááŒááºáá¬ážá áœá¬ ááœáá·áºáá¬ážááá«áááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážááẠáá®ážááŒá¬ážáá²áá¯á¶ážáááºáááºážáá»ááºáá»á¬ážááœáẠáááºáááºáá±ááŒá®áž áááá»ááŒááºáá¬ážáá±á¬ ááœáá·áºááŒá¯áá»ááºáá»á¬ážááᯠááá±ážáá² á áá áºáá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºáááºááá¯ááºáá±á
- JavaScript á¡ááŒáẠTypeScript á¡ááœáẠbuilt-in áá¶á·ááá¯ážááŸá¯á á ᶠTypeScript á á¯á ááºážááŸá¯á¡á¬áž á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááá¯á á áºáá±ážááŒá®áž JavaScript ááá¯áá¯ááºáá¯ááºáááºá¡áá¯á¶ážááŒá¯áááºá áááºážááẠV8 ááœáẠJavaScript ááœá²ááŒááºážá áááºááŒá¬ááŒááºážááŸáá·áºááŸáá¯ááºážááŸááºáá«áá áœááºážáá±á¬ááºáááºááá¯áááááá±á¬ááºáá±á¬ááºááŒá áºá á±áááºá á¡áá¬áááºááœááºá áá»áœááºá¯ááºááá¯á·ááẠTypeScript á¡áá»áá¯ážá¡á á¬ážá á áºáá±ážááŒááºážá áá áºá¡á¬áž áá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯ááºá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á¡á¬áž ááŒááºáááºáááºá á®á ááºáá¬ážááŒá®ážá TypeScript áá¯ááºáá±á¬ááºááŒááºážá áœááºážáá±á¬ááºáááºááᯠá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá ááá¯ážáááºáá±á¬ááºážááœááºáá¬á á±áááºááŒá áºáááºá
- Runtime ááẠááá¯ááºááá¯ááºáá«ááŸááá±á¬ ááá¯ááºáá
áºáá¯áááºáž (âdenoâ) áá¯á¶á
á¶ááŒáá·áº áá¬áá«áááºá Deno ááᯠá¡áá¯á¶ážááŒá¯á á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠrun áááºáá¯á¶áá±á¬ááºáá«áááºá
download, áááºážáááááºáá±á¬ááºážá¡ááœáẠááŒááºáááŸá®ááá¯ááŸá¯áá»á¬ážáááŸáááá·áºá¡ááŒáẠá áá áºááœáẠá¡áá°ážááá·áºááœááºážááŸá¯áááá¯á¡ááºáá±á¬ á¡ááœááºá¡á á¬áž 20 MB ááá·áºááŸááá±á¬ executable file áá áºáá¯ááŸááááºá ááá¯á·á¡ááŒááºá deno ááẠmonolithic application ááá¯ááºáá² Rust ááŸá crate packages áá»á¬ážá á¯á ááºážááŸá¯áá áºáá¯ááŒá áºáááºádeno_core ,rusty_v8 ) áá®ážááŒá¬ážáá¯á¶ážááá¯ááºáááºá - áááá¯ááááºááᯠá áááºááá·áºá¡áá« á¡ááŒáẠmodules áá»á¬ážááᯠáááºáááºá áááºááẠURL ááááºá á¬ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá welcome.js áááá¯ááááºááá¯áááºáááºáááºá áááºááẠâdeno https://deno.land/std/examples/welcome.jsâ á¡áááá·áºááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá ááŒááºáá¡áááºážá¡ááŒá áºáá»á¬ážá០áá¯ááºááᯠá ááºááœááºážá áá áºááœáẠáá±á«ááºážáá¯ááºáá¯ááºááŒá®áž ááááºážáááºážáá¬ážáá±á¬áºáááºáž áááºááá·áºá¡áá«áá»áŸ á¡ááá¯á¡áá»á±á¬áẠá¡ááºááááºáá¯ááºáááºááá¯ááºáá« (á¡ááºááááºáá¯ááºááŒááºážááẠá¡ááá®áá±ážááŸááºážá¡á¬áž â-- ááŒááºáááºá áááºááŒááºážâ á¡áá¶ááŒáá·áº ááŒááºáá¬ážá áœá¬ áá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá«áááºá
- á¡ááºááá®áá±ážááŸááºážáá»á¬ážááœáẠHTTP ááŸáá áºááá·áº ááœááºáááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááá±á¬ááºá áœá¬áá¯ááºáá±á¬ááºááŒááºážá ááááºáá±á¬ááºážááẠá áœááºážáá±á¬ááºáááºááŒáá·áºááœááºáááºá¡ááºááºáá®áá±ážááŸááºážáá»á¬ážáááºáá®ážáááºá¡ááœáẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá
- Deno ááœááºáá¬áá áá¯á¶ááŸááºáááºááá±á¬ááºáá¬ááœáẠááŸá áºáá¯áá¯á¶ážáá¯ááºáá±á¬ááºááá¯ááºááá·áº universal web applications áá»á¬ážááᯠáááºáá®ážááá¯ááºá áœááºážá
- á¡áá¯á¶ážááŒá¯ááá¯ááºááŸá¯
á á¶áጠmodules á¡á á¯á¶ ááŒááºáááŸá®ááá¯ááŸá¯áá»á¬ážááŸáá·áº áá»áááºáááºáááºáááá¯á¡ááºáá±á¬ á¡áá¯á¶ážááŒá¯ááŸá¯á á á¶áá±á¬ááºáá¶ááŸá¯á០áá±á¬áºáá»á°ážáá»á¬ážááẠáááºáá±á¬ááºážá á¬áááºážá á áºááŸáá·áº ááá¯ááºáááºáá®ááŸá¯á ááºážáááºááŒááºážááá¯á·ááᯠáá¶áá°ááŒá®ážááŒá áºáááºá - á¡ááŒá±ážá¡áá»áááºá¡ááŒááºá Deno ááááºáá±á¬ááºážááẠáááºáá±á·áá»áºáááºáá±áá»á¬á¡ááŒá Ạáá¯ááºáá±á¬ááºááŒá®áž áá¯ááºá¡ááœááºážááŸá URL ááŒáá·áº áá±á¬áºáá»á°ážáá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááœáá·áºáá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá±á¬áºáá»á°ážáá áºáá¯ááᯠáááºáááºá âhttps://deno.land/std/log/mod.tsâ á០âáááºááœááºážááŒááºáž*á¡ááŒá ẠááŸááºáááºážá¡ááŒá áºâ áá¯ááºááœáẠáááºááŸááºááá¯ááºáááºá URL ááŸáááá·áº ááŒááºááá¬áá¬áá»á¬ážá០áá±á«ááºážáá¯ááºáá¯ááºáá¬ážáá±á¬ ááá¯ááºáá»á¬ážááᯠááááºážáááºážáá¬ážáááºá áá±á¬áºáá»á°ážáá¬ážááŸááºážáá»á¬ážááŸáá·áº áá»áááºáááºááŒááºážááᯠURL á¡ááœááºážááŸá áá¬ážááŸááºážáá¶áá«ááºáá»á¬ážááᯠáááºááŸááºááŒááºážááŒáá·áº áá¯á¶ážááŒááºáááºá á¥ááá¬á âhttps://unpkg.com/[á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]/dist/liltest.js";
- ááœá²á·á ááºážáá¯á¶ááœáẠáá±á«ááºážá ááºááŸá®ááá¯ááŸá¯á á áºáá±ážááŒááºážá áá Ạ(âdeno á¡áá»ááºá¡áááºâ ááœáŸááºááŒá¬ážáá»ááº) ááŸáá·áº áá¯ááºáá±á¬áºáááºáá»ááŒááºážá¡ááœáẠá¡áá¯á¶ážáááºááŸá¯ (deno fmt);
- á¡ááá®áá±ážááŸááºáž Script á¡á¬ážáá¯á¶ážááᯠJavaScript ááá¯ááºáá áºáá¯á¡ááŒá Ạáá±á«ááºážá ááºááá¯ááºáááºá
Node.js ááŸáá·áº ááœá¬ááŒá¬ážáá»ááºáá»á¬áž-
- Deno ááẠnpm áááºáá±á·áá»áºáááºáá±áá»á¬ááᯠá¡áá¯á¶ážáááŒá¯áá«á
repositories ááŸáá·áº áá»áááºáááºáá¬ážááŒááºáž ááá¯ááºáá²á module áá»á¬ážááᯠURL áá áºáᯠááá¯á·ááá¯áẠááá¯ááºáááºážááŒá±á¬ááºážááŒáá·áº ááá¯ááºááœááºááŒá±ááŸááºážááŒá®áž modules áá»á¬ážááᯠáááºážááá¯á·ááá¯ááºááá¯áẠáááºááá·áº website ááœááºáááᯠáá¬ážááŸáááá¯ááºáá«áááºá - áá±á¬áºáá»á°ážáá»á¬ážááᯠáááºááŸááºááẠDeno ááẠ"package.json" ááᯠá¡áá¯á¶ážáááŒá¯áá«á
- API ááŒá¬ážáá¬ážáá»ááºá Deno ááœáẠá¡áá»ááºááá±á¬áá±á¬ááºááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááááá áºáᯠááŒááºáá±ážáááºá
- Deno ááẠááá¯ááºáá»á¬ážá ááœááºáááºááŸáá·áº áááºáááºážáá»áẠááááºážááŸááºáá»á¬ážá¡ááœáẠááá¯á¡ááºáá±á¬ ááœáá·áºááŒá¯áá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááŸááºážáááºážááŒááºáá¬ážá áœá¬ á¡áááá¹áá«ááºááœáá·áºááá¯ááẠááá¯á¡ááºáá«áááºá
- ááá¯ááºááœááºáá°ááŸáá·áº áá¶á·ááá¯ážááá¬ážáá±á¬ á¡ááŸá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážááẠáá»áŸá±á¬ááºááœáŸá¬ááᯠáááºá á²ááœá¬ážá á±áááºá
- Deno ááẠECMAScript module system ááá¯á¡áá¯á¶ážááŒá¯ááŒá®áž ááá¯á¡ááºáááº();
- Deno á built-in HTTP áá¬áá¬ááᯠTypeScript ááŒáá·áºáá±ážáá¬ážáá¬ážááŒá®áž Node.js HTTP áá¬áá¬ááẠC ááŒáá·áºáá±ážáá¬ážáá¬ážááŒá®áž JavaScript á¡ááœáẠbinding áá»á¬ážáá±ážáá±á¬ááºáá±áá»áááºááœáẠáá°áááºáž TCP socket áá»á¬ážáá±á«áºááœáẠá¡áá¯ááºáá¯ááºáá«áááºá Deno á developer áá»á¬ážááẠTCP socket á¡ááœáŸá¬áá áºáá¯áá¯á¶ážááᯠáá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºáááºááŸáá·áº ááá¯ááá¯áá±áá¯áá» interface ááá¯áá±ážáá±á¬ááºááẠá¡á¬áá¯á¶á áá¯ááºáá¬ážáááºá Deno HTTP áá¬áá¬ááẠáá¯ááºááœáŸáá·áºááŸá¯ áááºážáá«ážáá±á¬áºáááºáž ááŒáá¯áááºááŸááºážáááá¯ááºáá±á¬ latency áááºážáá«ážááŒá±á¬ááºáž á¡á¬ááá¶áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá á ááºážáááºááŸá¯ááœááºá Deno HTTP áá¬áá¬ááᯠá¡ááŒá±áá¶áá¬ážáá±á¬ ááá¯ážááŸááºážáá±á¬ á¡ááá®áá±ážááŸááºážááẠáá áºá áá¹ááá·áºáá»áŸáẠáá±á¬ááºážááá¯áá»ááºáá±á«ááºáž 25 ááᯠá¡áá»á¬ážáá¯á¶áž latency 1.3 áá®áá®á áá¹ááá·áºááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºáá²á·áááºá Node.js ááœáẠá¡áá¬ážáá°á¡ááá®áá±ážááŸááºážáá áºáá¯ááẠáá áºá áá¹ááá·áºáá»áŸáẠáá±á¬ááºážááá¯áá»ááºáá±á«ááºáž ááááá ááá¯áá¯ááºáá±á¬ááºáá²á·áá±á¬áºáááºáž latencies ááẠ34 ááŸáá·áº 2 áá®áá®á áá¹ááá·áºá¡ááááŸááááºá
- Deno ááẠNode.js (NPM) á¡ááœáẠáááºáá±á·áá»áºáá»á¬ážááŸáá·áº áááá¬ááááŒá
áºáá² áá®ážááŒá¬ážáá®ááœááºáá±áá«áááºá
interlayer áá¯á¶ááŸáẠNode.js á á¬ááŒáá·áºááá¯ááºááŸáá·áº ááá¯ááºáááºáá®ááŸá¯á¡ááœááºá áááºážááẠááœá¶á·ááŒáá¯ážááá¯ážáááºáá¬áááºááŸáá·áºá¡áá»áŸ Node.js á¡ááœáẠáá±ážáá¬ážáá¬ážáá±á¬ á¡ááá®áá±ážááŸááºážáá»á¬áž ááá¯áá»á¬ážáá¬áᬠDeno ááœáẠáááºáááºááá¯ááºáááºááŒá áºáááºá
source: opennet.ru