Pwojè Deno a ap devlope yon platfòm JavaScript an sekirite ki sanble ak Node.js

Disponib lage pwojè Banm 0.33, ki ofri yon platfòm ki sanble ak Node.js pou egzekisyon aplikasyon otonòm nan JavaScript ak TypeScript ki ka itilize pou kouri aplikasyon yo san yo pa mare nan yon navigatè, tankou kreye moun kap okipe yo ki kouri sou sèvè a. Deno sèvi ak yon motè JavaScript V8, ki itilize tou nan Node.js ak navigatè ki baze sou pwojè Chromium la. Kòd pwojè distribiye pa anba lisans MIT. Pwojè a ap devlope pa Ryan Dahl (Ryan Dahl), kreyatè platfòm JavaScript Node.js.

Youn nan objektif prensipal yo nan kreye yon nouvo tan pou JavaScript se bay yon anviwònman ki pi an sekirite. Pou amelyore sekirite, motè V8 ekri an rouye, sa ki evite anpil nan frajilite ki rive nan manipilasyon memwa ki ba, tankou aksè apre gratis, dereferans pointeur nil, ak depase tanpon. Se platfòm la itilize pou trete demann nan mòd ki pa bloke Tokyo, ekri tou nan Rust. Tokio pèmèt ou kreye aplikasyon pou pèfòmans segondè ki baze sou achitekti evènman-kondwi, sipòte milti-threading ak pwosesis demann rezo nan mòd asynchrone.

Prensipal la karakteristik Deno:

  • Sekirite-oryante konfigirasyon default. Aksè dosye, rezo, ak aksè nan varyab anviwònman yo enfim pa default epi yo dwe klèman aktive;
  • Sipò entegre pou lang TypeScript anplis JavaScript;
  • Ègzekutabl vini nan fòm lan nan yon sèl dosye ègzèkutabl endepandan ("deno"). Pou kouri aplikasyon lè l sèvi avèk Deno li ase telechaje pou platfòm li yo yon sèl dosye ègzèkutabl, apeprè 10 MB nan gwosè, ki pa gen okenn depandans ekstèn epi ki pa bezwen okenn enstalasyon espesyal sou sistèm nan;
  • Lè w kòmanse pwogram nan, osi byen ke chaje modil, ou ka itilize adrès URL. Pou egzanp, pou kouri pwogram welcome.js la, ou ka itilize lòd "deno https://deno.land/std/examples/welcome.js". Kòd ki soti nan resous ekstèn telechaje ak kachèt sou sistèm lokal la, men yo pa janm mete ajou otomatikman (mizajou mande pou eksplisitman kouri aplikasyon an ak drapo "--reload" la);
  • Pwosesis efikas nan demann rezo atravè HTTP nan aplikasyon yo; platfòm la fèt pou kreye aplikasyon rezo pèfòmans segondè;
  • Kapasite nan kreye aplikasyon inivèsèl entènèt ki ka egzekite tou de nan Deno ak nan yon navigatè entènèt regilye;
  • Anplis ègzekutabl, platfòm Deno tou aji kòm yon manadjè pake epi pèmèt ou jwenn aksè nan modil pa URL andedan kòd la. Pou egzanp, chaje yon modil, ou ka presize nan kòd la "enpòte * kòm boutèy demi lit soti nan "https://deno.land/std/log/mod.ts". Fichye telechaje soti nan sèvè ekstèn atravè URL yo nan kachèt. Liaison ak vèsyon modil yo detèmine pa espesifye nimewo vèsyon andedan URL la, pou egzanp, "https://unpkg.com/[imèl pwoteje]/dist/liltest.js";
  • Estrikti a gen ladan yon sistèm enspeksyon depandans entegre (kòmand "deno info") ak yon sèvis piblik pou fòma kòd (deno fmt).
  • Pou devlopè aplikasyon yo pwopoze yon seri modil estanda ki te sibi odit adisyonèl ak tès konpatibilite;
  • Tout scripts aplikasyon yo ka konbine nan yon sèl fichye JavaScript.

Diferans ak Node.js:

  • Deno pa sèvi ak manadjè pake npm
    epi li pa mare nan depo, modil yo adrese atravè yon URL oswa pa yon chemen dosye, epi modil yo tèt yo ka mete sou nenpòt sit entènèt;

  • Deno pa sèvi ak "package.json" pou defini modil;
  • API diferans, tout aksyon asynchrone nan Deno retounen yon pwomès;
  • Deno mande pou yon definisyon klè nan tout otorizasyon ki nesesè pou dosye, rezo ak anviwònman varyab;
  • Tout erè ki pa bay moun kap okipe yo mennen nan revokasyon aplikasyon an;
  • Deno sèvi ak sistèm modil ECMAScript la epi li pa sipòte require().

Sous: opennet.ru

Add nouvo kòmantè