Sisih server JavaScript Node.js 14.0 release

dumadi ngeculake Simpul.js 14.0,platform kanggo mbukak aplikasi jaringan ing JavaScript. Node.js 14.0 minangka cabang dhukungan jangka panjang, nanging status iki mung bakal ditugasake ing Oktober, sawise stabil. Node.js 14.0 bakal didhukung dileksanakake nganti April 2023. Pangopènan cabang LTS sadurunge Node.js 12.0 bakal nganti April 2022, lan taun sadurunge cabang LTS pungkasan 10.0 nganti April 2021. Dhukungan kanggo cabang pementasan 13.x bakal rampung ing wulan Juni taun iki.

Utama dandan:

  • Kemampuan kanggo ngasilake kanthi cepet utawa nalika kedadeyan acara tartamtu wis stabil laporan diagnostik, sing nampilake acara sing mbantu diagnosa masalah kayata kacilakan, degradasi kinerja, bocor memori, beban CPU abot, output kesalahan sing ora dikarepke, lsp.
  • Dhukungan API eksperimen ditambahake Panyimpenan Lokal Async karo implementasine saka kelas AsyncLocalStorage, kang bisa digunakake kanggo nggawe negara bedo karo handler adhedhasar telpon callback lan janji. AsyncLocalStorage ngidini sampeyan nyimpen data nalika panjalukan web lagi diproses, kaya panyimpenan thread-lokal ing basa liya.
  • Pesen peringatan sing dibusak babagan fitur eksperimen nalika dimuat modul ECMAScript 6 disambungake lan diekspor nggunakake statement impor lan ekspor. Ing wektu sing padha, implementasine modul ESM dhewe tetep eksperimen.
  • mesin V8 dianyari kanggo versi 8.1 (1, 2, 3), sing kalebu optimasi kinerja anyar lan fitur kayata operator concatenation logis anyar "??" (ngasilake operan tengen yen operan kiwa NULL utawa ora ditemtokake, lan kosok balene), operator "?." kanggo mriksa siji-wektu kabeh chain properti utawa telpon (contone, "db?.user?.name?.length" tanpa pamriksan awal), metode Intl.DisplayName kanggo entuk jeneng lokal, etc.
  • A rΓ©visi saka Streams API iki digawa metu, ngarahke kanggo nambah konsistensi saka Streams API lan ngilangke beda ing prilaku bagean dhasar saka Node.js. Contone, prilaku http.OutgoingMessage cedhak stream.Writable, lan net.Socket padha stream.Duplex. Opsi autoDestroy disetel dadi "bener" kanthi standar, sing tegese nelpon "_destroy" sawise rampung.
  • Dhukungan API eksperimen ditambahake WASI (Antarmuka Sistem WebAssembly), nyedhiyakake antarmuka piranti lunak kanggo interaksi langsung karo sistem operasi (POSIX API kanggo nggarap file, soket, lsp).
  • Tambah syarat kanggo versi minimal kompiler lan platform: macOS 10.13 (High Sierra), GCC 6, Windows anyar 7/2008R2.

Elinga yen platform Node.js bisa digunakake kanggo dhukungan sisih server aplikasi Web lan kanggo nggawe program jaringan klien lan server biasa. Kanggo nggedhekake fungsi aplikasi kanggo Node.js, nomer akeh koleksi modul, ing ngendi sampeyan bisa nemokake modul kanthi implementasi server lan klien HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modul kanggo integrasi karo macem-macem kerangka web, panangan WebSocket lan Ajax, konektor menyang DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), mesin cithakan, mesin CSS, implementasi algoritma kriptografi lan sistem wewenang (OAuth), parser XML.

Kanggo nangani akeh panjalukan paralel, Node.js nggunakake model eksekusi kode asinkron adhedhasar pangolahan acara sing ora mblokir lan panangan callback. Cara sing didhukung kanggo sambungan multiplexing kalebu epoll, kqueue, /dev/poll, lan pilih. Pustaka digunakake kanggo sambungan multiplex libu, kang superstructure liwat liber ing sistem Unix lan liwat IOCP ing Windows. A perpustakaan digunakake kanggo nggawe blumbang thread libeio, kanggo nindakake pitakon DNS ing mode non-blocking digabungake c-ares. Kabeh panggilan sistem sing nyebabake pamblokiran dieksekusi ing blumbang thread lan banjur, kaya panangan sinyal, bali asil karya liwat pipa sing ora dijenengi. Eksekusi kode JavaScript dipesthekake kanthi nggunakake mesin sing dikembangake dening Google V8 (Saliyane iku, Microsoft ngembangake versi Node.js kanthi mesin Chakra-Core).

Ing inti, Node.js padha karo frameworks Perl AnyEvent, Mesin Acara Ruby, Python Twisted ΠΈ implementasine acara ing Tcl, nanging daur ulang acara ing Node.js didhelikake saka pangembang lan meh podho nangani acara ing aplikasi web sing mlaku ing browser. Nalika nulis aplikasi kanggo node.js, perlu kanggo njupuk menyang akun spesifik saka acara-driven program, contone, tinimbang nindakake "var hasil = db.query ("pilih..");" karo nunggu rampung karya lan Processing sakteruse saka asil, Node.js nggunakake prinsip eksekusi bedo, i.e. kode wis rubah menyang "db.query ("pilih ..", fungsi (asil) {Proses asil});", kang kontrol bakal langsung pass kanggo kode luwih, lan asil query bakal diproses minangka data arrives. .

Source: opennet.ru

Add a comment