Serveri JavaScript platvormi Node.js 16.0 versioon on vÀlja antud

VÀljaande Node.js 16.0, JavaScripti vÔrgu rakenduste platvormi, on toimunud. Node.js 16.0 kuulub pikaajalise toe (LTS) harude hulka, kuid see staatus omandatakse alles oktoobris pÀrast stabiliseerimist. Node.js 16.0 tuge toetatakse aprillini 2023. Eelmise LTS-haru Node.js 14.0 toetamine kestab aprillini 2023, samas kui eelneva LTS-haru 12.0 tuge toetatakse aprillini 2022. LTS-haru 10.0 toetamine lÔpeb 10 pÀeva pÀrast.

Peamised parandused:

  • V8 mootori versioon on uuendatud versioonile 9.0 (Node.js 15-s kasutati versiooni 8.6), mis vĂ”imaldas Node.js 16-s rakendada selliseid funktsioone nagu regulaaravaldiste „indices” omadus (mis sisaldab massiivi vaste rĂŒhmade algus- ja lĂ”ppäœçœź), meetod Atomics.waitAsync (asynkrooniline versioon Atomics.wait), toetada await mĂ€rksĂ”na kasutamist ĂŒlemise taseme moodulites. Funktsioonide vĂ€ljakutsumine on kiirem, kui edastatud argumentide arv ei vasta funktsioonis mÀÀratud parameetritele.
  • Stabiliseeritud on API Timers Promises, mis pakub alternatiivset funktsioonide komplekti ajastamisel, tagastades Promise objekti, mis vĂ”imaldab vĂ€ltida util.promisify() kasutamist. import { setTimeout } from ‘timers/promises’; async function run() { await setTimeout(5000); console.log(‘Hello, World!’); } run();
  • Lisatud on eksperimentaalne rakendus Web Crypto API, mis on mĂ”eldud pĂ”hiliste krĂŒptograafiliste operatsioonide teostamiseks veebirakenduste poolel, nagu krĂŒptograafiliste hash'ide kĂ€sitlemine, digitaalsete allkirjade genereerimine ja kontrollimine, andmete kodeerimine ja dekodeerimine erinevate krĂŒptimismeetodite abil, krĂŒptograafiliselt turvaliste juhuslike numbrite genereerimine. API-s on samuti funktsioonid vĂ”titĂŒĂŒpide genereerimiseks ja haldamiseks.
  • N-API (lisandite arendamise API) on uuendatud versioonile 8.
  • LĂ€biviidud on ĂŒleminek uuele versioonile pakihaldur NPM 7.10.
  • Stabiliseeritud on AbortController klassi rakendus, mis pĂ”hineb Web API AbortController'il ja vĂ”imaldab tĂŒhistada signaale valitud Promise-pĂ”histes API-des.
  • Stabiliseeritud on kolmanda versiooni toetamine Source Map formaadist, mida kasutatakse genereeritud, töödeldud vĂ”i pakitud moodulite seostamiseks originaalse lĂ€htekoodiga.
  • Tagamiseks on vananenud Web API-d toetavad meetodid buffer.atob(data) ja buffer.btoa(data) lisatud.
  • Alustatud on erinevate Apple'i seadmete kogumite loomine, mis on varustatud ARM M1 kiibiga.
  • Linuxi platvormil on tĂ”stetud kompilaatori versiooni nĂ”uded GCC 8.3-le.

Tuletame meelde, et Node.js platvormi saab kasutada nii veebirakenduste serveripoolseks toetamiseks kui ka tavaliste kliendi- ja serveri vĂ”rguprogrammide loomiseks. Node.js rakenduste funktsionaalsuse laiendamiseks on ette valmistatud suur moodulite kogu, milles leidub erinevaid teostuse mooduleid. serverite Lisaks on saadaval moodulid erinevate veebiraamistikest integreerimiseks, WebSocketi ja Ajax töötlejate, andmebaasi ĂŒhenduse moodulite (MySQL, PostgreSQL, SQLite, MongoDB), templaatide, CSS-mootorite, krĂŒptoalgoritmide ja autoriseerimissĂŒsteemide (OAuth), XML-parside rakendusteks.

Node.js kasutab paljude paralleelsete pĂ€ringute töötlemiseks asĂŒnkroonset koodikĂ€itlusmudelit, mille aluseks on sĂŒndmuste mittesĂŒvendav töötlemine ja tagasikutsumiste mÀÀramine. Ühenduste multiplexerimiseks toetatakse selliseid meetodeid nagu epoll, kqueue, /dev/poll ja select. Ühenduste multiplexerimiseks kasutatakse libuv raamatukogu, mis on Unix-sĂŒsteemides libev ja Windowsis IOCP. Töötajate basaari (thread pool) loomiseks kasutatakse libeio raamatukogu ning mittesĂŒvendav DNS-pĂ€ringute töötlemine on integreeritud c-ares'iga. KĂ”ik sĂŒsteemi kutsed, mis vĂ”ivad blokeeruda, tĂ€idetakse töötajate basaari sees ja seejĂ€rel, nagu ka signaalide töötlejad, edastavad oma töö tulemuse tagasi anonĂŒĂŒmsesse torusse (pipe). JavaScripti koodi tĂ€itmine tagatakse Google'i loodud V8 mootori kaasamise kaudu (tĂ€psemalt arendab Microsoft Node.js varianti Chakra-Core mootoriga).

Node.js on teatud mĂ”ttes sarnane Perl AnyEvent, Ruby Event Machine, Python Twisted ja Tcl-i sĂŒndmustepĂ”histe rakendustega, kuid Node.js-i sĂŒndmuste töötlemise tsĂŒkkel (event loop) on arendaja eest varjatud ning sarnaneb veebirakenduse sĂŒndmuste töötlemisega, mis töötab brauseris. Node.js-i rakenduste kirjutamisel tuleb arvestada sĂŒndmustepĂ”hise programmeerimise eripĂ€radega. NĂ€iteks, selle asemel et teostada "var result = db.query('select..');" ja oodata tulemuste töötlemise lĂ”petamist, kasutatakse Node.js-is asĂŒnkroonse tĂ€itmise pĂ”himĂ”tet, st kood muutub "db.query('select..', function (result) {töötle tulemus});", kus juhtimine lĂ€heb kohe edasi jĂ€rgmisele koodile ja pĂ€ringu tulemus töödeldakse andmete saabumise ajal.

TĂ€iendavalt on mainitud, et Deno, Node.js looja poolt loodud jĂ€rgmise pĂ”lvkonna Deno platvormi arendamiseks, on saanud 4,9 miljonit dollarit investeeringut. Deno on oma eesmĂ€rkidelt sarnane Node.js-ile, kuid pĂŒĂŒab kĂ”rvaldada Node.js arhitektuuri mĂ”isted, mis on probleemsed, ja pakkuda kasutajatele turvalisemat keskkonda. Mainitakse, et Deno ettevĂ”tte Ă€rilahendused pĂ”hinevad tĂ€ielikult avatud toodetel, samas kui Open Core mudel, mille eesmĂ€rk on eraldada tasuline funktsionaalsus, on Deno platvormi jaoks vastuvĂ”etamatu.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster