Proyék Deno nuju ngembangkeun platform JavaScript anu aman sapertos Node.js

Aya release proyék Pasihan abdi 0.33, anu nawiskeun platform sapertos Node.js pikeun palaksanaan aplikasi mandiri dina JavaScript sareng TypeScript anu tiasa dianggo pikeun ngajalankeun aplikasi tanpa dihijikeun kana browser, sapertos ngadamel pawang anu dijalankeun dina server. Deno ngagunakeun mesin JavaScript V8, anu ogé dianggo dina Node.js sareng browser dumasar kana proyék Chromium. Kodeu proyék disebarkeun ku handapeun lisénsi MIT. Proyék ieu dikembangkeun ku Ryan Dahl (Ryan Dahl), panyipta platform JavaScript Node.js.

Salah sahiji tujuan utama nyiptakeun runtime énggal pikeun JavaScript nyaéta nyayogikeun lingkungan anu langkung aman. Pikeun ningkatkeun kaamanan, mesin V8 ditulis dina Rust, anu ngahindarkeun seueur kerentanan anu timbul tina manipulasi mémori tingkat-rendah, sapertos aksés gratis saatosna, dereferences pointer nol, sareng overruns panyangga. Platformna dianggo pikeun ngolah pamundut dina modeu non-blocking Tokio, ogé ditulis dina Rust. Tokio ngidinan Anjeun pikeun nyieun aplikasi-kinerja tinggi dumasar kana arsitéktur acara-disetir, ngarojong multi-threading sarta ngolah requests jaringan dina modeu Asynchronous.

utama Fitur Deno:

  • Konfigurasi standar berorientasi kaamanan. Aksés file, jaringan, sareng aksés ka variabel lingkungan ditumpurkeun sacara standar sareng kedah diaktipkeun sacara eksplisit;
  • Diwangun-di rojongan pikeun basa TypeScript salian JavaScript;
  • Runtime asalna dina bentuk file laksana anu mandiri ("deno"). Pikeun ngajalankeun aplikasi nganggo Deno éta cekap unggah Pikeun platformna, hiji file anu tiasa dieksekusi, ukuranana sakitar 10 MB, anu teu aya katergantungan éksternal sareng henteu ngabutuhkeun pamasangan khusus dina sistem;
  • Nalika ngamimitian program, kitu ogé pikeun ngamuat modul, anjeun tiasa nganggo alamat URL. Contona, pikeun ngajalankeun program welcome.js, anjeun tiasa nganggo paréntah "deno https://deno.land/std/examples/welcome.js". Kode tina sumber éksternal diundeur jeung sindangan dina sistem lokal, tapi teu pernah otomatis diropéa (ngamutahirkeun merlukeun eksplisit ngajalankeun aplikasi jeung bandéra "--reload");
  • Ngolah éfisién paménta jaringan via HTTP dina aplikasi, platform dirancang pikeun nyiptakeun aplikasi jaringan berkinerja tinggi;
  • Kamampuhan pikeun nyieun aplikasi wéb universal anu tiasa dieksekusi dina Deno sareng dina browser wéb biasa;
  • Salian runtime, platform Deno ogé bertindak salaku manajer pakét sareng ngamungkinkeun anjeun ngaksés modul ku URL di jero kode. Contona, pikeun ngamuat modul a, Anjeun bisa nangtukeun dina kode "impor * sakumaha log ti "https://deno.land/std/log/mod.ts". Berkas anu diunduh tina pangladén éksternal via URL di-cache. Beungkeutan kana versi modul ditangtukeun ku nangtukeun nomer versi dina URL, contona, "https://unpkg.com/[email dijaga]/dist/liltest.js";
  • Strukturna kalebet sistem pamariksaan kagumantungan terpadu (paréntah "deno info") sareng utilitas pikeun pormat kode (deno fmt).
  • Pikeun pamekar aplikasi diajukeun sakumpulan modul standar anu ngalaman audit tambahan sareng uji kasaluyuan;
  • Sadaya skrip aplikasi tiasa digabungkeun kana hiji file JavaScript.

Beda ti Node.js:

  • Deno henteu nganggo manajer pakét npm
    sarta teu dihijikeun ka repositories, modul nu kajawab via URL atawa ku jalur file, sarta modul sorangan bisa disimpen dina ramatloka wae;

  • Deno teu make "package.json" pikeun nangtukeun modul;
  • Beda API, sagala lampah Asynchronous di Deno balik jangji;
  • Deno merlukeun definisi eksplisit sadaya idin diperlukeun pikeun file, jaringan jeung variabel lingkungan;
  • Sadaya kasalahan anu henteu disayogikeun ku pawang ngarah kana terminasi aplikasi;
  • Deno ngagunakeun sistem modul ECMAScript jeung teu ngarojong merlukeun ().

sumber: opennet.ru

Tambahkeun komentar