Den Deno Projet entwéckelt eng sécher JavaScript Plattform ähnlech wéi Node.js

Verfügbar Projet Verëffentlechung Gëff mir 0.33, déi eng Node.js-ähnlech Plattform fir d'Standalone Applikatioun Ausféierung an JavaScript an TypeScript ubitt, déi benotzt ka ginn fir Applikatiounen auszeféieren ouni un e Browser gebonnen ze sinn, wéi zum Beispill Handler ze kreéieren déi um Server lafen. Deno benotzt e JavaScript-Motor V8, déi och an Node.js a Browser baséiert op dem Chromium Projet benotzt gëtt. Projet Code verdeelt duerch ënner MIT Lizenz. De Projet gëtt vum Ryan Dahl entwéckelt (Vum Ryan Dahl), Ersteller vun der Node.js JavaScript Plattform.

Ee vun den Haaptziler fir eng nei Runtime fir JavaScript ze kreéieren ass e méi séchert Ëmfeld ze bidden. Fir d'Sécherheet ze verbesseren, ass de V8-Motor a Rust geschriwwen, wat vill vun de Schwachstelle vermeit, déi aus Low-Level Gedächtnismanipulatioun entstinn, sou wéi After-Free Access, Null Pointer-Dereferenzen a Puffer-Iwwerreechungen. D'Plattform gëtt benotzt fir Ufroen am net-blockéierende Modus ze veraarbecht Tokio, och an Rust geschriwwen. Tokio erlaabt Iech High-Performance Uwendungen op Basis vun event-driven Architektur ze kreéieren, Multi-Threading z'ënnerstëtzen an Netzwierkfuerderungen am asynchrone Modus ze veraarbechten.

Haaptstrooss Fonctiounen Deno:

  • Sécherheetsorientéiert Standardkonfiguratioun. Dateizougang, Vernetzung an Zougang zu Ëmfeldvariablen sinn als Standard behënnert a muss explizit aktivéiert ginn;
  • Built-in Support fir d'TypeScript Sprooch zousätzlech zu JavaScript;
  • Runtime kënnt a Form vun enger eenzeger selbstänneg ausführbarer Datei ("deno"). Fir Uwendungen mat Deno ze lafen ass et genuch Download fir seng Plattform eng ausführbar Datei, ongeféier 10 MB grouss, déi keng extern Ofhängegkeet huet a keng speziell Installatioun um System erfuerdert;
  • Wann Dir de Programm start, wéi och fir Moduler ze lueden, kënnt Dir URL Adresséierung benotzen. Zum Beispill, fir de Welcome.js Programm ze lafen, kënnt Dir de Kommando benotzen "deno https://deno.land/std/examples/welcome.js". Code vun externen Ressourcen gëtt op de lokale System erofgelueden an cache, awer gëtt ni automatesch aktualiséiert (Aktualiséierung erfuerdert explizit d'Applikatioun mam Fändel "--reload" ze lafen);
  • Effizient Veraarbechtung vun Netzwierkerfroen iwwer HTTP an Uwendungen; D'Plattform ass entwéckelt fir High-Performance Netzwierkapplikatiounen ze kreéieren;
  • D'Kapazitéit fir universell Webapplikatiounen ze kreéieren déi souwuel am Deno an an engem normale Webbrowser ausgefouert kënne ginn;
  • Nieft der Runtime funktionnéiert d'Deno Plattform och als Package Manager an erlaabt Iech Zougang zu Moduler duerch URL am Code ze kréien. Zum Beispill, fir e Modul ze lueden, kënnt Dir am Code "import * als Log vun "https://deno.land/std/log/mod.ts" spezifizéieren. Dateien, déi vun externen Server iwwer URL erofgeluede ginn, ginn cache. Bindung u Modulversioune gëtt festgeluecht andeems Dir Versiounsnummeren an der URL spezifizéiert, zum Beispill "https://unpkg.com/[Email geschützt]/dist/liltest.js";
  • D'Struktur enthält en integréierten Ofhängegkeet Inspektiounssystem (de Kommando "deno info") an en Utility fir Codeformatéierung (deno fmt).
  • Fir Applikatioun Entwéckler proposéiert eng Rei vu Standardmoduler déi zousätzlech Audit- a Kompatibilitéitstester gemaach hunn;
  • All Applikatioun Scripte kënnen an eng JavaScript Datei kombinéiert ginn.

Differenzen vun Node.js:

  • Deno benotzt net npm Package Manager
    an ass net mat Repositories gebonnen, Moduler ginn iwwer eng URL oder duerch e Dateiwee adresséiert, an d'Moduler selwer kënnen op all Websäit gesat ginn;

  • Deno benotzt net "package.json" fir Moduler ze definéieren;
  • API Ënnerscheed, all asynchronous Aktiounen an Deno zréck e Verspriechen;
  • Deno verlaangt explizit Definitioun vun all néideg Permissiounen fir Fichieren, Reseau an Ëmwelt Verännerlechen;
  • All Feeler, déi net mat Handler geliwwert ginn, féieren zum Ofschloss vun der Applikatioun;
  • Deno benotzt der ECMAScript Modul System an ënnerstëtzt net verlaangen ().

Source: opennet.ru

Setzt e Commentaire