Serbestberdana platforma JavaScript-a server-side Node.js 14.0

pêk hat berdan Node.js 14.0,platformên ji bo xebitandina sepanên torê di JavaScriptê de. Node.js 14.0 şaxek piştevaniya demdirêj e, lê ev statû dê tenê di meha cotmehê de, piştî stabilîzasyonê, were destnîşankirin. Node.js 14.0 dê were piştgirî kirin bê kirin heta nîsana 2023. Lênêrîna şaxê LTS-ya berê ya Node.js 12.0 dê heya Nîsana 2022-an bidome, û sala berî şaxê LTS-ya paşîn 10.0 heya Avrêl 2021-ê bidome. Piştgiriya ji bo şaxê staging 13.x dê di Hezîrana îsal de bi dawî bibe.

sereke serrastkirinî:

  • Kapasîteya hilberandina li ser firînê an li ser rûdana hin bûyeran stabîl bûye raporên teşhîs, ku bûyerên ku ji bo teşhîskirina pirsgirêkên wekî qeza, xirabûna performansê, rijandinên bîranînê, barkirina giran a CPU-yê, derketina xeletiya nediyar, hwd vedihewîne nîşan dide.
  • Piştgiriya API-ya ceribandinê zêde kir Async Storage Herêmî bi pêkanîna çîna AsyncLocalStorage, ku dikare were bikar anîn da ku li ser bingeha bang û sozên paşvegera bangê bi rêvebiran re dewleta asynchron ava bike. AsyncLocalStorage destûrê dide te ku dema ku daxwazek malperê tê hilanîn daneyan hilîne, ku di zimanên din de hilanîna thread-herêmî tîne bîra we.
  • Dema barkirinê di derbarê taybetmendiya ceribandinê de peyama hişyariyê hate rakirin modules ECMAScript 6 bi karanîna daxuyaniyên import û hinardekirinê ve girêdayî û hinarde kirin. Di heman demê de, pêkanîna modulên ESM bixwe ceribandinek dimîne.
  • Motora V8 li guhertoyê hate nûve kirin 8.1 (1, 2, 3), ku di nav xwe de xweşbîniyên performansa nû û taybetmendiyên wekî operatora nû ya pevgirêdana mantiqî "??" (Eger operanda çepê NULL an ne diyarkirî be, û berevajî vê yekê operanda rast vedigerîne), operatora "?." ji bo kontrolkirina yek carî ya tevahiya zincîra taybetmendiyan an bangan (mînak, "db?.bikarhêner?.nav?.dirêj" bêyî kontrolên pêşîn), rêbaza Intl.DisplayName ji bo bidestxistina navên herêmî, hwd.
  • Revîzyonek Streams API-ê hate kirin, ku armanc ew e ku hevrêziya Streams API-yê baştir bike û cûdahiyên di tevgera beşên bingehîn ên Node.js de ji holê rabike. Mînakî, tevgera http.OutgoingMessage nêzîkî stream e. Nivîsbar e, û net.Socket dişibe stream.Duplex. Vebijarka autoDestroy ji hêla xwerû ve wekî "rast" tête danîn, ku tê vê wateyê ku piştî qedandinê banga "_destroy" tê kirin.
  • Piştgiriya API-ya ceribandinê zêde kir WASI (Navbera Sîstema WebAssembly), danûstendinên nermalavê ji bo danûstendina rasterast bi pergala xebitandinê re peyda dike (POSIX API ji bo xebata bi pelan, soketan, hwd.).
  • Pêdiviyên zêde ji bo guhertoyên mînîmal berhevkar û platform: macOS 10.13 (Sierra Bilind), GCC 6, Windows nûtir 7/2008R2.

Werin em bînin bîra xwe ku platforma Node.js hem ji bo piştgirîya server-aliyê serîlêdanên Webê hem jî ji bo afirandina bernameyên torê yên xerîdar û serverê yên asayî dikare were bikar anîn. Ji bo berfirehkirina fonksiyona sepanan ji bo Node.js, hejmareke mezin berhevkirina modulan, ku tê de hûn dikarin modulên bi pêkanîna pêşkêşker û xerîdar bibînin HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modulên ji bo entegrasyonê bi çarçoweyên cihêreng ên tevneyê, destedarên WebSocket û Ajax, girêdanên DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), motorên şablonê, motorên CSS, pêkanînên algorîtmayên krîptografî û pergalên destûrnameyê (OAuth), parserên XML.

Node.js ji bo birêvebirina hejmareke mezin ji daxwazên paralel, modelek darvekirina koda asynchronous li ser bingeha pêvajoya bûyera ne-astengker û pênasekirina hilgirên vegerê bikar tîne. Rêbazên piştgirîkirî yên ji bo girêdanên pirzimanî epoll, kqueue, / dev/poll, û hilbijartî hene. Pirtûkxane ji bo girêdanên piralî tê bikar anîn libuv, ku avahiyek li ser e libev li ser pergalên Unix û li ser IOCP li ser Windows. Pirtûkxaneyek tê bikar anîn da ku hewzek tîrêjê çêbike libeio, ji bo pêkanîna pirsên DNS-ê di moda ne-astengkirinê de yekgirtî ye c-ares. Hemî bangên pergalê yên ku dibin sedema astengkirinê di hundurê hewza tîrê de têne darve kirin û dûv re, mîna hilgirên sînyalê, encama xebata xwe di nav boriyek bênav re derbas dikin. Pêkanîna koda JavaScriptê bi karanîna motorek ku ji hêla Google ve hatî pêşve xistin ve tête peyda kirin V8 (Ji bilî vê, Microsoft guhertoyek Node.js bi motora Chakra-Core ve pêşve dike).

Di bingeha xwe de, Node.js dişibihe çarçoweyan Perl AnyEvent, Ruby Event Machine, Python Twisted и pêkanîna bûyerên di Tcl de, lê çerxa bûyerê di Node.js de ji pêşdebiran veşartî ye û dişibe birêvebirina bûyerê di serîlêdana webê de ku di gerokek de dixebite. Dema ku serîlêdanên ji bo node.js dinivîsin, pêdivî ye ku meriv taybetmendiyên bernamesaziya bûyer-rêveberî li ber çavan bigire, mînakî, li şûna ku meriv "var encam = db.query ("hilbijêre..");" digel li benda qedandina kar û dûv re hilberandina encaman, Node.js prensîba darvekirina asynchronous bikar tîne, ango. kod tê veguherandin "db.query ("hilbijêre..", fonksiyonê (encam) {pêvajoya encam});", ku tê de kontrol yekser derbasî koda din dibe, û encama pirsê dê wekî daneyan were hilberandin. .

Source: opennet.ru

Add a comment