Node.js-ontwikkelaars vrygestel onlangs die bekendstelling van die eerste belangrike weergawe van Gee my 1.0 wat kom na twee jaar se ontwikkeling. Dit is 'n platform vir afsonderlike uitvoering van JavaScript en TypeScript-toepassings, wat gebruik kan word om beheerders te skep wat op die bediener loop. Nie Dit is nie 'n tak van Node.js nie, maar eerder 'n nuwe projek wat van nuuts af geskep is.
Soos Node.js, Deno gebruik die V8 JavaScript-enjin, wat ook in Chromium-gebaseerde blaaiers gebruik word. Die belangrikste motivering om die nuwe JavaScript-platform te skep was die begeerte om die konseptuele foute wat in die Node.js-argitektuur gemaak is, te verwyder en bied gebruikers 'n veiliger omgewing.
Om die veiligheid te verhoog, is die skakel rondom die V8-enjin in die Rust-taal geskryf, Hierdeur word baie kwesbaarhede vermy wat ontstaan as gevolg van lae-vlak-werk met geheue, soos toegang tot 'n geheue-area nadat dit bevry is, verwysing na nulaanwysers en die bufferperke.
Die projekkode word versprei onder die MIT-lisensie en bevat samestellings wat voorberei is vir Linux, Windows en macOS.
Wat is nuut in Deno 1.0
Hierdie nuwe weergawe van die platform, API-stabilisering in Deno-naamruimte uitgelig, wat is verantwoordelik vir die interaksie van toepassings met die bedryfstelsel. Sagteware-koppelvlakke wat nog nie stabiel is nie, word standaard weggesteek en slegs beskikbaar as dit in die onstabiele modus begin word.
Namate nuwe weergawes gevorm word, sal sulke API's geleidelik stabiel word. Die API in die globale naamruimte, wat algemene funksies soos setTimeout () en fetch () bevat, is so na as moontlik aan die API van gewone webblaaiers en is ontwikkel in ooreenstemming met die webstandaarde vir blaaiers. Die Rust API's wat direk in die platformkode gebruik word, sowel as die koppelvlak vir die ontwikkeling van inproppe vir die Deno-looptyd, is nog nie stabiel nie en gaan voort om te ontwikkel.
Daarbenewens, staan uit hy het gewerk aan veiligheidsgerigtheid in die verstekinstellings vir lêertoegang is netwerkvermoëns en toegang tot omgewingsveranderlikes standaard gesluit en vereis dit eksplisiet. Toepassings word standaard in geïsoleerde sandbox-omgewings uitgevoer en hulle het nie toegang tot stelselvermoëns sonder eksplisiete voorregte nie.
Aan die ander kant word dit genoem in die aankondiging van die nuwe weergawe die inheemse ondersteuning vir TypeScript, benewens JavaScript. Om die soorte na te gaan en JavaScript te genereer, die standaard TypeScript-samesteller word gebruik, wat lei tot laer prestasie in vergelyking met JavaScript-ontleding in V8. In die toekoms beplan ons om ons eie implementering van die TypeScript-kontrolesisteem voor te berei, wat ons in staat sal stel om die prestasie van TypeScript-verwerking aansienlik te verhoog.
Die looptyd is in die vorm van 'n enkele selfstandige uitvoerbare program ("nie"). Om toepassings met Deno uit te voer, is dit voldoende om 'n uitvoerbare lêer vir u platform af te laai, ongeveer 20 MB groot, sonder eksterne afhanklikhede en wat geen spesiale installasie op die stelsel benodig nie. Terselfdertyd is deno nie 'n monolitiese toepassing nie, maar 'n versameling bokspakkies in Rust (deno_core, rusty_v8) wat afsonderlik gebruik kan word.
Benewens die looptyd, is die platform Deno tree ook op as pakketbestuurder en bied toegang tot modules per URL binne kode. Lêers wat vanaf URL vanaf eksterne bedieners afgelaai word, word in die kas geberg. Die skakel na die moduleweergawes word bepaal deur die weergawenommerinstruksies in die URL.
Van die ander innovasies wat opval hierdie weergawe 1.0:
- Die platform is effektief om HTTP-netwerkversoeke in toepassings te verwerk, en is ontwerp om hoëprestasie-netwerktoepassings te skep.
- Die vermoë om universele webtoepassings te skep wat beide in Deno en in 'n normale webblaaier kan werk.
- Die teenwoordigheid van 'n standaard stel modules waarvan die gebruik nie die koppeling aan eksterne afhanklikhede vereis nie. Die modules in die standaardversameling is ook geoudit en op verenigbaarheid getoets.
- Die raamwerk is 'n geïntegreerde afhanklikheidsinspeksiestelsel ("deno info" -opdrag) en 'n hulpmiddel om die kode te formateer (deno fmt)
- Alle toepassingsskrifte kan in een JavaScript-lêer gekombineer word.
Fuente: https://deno.land
Wees die eerste om te kommentaar lewer