La Deno-projekto disvolvas sekuran JavaScript-platformon similan al Node.js

Disponebla projekteldono Donu al mi 0.33, kiu ofertas Node.js-similan platformon por memstara aplikaĵekzekuto en JavaScript kaj TypeScript kiu povas esti uzita por ruli aplikojn sen esti ligita al retumilo, kiel ekzemple kreado de pritraktiloj kiuj funkcias sur la servilo. Deno uzas JavaScript-motoron V8, kiu ankaŭ estas uzata en Node.js kaj retumiloj bazitaj sur la projekto Chromium. Projekta kodo distribuita de sub MIT-licenco. La projekto estas disvolvita de Ryan Dahl (Ryan Dahl), kreinto de la Node.js JavaScript-platformo.

Unu el la ĉefaj celoj de kreado de nova rultempo por JavaScript estas provizi pli sekuran medion. Por plibonigi sekurecon, la V8-motoro estas skribita en Rust, kiu evitas multajn el la vundeblecoj kiuj ekestiĝas de malaltnivela memormanipulado, kiel ekzemple post-libera aliro, nulmontriloj dereferences, kaj bufrotropasoj. La platformo estas uzata por procesi petojn en ne-bloka reĝimo Tia, ankaŭ verkita en Rust. Tokio permesas krei alt-efikecajn aplikaĵojn bazitajn sur arkitekturo gvidata de evento, subtenante multfadenajn kaj prilaborajn retajn petojn en nesinkrona reĝimo.

Ĉefa Karakterizaĵoj Deno:

  • Sekurec-orientita defaŭlta agordo. Dosieraliro, interkonektado kaj aliro al mediovariabloj estas malebligitaj defaŭlte kaj devas esti eksplicite ebligitaj;
  • Enkonstruita subteno por la TypeScript-lingvo krom JavaScript;
  • Rultempo venas en la formo de ununura memstara rulebla dosiero ("deno"). Por ruli aplikaĵojn uzante Deno sufiĉas elŝuti por ĝia platformo unu plenumebla dosiero, ĉirkaŭ 10 MB en grandeco, kiu ne havas eksterajn dependecojn kaj ne postulas ajnan specialan instaladon en la sistemo;
  • Komencante la programon, kaj ankaŭ por ŝargi modulojn, vi povas uzi URL-adresadon. Ekzemple, por ruli la programon welcome.js, vi povas uzi la komandon "deno https://deno.land/std/examples/welcome.js". Kodo de eksteraj rimedoj estas elŝutita kaj konservita en la loka sistemo, sed neniam aŭtomate ĝisdatigita (ĝisdatigo postulas eksplicite ruli la aplikaĵon kun la flago "--reload");
  • Efika prilaborado de retpetoj per HTTP en aplikoj; la platformo estas desegnita por krei alt-efikecajn retajn aplikojn;
  • La kapablo krei universalajn TTT-aplikaĵojn, kiuj povas esti ekzekutitaj kaj en Deno kaj en regula TTT-legilo;
  • Krom rultempo, la platformo Deno ankaŭ funkcias kiel pakaĵmanaĝero kaj permesas al vi aliri modulojn per URL ene de la kodo. Ekzemple, por ŝargi modulon, vi povas specifi en la kodo "import * kiel protokolo de "https://deno.land/std/log/mod.ts". Dosieroj elŝutitaj de eksteraj serviloj per URL estas konservitaj en kaŝmemoro. Ligado al modulaj versioj estas determinita per specifado de versinumeroj ene de la URL, ekzemple, "https://unpkg.com/[retpoŝte protektita]/dist/liltest.js";
  • La strukturo inkluzivas integran dependecan inspektadsistemon (la komando "deno info") kaj ilon por kodformatado (deno fmt).
  • Por programistoj de aplikaĵoj proponis aro de normaj moduloj kiuj spertis kroman revizion kaj kongruectestadon;
  • Ĉiuj aplikaj skriptoj povas esti kombinitaj en unu JavaScript-dosieron.

Diferencoj de Node.js:

  • Deno ne uzas pakaĵadministrilon npm
    kaj ne estas ligita al deponejoj, moduloj estas traktitaj per URL aŭ per dosiervojo, kaj la moduloj mem povas esti metitaj en ajna retejo;

  • Deno ne uzas "package.json" por difini modulojn;
  • API-diferenco, ĉiuj nesinkronaj agoj en Deno resendas promeson;
  • Deno postulas eksplicitan difinon de ĉiuj necesaj permesoj por dosieroj, reto kaj mediovariabloj;
  • Ĉiuj eraroj, kiuj ne estas provizitaj per prizorgantoj, kondukas al la fino de la aplikaĵo;
  • Deno uzas la ECMAScript-modulsistemon kaj ne subtenas require().

fonto: opennet.ru

Aldoni komenton