O le tusitala o Node.js na tuʻuina atu le tulaga saogalemu JavaScript Deno 1.0

Ina ua mavae le lua tausaga o atinae tuuina atu fa'asalalauga tele muamua Tuʻu mai ia te aʻu 1.0, o se faʻavae mo le tuʻufaʻatasia o le faʻatinoina o talosaga i le JavaScript ma le TypeScript, lea e mafai ona faʻaogaina e fatu ai tagata faʻatautaia e taʻavale i luga o le server. O le faʻavae na fausia e Ryan Dahl (Ryan Dahl), na faia le Node.js. E pei o Node.js, e fa'aaoga e Deno se masini JavaScript V8, lea e fa'aogaina fo'i i su'esu'ega fa'avae Chromium. I le taimi lava e tasi, Deno e le o se tui o Node.js, ae o se galuega fou na faia mai le sasa. Poloketi code tufatufaina e i lalo ole laisene MIT. Fonotaga saunia mo Linux, Windows ma macOS.

O le numera faʻailoga taua e fesoʻotaʻi ma le faʻamautuina o API i le Deno namespace, lea e nafa ma le fegalegaleaiga o talosaga ma le OS. O feso'ota'iga fa'akomepiuta o lo'o iai i le taimi nei e le mautu, e natia ona o le faaletonu ma e na'o avanoa pe a tamo'e ile “--unstable” mode. A'o fa'atūina fa'amatalaga fou, o ia API o le a fa'asolosolo malie. O le API i totonu ole igoa ole lalolagi, lea e aofia ai galuega masani e pei ole setTimeout() ma fetch(), e latalata i le API o su'esu'ega i luga ole laiga masani ma ua atia'e e tusa ai ma tulaga Fa'asalalau mo tagata su'esu'e. O API na tuʻuina atu e Rust, o loʻo faʻaogaina saʻo i le code platform, faʻapea foʻi ma le atinaʻeina o plugins mo Deno runtime, e leʻi faʻamautuina ma faʻaauau pea ona atiaʻe.

O mafuaʻaga autu mo le fatuina o se faʻavae JavaScript fou o le manaʻoga e faʻaumatia manatu sese, talia i le fausaga Node.js, ma tuʻuina atu i tagata faʻaoga se siosiomaga sili atu ona malupuipuia. Ina ia faʻaleleia le saogalemu, o le V8 engine e tusia i le Rust, lea e aloese ai mai le tele o faʻafitauli e tulaʻi mai i le faʻaogaina o mafaufauga maualalo, e pei o le avanoa e aunoa ma se totogi, le faʻaogaina o le faʻailoga, ma le paʻu. O lo'o fa'aogaina le fa'avae e fa'agasolo ai talosaga i le faiga e le poloka Tokyo, ua tusia foi i le Rust. Tokio e mafai ai ona e faia ni talosaga maualuga e faʻavae i luga o faʻataʻitaʻiga faʻataʻitaʻiga, lagolagoina le tele-threading ma le faʻaogaina o fesoʻotaʻiga talosaga ile asynchronous mode.

