Platform JavaScript sisi server Node.js 18.0 sayogi

Node.js 18.0 dirilis, platform pikeun ngajalankeun aplikasi jaringan dina JavaScript. Node.js 18.0 digolongkeun kana cabang rojongan jangka panjang, tapi status ieu bakal ditugaskeun ngan dina Oktober, sanggeus stabilisasi. Node.js 18.x bakal dirojong dugi ka April 2025. Pangropéa cabang LTS sateuacana Node.js 16.x bakal dugi ka April 2024, sareng taun sateuacan cabang LTS terakhir 14.x dugi ka April 2023. Cabang 12.x LTS bakal dileungitkeun dina 30 April, sareng cabang pementasan Node.js 17.x bakal dileungitkeun dina 1 Juni.

Perbaikan utama:

  • Mesin V8 parantos diropéa kana vérsi 10.1, anu dianggo dina Chromium 101. Dibandingkeun sareng sékrési Node.js 17.9.0, ayeuna aya dukungan pikeun fitur sapertos metode findLast sareng findLastIndex pikeun milarian unsur-unsur anu aya dina tungtung. hiji Asép Sunandar Sunarya, sarta fungsi Intl.supportedValuesOf. Ningkatkeun Intl.Locale API. Inisialisasi widang kelas sareng metode pribadi parantos gancangan.
  • Dipulut ékspérimén () API diaktipkeun sacara standar, dirancang pikeun ngamuat sumberdaya ngaliwatan jaringan. Palaksanaan ieu dumasar kana kode ti HTTP / 1.1 klien undici sarta sacaket mungkin ka API sarupa disadiakeun dina panyungsi. Ieu kalebet dukungan pikeun FormData, Headers, Request and Response interfaces pikeun ngamanipulasi pamundut HTTP sareng header respon. const res = ngantosan dipulut ('https://nodejs.org/api/documentation.json'); lamun (res.ok) {const data = await res.json (); console.log(data); }
  • Palaksanaan eksperimen tina Web Streams API geus ditambahkeun, nyadiakeun aksés ka aliran data narima ngaliwatan jaringan. API ngamungkinkeun pikeun nambahkeun pawang sorangan pikeun digawe sareng data sakumaha informasi datang ngaliwatan jaringan, tanpa ngantosan sakabéh file diundeur. Objék ayeuna aya di Node.js kalebet ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, sareng DecompressionStream.
  • Blob API geus dipindahkeun ka stabil, ngamungkinkeun Anjeun pikeun encapsulate data atah immutable pikeun pamakéan aman dina threads worker béda.
  • The BroadcastChannel API geus dijieun stabil, ngamungkinkeun Anjeun pikeun ngatur bursa pesen dina mode Asynchronous dina "hiji pangirim - loba panarima" format.
  • Ditambahkeun titik modul ékspérimén: tés pikeun nyieun sareng ngajalankeun tés dina JavaScript anu ngahasilkeun hasil dina format TAP (Test Anything Protocol).
  • Generasi rakitan siap-siap pikeun Red Hat Enterprise Linux (RHEL) 8 sareng distribusi sanésna dumasar kana Glibc 2.28+, kalebet Debian 10 sareng Ubuntu 20.04, ogé pikeun macOS 10.15+ disayogikeun. Kusabab masalah sareng mesin V8 ngawangun, kreasi 32-bit ngawangun pikeun Windows geus dieureunkeun samentara.
  • Disayogikeun pilihan ékspérimén pikeun ngawangun Node.js anu tiasa dieksekusi sareng komponén anu dipilih ku pangguna anu diinisialisasi nalika ngamimitian. Pikeun nangtukeun komponén dimimitian, pilihan "--node-snapshot-utama" geus ditambahkeun kana Aksara ngawangun Konpigurasikeun, contona, "./configure -node-snapshot-main = marked.js; ngaran node"

Platform Node.js tiasa dianggo pikeun pangropéa pangladén aplikasi wéb sareng pikeun nyiptakeun program jaringan klien sareng server biasa. Pikeun dilegakeun pungsionalitas aplikasi pikeun Node.js, kumpulan modul anu ageung parantos disiapkeun, dimana anjeun tiasa mendakan modul kalayan palaksanaan HTTP, SMTP, XMPP, DNS, FTP, IMAP, server POP3 sareng klien, modul pikeun integrasi. kalawan rupa web frameworks, WebSocket na AJAX pawang , panyambungna DBMS (MySQL, PostgreSQL, SQLite, MongoDB), mesin templating, mesin CSS, palaksanaan algoritma crypto sarta sistem otorisasina (OAuth), XML parsers.

Pikeun mastikeun ngolah sajumlah ageung pamundut paralel, Node.js nganggo modél palaksanaan kode Asynchronous dumasar kana penanganan acara non-blocking sareng definisi panangan callback. Métode anu dirojong pikeun sambungan multiplexing nyaéta epoll, kqueue, / dev / poll, sareng pilih. Pikeun sambungan multiplexing, perpustakaan libuv dipaké, nu mangrupa tambihan-on pikeun libev on sistem Unix sarta IOCP on Windows. Perpustakaan libeio dipaké pikeun nyieun kolam renang thread, sarta c-ares ieu terpadu pikeun ngalakukeun queries DNS dina modeu non-blocking. Sadaya panggero sistem anu nyababkeun blocking dieksekusi di jero kolam renang teras, sapertos panangan sinyal, nransferkeun hasil padamelanna deui ngaliwatan pipa anu henteu namina (pipa). Eksekusi kode JavaScript disayogikeun ku ngagunakeun mesin V8 anu dikembangkeun ku Google (sajaba ti éta, Microsoft ngembangkeun versi Node.js sareng mesin Chakra-Core).

Intina, Node.js sami sareng Perl AnyEvent, Mesin Acara Ruby, kerangka Python Twisted, sareng palaksanaan acara Tcl, tapi loop acara di Node.js disumputkeun tina pamekar sareng nyarupaan penanganan acara dina aplikasi wéb anu ngajalankeun. dina browser. Nalika nulis aplikasi pikeun node.js, Anjeun kudu mertimbangkeun spésifik program acara-disetir, contona, tinimbang ngalakukeun "var hasil = db.query ("pilih ..");" kalayan ngantosan parantosan padamelan sareng ngolah hasil salajengna, Node.js nganggo prinsip palaksanaan asinkron, nyaéta. kode ieu ngajanggélék jadi "db.query ("pilih ..", fungsi (hasil) {prosés hasil});", nu kontrol bakal langsung ngalirkeun kana kode salajengna, sarta hasil query bakal diolah sakumaha data datang.

sumber: opennet.ru

Tambahkeun komentar