Proyek Deno ngembangake platform JavaScript sing aman padha karo Node.js

Kasedhiya release proyek Menehi kula 0.33, sing nawakake platform kaya Node.js kanggo eksekusi aplikasi mandiri ing JavaScript lan TypeScript sing bisa digunakake kanggo mbukak aplikasi tanpa disambungake menyang browser, kayata nggawe panangan sing mbukak ing server. Deno nggunakake mesin JavaScript V8, sing uga digunakake ing Node.js lan browser adhedhasar proyek Chromium. Kode proyek disebarake dening ing lisensi MIT. Proyek iki dikembangake dening Ryan Dahl (Ryan Dahl), pangripta platform JavaScript Node.js.

Salah sawijining tujuan utama nggawe runtime anyar kanggo JavaScript yaiku nyedhiyakake lingkungan sing luwih aman. Kanggo nambah keamanan, mesin V8 ditulis ing Rust, sing nyingkiri akeh kerentanan sing muncul saka manipulasi memori tingkat rendah, kayata akses gratis sawise, dereferensi pointer null, lan overruns buffer. Platform kasebut digunakake kanggo ngolah panjalukan ing mode non-blocking Tokio, uga ditulis ing Rust. Tokio ngidini sampeyan nggawe aplikasi kanthi kinerja dhuwur adhedhasar arsitektur sing didorong acara, ndhukung panjaluk jaringan multi-threading lan pangolahan ing mode asinkron.

Utama fitur Deno:

  • Konfigurasi gawan berorientasi keamanan. Akses file, jaringan, lan akses menyang variabel lingkungan dipateni kanthi standar lan kudu diaktifake kanthi jelas;
  • Dhukungan sing dibangun kanggo basa TypeScript saliyane JavaScript;
  • Runtime teka ing wangun file eksekusi tunggal ("deno"). Kanggo mbukak aplikasi nggunakake Deno iku cukup upload kanggo platform sawijining file eksekusi siji, kira-kira 10 MB ing ukuran, kang ora gumantung external lan ora mbutuhake instalasi khusus ing sistem;
  • Nalika miwiti program, uga kanggo mbukak modul, sampeyan bisa nggunakake alamat URL. Contone, kanggo mbukak program welcome.js, sampeyan bisa nggunakake printah "deno https://deno.land/std/examples/welcome.js". Kode saka sumber daya eksternal diundhuh lan di-cache ing sistem lokal, nanging ora tau dianyari kanthi otomatis (nganyari mbutuhake kanthi jelas mbukak aplikasi kanthi bendera "--reload");
  • Proses efisien panjalukan jaringan liwat HTTP ing aplikasi, platform dirancang kanggo nggawe aplikasi jaringan kinerja dhuwur;
  • Kemampuan kanggo nggawe aplikasi web universal sing bisa dieksekusi ing Deno lan ing browser web biasa;
  • Saliyane runtime, platform Deno uga tumindak minangka manajer paket lan ngidini sampeyan ngakses modul kanthi URL ing kode kasebut. Contone, kanggo mbukak modul, sampeyan bisa nemtokake ing kode "impor * minangka log saka "https://deno.land/std/log/mod.ts". File sing diundhuh saka server eksternal liwat URL di-cache. Ikatan karo versi modul ditemtokake kanthi nemtokake nomer versi ing URL, contone, "https://unpkg.com/[email dilindhungi]/dist/liltest.js";
  • Struktur kasebut kalebu sistem inspeksi dependensi terpadu (printah "deno info") lan sarana kanggo format kode (deno fmt).
  • Kanggo pangembang aplikasi ngajokaken set modul standar sing wis ngalami audit tambahan lan testing kompatibilitas;
  • Kabeh skrip aplikasi bisa digabung dadi siji file JavaScript.

Bedane saka Node.js:

  • Deno ora nggunakake manajer paket npm
    lan ora disambungake menyang repositori, modul ditangani liwat URL utawa path file, lan modul kasebut bisa diselehake ing situs web apa wae;

  • Deno ora nggunakake "package.json" kanggo nemtokake modul;
  • prabΓ©dan API, kabeh tumindak bedo ing Deno bali janji;
  • Deno mbutuhake definisi eksplisit kabeh ijin sing perlu kanggo file, jaringan lan variabel lingkungan;
  • Kabeh kesalahan sing ora diwenehake karo panangan nyebabake mandap aplikasi;
  • Deno nggunakake sistem modul ECMAScript lan ora ndhukung mbutuhake ().

Source: opennet.ru

Add a comment