tele особенности Deno:

  • Fa'atonuga fa'aletonu e fa'atatau i le saogalemu. O avanoa faila, upegatafa'ilagi, ma le avanoa i fesuiaiga o le siosiomaga e le mafai ona faʻaogaina ma e tatau ona faʻaalia manino. Talosaga e le mafai ona fa'agasolo i totonu o si'osi'omaga pu'upu'u oneone ma e le mafai ona fa'aogaina le gafatia o faiga e aunoa ma le tu'uina atu o fa'atagaga manino;
  • Lagolago fau-i totonu mo TypeScript i tua atu o le JavaScript. O le tu'ufa'atasia TypeScript e fa'aaogaina e siaki ai ituaiga ma fa'atupu le JavaScript, lea e ta'ita'i atu ai i se fa'atinoga fa'atusa pe a fa'atusatusa i le JavaScript parsing ile V8. I le lumanaʻi, matou te fuafua e saunia a matou lava faʻatinoga o le TypeScript type checking system, lea o le a faʻaleleia ai le faʻaogaina o le TypeScript i se faʻatonuga o le tele;
  • Taimi fa'agasolo e sau i foliga o se faila e tasi e mafai ona fa'atinoina ("deno"). O le faʻaogaina o talosaga e faʻaaoga ai Deno ua lava download mo lona faʻavae o loʻo i ai se faila faila e tasi, e tusa ma le 20 MB le tele, e leai ni faʻalagolago i fafo ma e le manaʻomia se faʻapipiʻi faʻapitoa i luga o le polokalama. E le gata i lea, o le deno e le o se monolithic application, ae o se aofaʻiga o pusa pusa i Rust (deno_core, rusty_v8), lea e mafai ona fa'aoga eseese;
  • A amata le polokalame, faʻapea foʻi ma le utaina o modules, e mafai ona e faʻaogaina le tuatusi URL. Mo se faʻataʻitaʻiga, e faʻatautaia le polokalama welcome.js, e mafai ona e faʻaogaina le poloaiga "deno https://deno.land/std/examples/welcome.js". Fa'ailoga mai punaoa i fafo e sii mai ma teu i luga o le faiga fa'apitonu'u, ae e le otometi lava ona fa'afouina (fa'afouina e mana'omia le fa'atinoina o le talosaga ma le fu'a "--reload");
  • Fa'atonuga lelei o talosaga feso'ota'iga e ala i le HTTP i talosaga, o le fa'avae ua mamanuina mo le fa'atupuina o feso'ota'iga feso'ota'iga maualuga;
  • Le mafaia ona fatuina ni upega tafaʻilagi lautele e mafai ona faʻatinoina uma i Deno ma i totonu o se upega tafaʻilagi masani;
  • avanoa seti masani o modules, o le faʻaaogaina e le manaʻomia ai le fusifusia i faʻalagolago i fafo. Module mai le aoina masani ua faia su'etusi faaopoopo ma su'ega fetaui;
  • I le faʻaopoopoga i le taʻavale, o le Deno platform e galue foi o se pule o pusa ma faʻatagaina oe e faʻaogaina modules e URL i totonu o le code. Mo se faʻataʻitaʻiga, e faʻapipiʻi se module, e mafai ona e faʻamaonia i le code "import * as log from "https://deno.land/std/log/mod.ts". O faila na sii mai i fafo e ala i le URL o loʻo faʻaogaina. O le fusifusia i faʻasologa o module e faʻamoemoeina e ala i le faʻamaonia o numera numera i totonu o le URL, mo se faʻataʻitaʻiga, "https://unpkg.com/[imeli puipuia]/dist/liltest.js";
  • O le fausaga o lo'o aofia ai se faiga fa'apipi'i su'esu'ega fa'alagolago (le fa'atonuga o le "deno info") ma se fa'aoga mo le fa'avasegaina o tulafono (deno fmt);
  • E mafai ona tu'u fa'atasi uma tusi talosaga i se faila JavaScript e tasi.

Eseesega mai Node.js:

  • E le fa'aogaina e Deno le pule o le pusa npm
    ma e le o noatia i fale teu oloa, o modules e faʻasalalau e ala i se URL poʻo se ala faila, ma o modules lava ia e mafai ona tuʻuina i luga o soʻo se upega tafaʻilagi;
  • E le fa'aogaina e Deno le "package.json" e fa'amatala ai modules;
  • API eseesega, uma asynchronous gaioiga i Deno toe faafoi se folafolaga;
  • E mana'omia e Deno se fa'amatalaga manino o fa'atagaga talafeagai uma mo faila, feso'ota'iga ma suiga o le si'osi'omaga;
  • O mea sese uma e le o tuʻuina atu i tagata faʻatautaia e taʻitaʻia ai le faʻamutaina o le talosaga;
  • O lo'o fa'aaogaina e Deno le faiga o le module ECMAScript ma e le lagolagoina mana'omia();
  • O Deno's built-in HTTP server o lo'o tusia i le TypeScript ma fa'asolo i luga o sockets TCP masani, a'o le Node.js HTTP server o lo'o tusia i le C ma tu'uina atu fusi mo le JavaScript. Deno's developers ua taulaʻi i le faʻamalieina o le TCP socket layer atoa ma tuʻuina atu se fesoʻotaʻiga lautele. O le Deno HTTP Server e maua ai le maualalo o le gaosiga ae fa'amautinoa le maualalo o le taofiofia. Mo se faʻataʻitaʻiga, i le suʻega, o se talosaga faigofie e faʻavae i luga o le Deno HTTP server na mafai ona faʻatautaia 25 afe talosaga i le sekone ma le maualuga maualuga o le 1.3 milliseconds. I le Node.js, o se talosaga tutusa na faʻagaioia 34 afe talosaga i le sekone, ae o le latency na amata mai i le 2 ma le 300 milliseconds.
  • Deno e le fetaui ma afifi mo Node.js (NPM), ae o loʻo atinaʻe ese interlayer mo le fetaui ma le faletusi masani a Node.js, aʻo faʻalauteleina, o le tele ma le tele o tusi talosaga na tusia mo Node.js o le a mafai ona taʻavale i Deno.
  • puna: opennet.ru

Faaopoopo i ai se faamatalaga