Rhyddhau platfform JavaScript ochr y gweinydd Node.js 16.0

Rhyddhawyd Node.js 16.0, platfform ar gyfer rhedeg cymwysiadau rhwydwaith yn JavaScript. Mae Node.js 16.0 yn cael ei ddosbarthu fel cangen gefnogaeth hirdymor, ond dim ond ym mis Hydref y bydd y statws hwn yn cael ei neilltuo, ar ôl sefydlogi. Bydd Node.js 16.0 yn cael ei gefnogi tan fis Ebrill 2023. Bydd cynnal a chadw cangen flaenorol LTS o Node.js 14.0 yn para tan fis Ebrill 2023, a'r flwyddyn cyn y gangen LTS ddiwethaf 12.0 tan fis Ebrill 2022. Bydd cefnogaeth i'r gangen 10.0 LTS yn dod i ben mewn 10 diwrnod.

Prif welliannau:

  • Mae'r injan V8 wedi'i diweddaru i fersiwn 9.0 (Node.js 15 a ddefnyddir rhyddhau 8.6), sy'n caniatáu gweithredu nodweddion megis yr eiddo “mynegai” ar gyfer mynegiadau rheolaidd (gan gynnwys arae gyda safleoedd cychwyn a diwedd grwpiau o gemau) , y dull Atomics yn Node.js 16 .waitAsync (fersiwn async o Atomics.wait), cefnogaeth ar gyfer defnyddio'r allweddair aros mewn modiwlau lefel uchaf. Mae galwadau ffwythiant wedi'u cyflymu mewn sefyllfaoedd lle nad yw nifer y dadleuon a basiwyd yn cyfateb i'r paramedrau a ddiffinnir yn y ffwythiant.
  • Mae API Timers Promises wedi'i sefydlogi, gan ddarparu set amgen o swyddogaethau ar gyfer gweithio gydag amseryddion sy'n dychwelyd gwrthrychau Addewid fel allbwn, sy'n dileu'r angen i ddefnyddio util.promisify(). mewnforio { setTimeout } o 'amseryddion/addewidion'; rhediad swyddogaeth async() { aros setTimeout(5000); consol.log('Helo, Byd!'); } rhedeg();
  • Mae gweithrediad arbrofol o Web Crypto API wedi'i ychwanegu, wedi'i gynllunio i gyflawni gweithrediadau cryptograffig sylfaenol ar ochr cymwysiadau gwe, megis trin hashes cryptograffig, cynhyrchu a gwirio llofnodion digidol, amgodio a datgodio data gan ddefnyddio gwahanol ddulliau amgryptio, a chynhyrchu cryptograffig ddiogel. haprifau. Mae'r API hefyd yn darparu swyddogaethau ar gyfer cynhyrchu a rheoli allweddi.
  • Mae N-API (API ar gyfer datblygu ychwanegion) wedi'i ddiweddaru i fersiwn 8.
  • Mae'r newid i ryddhad newydd y rheolwr pecyn NPM 7.10 wedi'i wneud.
  • Sefydlogi gweithrediad y dosbarth AbortController, sy'n seiliedig ar API Gwe AbortController ac sy'n caniatáu i signalau gael eu canslo mewn APIs dethol sy'n seiliedig ar Addewid.
  • Mae cefnogaeth ar gyfer trydydd fersiwn fformat y Map Ffynhonnell, a ddefnyddir i gymharu modiwlau wedi'u cynhyrchu, eu prosesu neu eu pecynnu â'r cod ffynhonnell gwreiddiol, wedi'i sefydlogi.
  • Er mwyn cydweddu ag APIs Gwe etifeddol, mae'r dulliau buffer.atob(data) a buffer.btoa(data) wedi'u hychwanegu.
  • Mae ffurfio cynulliadau ar gyfer dyfeisiau Apple newydd sydd â'r sglodyn M1 ARM wedi dechrau.
  • Ar y platfform Linux, mae gofynion y fersiwn crynhoydd wedi'u codi i GCC 8.3.

