Objavljeni programeri Node.js nedavno lansiranje prva značajnija verzija Daj mi 1.0 koja dolazi nakon dvije godine razvoja. Ovo je platforma za odvojeno izvršavanje JavaScript i TypeScript aplikacija, koji se može koristiti za kreiranje kontrolera koji se izvode na serveru. Ne To nije grana Node.js-a, već je to novi projekt stvoren ispočetka.
Poput Node.js, Deno koristi V8 JavaScript motor, koji se takođe koristi u pregledačima zasnovanim na Chromium-u. Ključna motivacija stvoriti novu JavaScript platformu bila je želja za uklanjanjem konceptualnih grešaka napravljenih u Node.js arhitekturi i korisnicima pružaju sigurnije okruženje.
Da bi se povećala sigurnost, veza oko V8 motora napisana je na jeziku Rust, Ovo izbjegava mnoge ranjivosti koje nastaju uslijed rada na niskoj razini s memorijom, kao što je pristup memorijskom području nakon što se oslobodi, pozivanje na null pokazivače i izlazak iz ograničenja međuspremnika.
Kôd projekta distribuira se pod licencom MIT i ima kompilacije pripremljene za Linux, Windows i macOS.
Što je novo u Deno 1.0
Ova nova verzija platforme, Istaknuta API stabilizacija u Deno imenskom prostoru, Šta su oni odgovoran za interakciju aplikacija s operativnim sistemom. Softverska sučelja koja još nisu stabilna su prema zadanim postavkama skrivena i dostupna su samo kad se pokrenu u nestabilnom načinu rada.
Kako se formiraju nove verzije, takvi će API-ji postupno postati stabilni. API u globalnom prostoru imena, koji uključuje uobičajene funkcije poput setTimeout () i fetch (), što je bliži API-ju uobičajenih web pregledača i razvijen je u skladu s web standardima za preglednike. API-ji Rust koji se koriste direktno u kodu platforme, kao i sučelje za razvoj dodataka za Deno runtime, još nisu stabilni i nastavljaju se razvijati.
Takođe, ističe da je radio na sigurnosnoj orijentaciji U zadanim postavkama za pristup datotekama mrežne mogućnosti i pristup varijablama okruženja su prema zadanim postavkama zaključani i zahtijevaju izričito uključivanje. Prema zadanim postavkama, aplikacije se izvode u izoliranim okruženjima u zaštićenom okruženju i ne mogu pristupiti sistemskim mogućnostima bez izričitih privilegija.
S druge strane, to se spominje u najavi nove verzije nativna podrška za TypeScript uz JavaScript. Da biste provjerili vrste i generirali JavaScript, koristi se standardni TypeScript kompajler, što dovodi do smanjenih performansi u odnosu na JavaScript raščlanjivanje u V8. U budućnosti planiramo pripremiti vlastitu implementaciju sistema provjere tipa TypeScript, što će nam omogućiti da značajno poboljšamo performanse TypeScript obrade.
Čas izvođenja dolazi u obliku jednog samostalnog izvršnog programa ("ne"). Za pokretanje aplikacija pomoću Denoa dovoljno je preuzeti izvršnu datoteku za vašu platformu, veličine približno 20 MB, bez vanjskih ovisnosti i koja ne zahtijeva posebnu instalaciju na sistem. Istovremeno, deno nije monolitna aplikacija, već zbirka paketa kutija u Rustu (deno_core, rusty_v8) koji se mogu koristiti zasebno.
Pored vremena izvođenja, platforma Deno također djeluje kao upravitelj paketa i omogućava pristup modulima putem URL-a unutar koda. Datoteke preuzete s vanjskih servera po URL-u se keširaju. Veza do verzija modula određena je uputama o broju verzije unutar URL-a.
Od ostalih inovacija koje se ističu ova verzija 1.0:
- Učinkovita obrada HTTP mrežnih zahtjeva u aplikacijama, platforma je dizajnirana za stvaranje mrežnih aplikacija visokih performansi.
- Mogućnost stvaranja univerzalnih web aplikacija koje se mogu pokretati i u Denou i u uobičajenom web pregledniku.
- Prisustvo standardnog skupa modula, čija upotreba ne zahtijeva povezivanje s vanjskim ovisnostima. Moduli iz standardne kolekcije takođe su revidirani i testirani na kompatibilnost.
- Okvir je integrirani sustav za provjeru ovisnosti (naredba «deno info») i uslužni program za formatiranje koda (deno fmt)
- Sve skripte aplikacije mogu se kombinirati u jednu JavaScript datoteku.
Izvor: https://deno.land