Server-sisi JavaScript Node.js 14.0 release

lumangsung ngabebaskeun Node.js 14.0,platform pikeun ngajalankeun aplikasi jaringan dina JavaScript. Node.js 14.0 mangrupakeun cabang rojongan jangka panjang, tapi status ieu ngan bakal ditugaskeun dina Oktober, sanggeus stabilisasi. Node.js 14.0 bakal dirojong dilaksanakeun dugi ka April 2023. Pangropéa cabang LTS sateuacana tina Node.js 12.0 bakal dugi ka April 2022, sareng sataun sateuacan cabang LTS terakhir 10.0 dugi ka April 2021. Rojongan pikeun cabang pementasan 13.x bakal mungkas dina Juni taun ieu.

utama pamutahiran:

  • Kamampuhan pikeun ngahasilkeun dina laleur atawa kana lumangsungna acara tangtu geus stabilized laporan diagnostik, nu mintonkeun acara nu mantuan nangtukeun jenis panyakitna masalah kayaning kacilakaan, degradasi kinerja, bocor memori, beban CPU beurat, kaluaran kasalahan teu kaduga, jsb.
  • Ditambahkeun rojongan API eksperimen Panyimpenan Lokal Async kalawan palaksanaan kelas AsyncLocalStorage, nu bisa dipaké pikeun nyieun kaayaan Asynchronous kalawan pawang dumasar kana panggero balik sarta janji. AsyncLocalStorage ngidinan Anjeun pikeun nyimpen data bari pamundut web keur diprosés, reminiscent tina thread-local gudang dina basa séjén.
  • Dipiceun pesen peringatan ngeunaan fitur ékspérimén nalika ngamuat modul ECMAScript 6 disambungkeun jeung diékspor maké pernyataan impor jeung ékspor. Dina waktos anu sami, palaksanaan modul ESM nyalira tetep ékspérimén.
  • mesin V8 diropéa kana versi 8.1 (1, 2, 3), nu ngawengku optimizations kinerja anyar jeung fitur sapertos operator concatenation logis anyar "??" (ngabalikeun operan katuhu lamun operan kénca nyaéta NULL atawa undefined, sarta sabalikna), operator "?." pikeun hiji-waktos dipariksa sakabéh ranté sipat atawa panggero (contona, "db?.Pamaké?.Nami?.panjang" tanpa cék awal), métode Intl.DisplayName pikeun meunangkeun ngaran localized, jsb.
  • A révisi tina Streams API ieu dilumangsungkeun, aimed dina ngaronjatkeun konsistensi tina Streams API sarta ngaleungitkeun béda dina paripolah bagian dasar Node.js. Contona, kabiasaan http.OutgoingMessage deukeut stream.Writable, sarta net.Socket sarupa stream.Duplex. Pilihan autoDestroy disetel ka "leres" sacara standar, anu hartosna nelepon "_destroy" saatos réngsé.
  • Ditambahkeun rojongan API eksperimen WASI (WebAssembly System Interface), nyadiakeun interfaces software pikeun interaksi langsung jeung sistem operasi (POSIX API pikeun gawé bareng file, sockets, jsb).
  • Ngaronjat sarat pikeun versi minimal kompiler sareng platform: macOS 10.13 (High Sierra), GCC 6, Windows anyar 7/2008R2.

Hayu urang émut yén platform Node.js tiasa dianggo pikeun pangrojong pangladén aplikasi wéb sareng pikeun nyiptakeun program jaringan klien sareng server biasa. Pikeun dilegakeun fungsionalitas aplikasi pikeun Node.js, angka nu gede ngarupakeun kumpulan modul, dimana anjeun tiasa mendakan modul sareng palaksanaan server sareng klien HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modul pikeun integrasi sareng sababaraha kerangka wéb, pawang WebSocket sareng Ajax, konektor ka DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), mesin template, mesin CSS, palaksanaan algoritma kriptografi jeung sistem otorisasina (OAuth), XML parsers.

Pikeun nanganan sajumlah ageung pamundut paralel, Node.js nganggo modél palaksanaan kode Asynchronous dumasar kana pamrosésan acara anu henteu ngahalangan sareng nangtoskeun panangan callback. Métode anu dirojong pikeun sambungan multiplexing kalebet epoll, kqueue, /dev/poll, sareng pilih. Perpustakaan dipaké pikeun sambungan multiplex libuv, nu mangrupa superstructure leuwih liber on sistem Unix sarta leuwih IOCP on Windows. A perpustakaan dipaké pikeun nyieun kolam renang thread libeio, pikeun ngajalankeun queries DNS dina mode non-blocking terpadu c-ares. Sadaya telepon sistem anu nyababkeun blocking dieksekusi dina kolam renang teras, sapertos panangan sinyal, ngalangkungan hasil padamelanna deui ngaliwatan pipa anu henteu namina. Palaksanaan kode JavaScript dipastikeun ku ngagunakeun mesin anu dikembangkeun ku Google V8 (Sajaba ti éta, Microsoft nuju ngembangkeun versi Node.js sareng mesin Chakra-Core).

Dina inti na, Node.js téh sarupa jeung frameworks Perl AnyEvent, Mesin Acara Ruby, Python Twisted и palaksanaan acara di Tcl, tapi loop acara di Node.js disumputkeun ti developer jeung nyarupaan penanganan acara dina aplikasi wéb ngajalankeun dina browser. Nalika nulis aplikasi pikeun node.js, perlu tumut kana akun spésifik program acara-disetir, contona, tinimbang ngalakukeun "var hasil = db.query ("pilih..");" kalayan ngantosan parantosan karya sareng ngolah hasil salajengna, Node.js nganggo prinsip palaksanaan asinkron, nyaéta. kode nu ngajanggélék jadi "db.query ("pilih ..", fungsi (hasil) {prosés hasil});", nu kontrol bakal geuwat lulus kode salajengna, sarta hasil query bakal diolah sakumaha data datang. .

sumber: opennet.ru

Tambahkeun komentar