Gadewch inni gofio y gellir defnyddio platfform Node.js i gefnogi cymwysiadau Gwe ar ochr y gweinydd ac ar gyfer creu rhaglenni rhwydwaith cleientiaid a gweinyddwyr cyffredin. Er mwyn ehangu ymarferoldeb cymwysiadau ar gyfer Node.js, mae casgliad mawr o fodiwlau wedi'u paratoi, lle gallwch ddod o hyd i fodiwlau gyda gweithredu HTTP, SMTP, XMPP, DNS, FTP, IMAP, gweinyddwyr POP3 a chleientiaid, modiwlau ar gyfer integreiddio gyda fframweithiau gwe amrywiol, trinwyr WebSocket ac Ajax , cysylltwyr i DBMS (MySQL, PostgreSQL, SQLite, MongoDB), peiriannau templed, peiriannau CSS, gweithredu algorithmau cryptograffig a systemau awdurdodi (OAuth), parsers XML.

Er mwyn sicrhau bod nifer fawr o geisiadau cyfochrog yn cael eu prosesu, mae Node.js yn defnyddio model gweithredu cod asyncronaidd yn seiliedig ar drin digwyddiadau nad ydynt yn rhwystro a'r diffiniad o drinwyr galwadau yn ôl. Y dulliau a gefnogir ar gyfer cysylltiadau amlblecsio yw epoll, kqueue, /dev/poll, a dewis. Ar gyfer amlblecsio cysylltiad, defnyddir y llyfrgell libuv, sy'n ychwanegiad ar gyfer libev ar systemau Unix ac IOCP ar Windows. Defnyddir y llyfrgell libeio i greu cronfa edau, ac mae c-ares wedi'i integreiddio i gyflawni ymholiadau DNS yn y modd di-flocio. Mae'r holl alwadau system sy'n achosi blocio yn cael eu gweithredu y tu mewn i'r pwll edau ac yna, fel trinwyr signal, yn trosglwyddo canlyniad eu gwaith yn ôl trwy bibell ddienw (pibell). Darperir gweithrediad cod JavaScript trwy ddefnyddio'r injan V8 a ddatblygwyd gan Google (yn ogystal, mae Microsoft yn datblygu fersiwn o Node.js gyda'r injan Chakra-Core).

Yn greiddiol iddo, mae Node.js yn debyg i'r Perl AnyEvent, Ruby Event Machine, fframweithiau Python Twisted, a gweithrediad digwyddiad Tcl, ond mae'r ddolen digwyddiad yn Node.js wedi'i chuddio oddi wrth y datblygwr ac mae'n debyg i drin digwyddiadau mewn cymhwysiad gwe sy'n rhedeg mewn porwr. Wrth ysgrifennu ceisiadau ar gyfer nod.js, mae angen i chi ystyried manylion rhaglennu a yrrir gan ddigwyddiadau, er enghraifft, yn lle gwneud "var result = db.query ("select..");" gydag aros am gwblhau'r gwaith a phrosesu canlyniadau wedi hynny, mae Node.js yn defnyddio'r egwyddor o gyflawni asyncronaidd, h.y. mae'r cod yn cael ei drawsnewid yn "db.query ("select..", function (canlyniad) {prosesu canlyniad});", lle bydd rheolaeth yn trosglwyddo'n syth i god pellach, a bydd canlyniad yr ymholiad yn cael ei brosesu wrth i ddata gyrraedd.

Yn ogystal, gellir nodi bod cwmni Deno, a sefydlwyd gan y crëwr Node.js i ddatblygu platfform Deno cenhedlaeth nesaf, wedi derbyn $4.9 miliwn mewn buddsoddiadau. Yn ei bwrpas, mae Deno yn debyg i Node.js, ond mae'n ceisio dileu'r gwallau cysyniadol a wneir ym mhensaernïaeth Node.js a darparu amgylchedd mwy diogel i ddefnyddwyr. Nodir y bydd datrysiadau busnes Deno yn cael eu hadeiladu ar gynhyrchion cwbl agored, ac mae'r model Craidd Agored gydag ymarferoldeb taledig ar wahân yn cael ei ystyried yn annerbyniol ar gyfer platfform Deno.

Ffynhonnell: opennet.ru

Ychwanegu sylw