Sisih server JavaScript Node.js 13.0 release

Kasedhiya ngeculake Simpul.js 13.0,platform kanggo mbukak aplikasi jaringan ing JavaScript. Ing wektu sing padha, stabilisasi cabang Node.js 12.x sadurunge wis rampung, sing wis ditransfer menyang kategori rilis dhukungan jangka panjang, nganyari sing dirilis kanggo 4 taun. Dhukungan kanggo cabang LTS sadurunge Node.js 10.0 bakal nganti April 2021, lan dhukungan kanggo cabang LTS pungkasan 8.0 nganti Januari 2020.

Utama dandan:

  • mesin V8 dianyari kanggo versi 7.8, sing nggunakake teknik optimasi kinerja anyar, nambah destructuring obyek, nyuda konsumsi memori, lan nyuda wektu preparation kanggo eksekusi WebAssembly;
  • Dhukungan lengkap kanggo internasionalisasi lan Unicode basis perpustakaan diaktifake kanthi gawan ICU (KomponΓ¨n Internasional kanggo Unicode), sing ngidini pangembang nulis kode nyengkuyung nggarap basa lan lokal sing beda-beda. Modul full-icu saiki wis diinstal kanthi gawan;
  • API stabil Utas Pekerja, ngidini nggawe puteran acara multi-Utas. Implementasine adhedhasar modul worker_threads, sing ngidini sampeyan mbukak kode JavaScript ing pirang-pirang benang paralel. Dhukungan stabil kanggo Workers Threads API uga wis backported menyang cabang LTS saka Node.js 12.x;
  • Requirements kanggo platform wis tambah. Kanggo perakitan saiki dibutuhake paling ora macOS 10.11 (mbutuhake Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Apik support kanggo Python 3. Yen sistem wis loro Python 2 lan Python 3, Python 2 isih digunakake, nanging kemampuan kanggo mbangun nalika mung Python 3 diinstal ing sistem wis ditambahake;
  • Implementasi lawas saka parser HTTP (β€œβ€”http-parser=legacy”) wis dibusak. Telpon lan properti FSWatcher.prototype.start (), ChildProcess._channel, mbukak () cara ing ReadStream lan WriteStream obyek, request.connection, response.connection, module.createRequireFromPath ();
  • Nderek medal nganyari 13.0.1, sing cepet ndandani sawetara kewan omo. Utamane, masalah npm 6.12.0 nampilake bebaya babagan nggunakake versi sing ora didhukung wis dirampungake.

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