proiektuaren kaleratzea , JavaScript eta TypeScript aplikazioak modu independentean exekutatzeko Node.js antzeko plataforma bat eskaintzen duena. Plataforma hau erabil daiteke aplikazioak arakatzaile bati lotuta egon gabe exekutatzeko, hala nola zerbitzariaren aldeko kudeatzaileak sortuz. Denok JavaScript motor bat erabiltzen du. , Node.js-en eta Chromium proiektuan oinarritutako arakatzaileetan ere erabiltzen dena. Proiektuaren kodea MIT lizentziapean. Proiektua Ryan Dahlek garatzen ari da (), Node.js JavaScript plataformaren sortzailea.
JavaScript exekuzio-denbora berriaren helburu nagusietako bat ingurune seguruagoa eskaintzea da. Segurtasuna hobetzeko, V8 motorraren esparrua Rust-en idatzita dago, eta horrek memoria-kudeaketa baxuaren ondoriozko ahultasun asko saihesten laguntzen du, hala nola, askatu ondoren sarbidea, erreferentzia nulua kentzea eta buffer-gainjartzeak. Rust plataforma blokeatzen ez den moduan eskaerak prozesatzeko erabiltzen da. , herdoiluz ere idatzia. Tokiok errendimendu handiko aplikazioak sortzeko aukera ematen du, gertaerak gidatutako arkitekturan oinarrituta, hari anitzeko hariekin eta sare-eskaerak modu asinkronoan prozesatzeko.
Nagusia Deno:
- Segurtasunean oinarritutako konfigurazio lehenetsia. Fitxategietarako sarbidea, sareko sarbidea eta ingurune aldagaietarako sarbidea blokeatuta daude lehenespenez eta gaitze esplizitua behar dute;
- JavaScriptez gain, TypeScript-erako laguntza integratua;
- Exekuzio-denbora fitxategi exekutagarri autonomo bakar baten moduan dator ("deno"). Deno erabiliz aplikazioak exekutatzeko nahikoa da bere plataformarako, 10 MB inguruko fitxategi exekutagarri bat, kanpoko menpekotasunik gabea eta sisteman instalazio berezirik behar ez duena;
- Programa abiaraztean, baita moduluak kargatzeko ere, URL helbidea erabil dezakezu. Adibidez, welcome.js programa exekutatzeko, "deno https://deno.land/std/examples/welcome.js" komandoa erabil dezakezu. Kanpoko baliabideen kodea deskargatu eta cachean gordetzen da sistema lokalean, baina ez da inoiz automatikoki eguneratzen (eguneratzeko, aplikazioa esplizituki exekutatu behar da "--reload" markarekin);
- Aplikazioetan HTTP bidez sareko eskaeren tratamendu eraginkorra; plataforma errendimendu handiko sareko aplikazioak sortzeko diseinatuta dago;
- Denon zein ohiko web arakatzaile batean exekuta daitezkeen web aplikazio unibertsalak sortzeko gaitasuna;
- Exekuzio-denboraz gain, Deno plataformak pakete-kudeatzaile gisa ere jokatzen du eta kode barruko URL bidez moduluetara sartzeko aukera ematen du. Adibidez, modulu bat kargatzeko, kodean zehaztu dezakezu “import * as log from “https://deno.land/std/log/mod.ts”. Kanpoko zerbitzarietatik URL bidez deskargatutako fitxategiak cachean gordetzen dira. Modulu bertsioetarako lotura URLaren barruan bertsio zenbakiak zehaztuz zehazten da, adibidez, "https://unpkg.com/liltest@0.0.5/dist/liltest.js";
- Paketeak mendekotasun ikuskapen sistema integratu bat ("deno info" komandoa) eta kode formatua emateko utilitate bat (deno fmt) ditu barne.
- Aplikazio garatzaileentzat auditoria eta bateragarritasun proba gehigarriak jasan dituzten modulu estandar multzo bat;
- Aplikazio-script guztiak JavaScript fitxategi batean konbina daitezke.
Node.js-en desberdintasunak:
- Denok ez du npm pakete kudeatzailea erabiltzen
eta ez dago biltegietara lotuta, moduluak URL baten bidez edo fitxategi-bide baten bidez zuzentzen dira, eta moduluak beraiek edozein webgunetan jar daitezke; - Denok ez du "package.json" erabiltzen moduluak definitzeko;
- API desberdintasuna, Denoko ekintza asinkrono guztiek promesa bat itzultzen dute;
- Denok fitxategi, sare eta ingurune-aldagaietarako beharrezko baimen guztien definizio esplizitua eskatzen du;
- Kudeatzaileekin ematen ez diren akats guztiek aplikazioa amaitzea dakar;
- Denok ECMAScript modulu sistema erabiltzen du eta ez du require() onartzen.
Iturria: opennet.ru
