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

Berdeste berdan Node.js 13.0,platformên ji bo xebitandina sepanên torê di JavaScriptê de. Di heman demê de, stabîlkirina şaxê berê yê Node.js 12.x qediya, ku ji kategoriya serbestberdanên piştevaniya dirêj-dirêj ve hatî veguheztin, nûvekirinên ku ji bo 4 salan têne berdan. Piştgiriya ji bo şaxa LTS ya berê ya Node.js 10.0 dê heya Nîsana 2021-an bidome, û piştgirî ji bo şaxê LTS-a paşîn 8.0 heya Çile 2020-an.

sereke serrastkirinî:

  • Motora V8 li guhertoyê hate nûve kirin 7.8, ku teknîkên xweşbînkirina performansa nû bikar tîne, hilweşandina tiştan çêtir dike, xerckirina bîranînê kêm dike, û dema amadekirina ji bo darvekirina WebAssembly kêm dike;
  • Piştgiriya bêkêmasî ji bo navneteweyîbûn û Unicode-ya-based pirtûkxaneyê ji hêla xwerû ve hatî çalak kirin ICU (Pêkhateyên Navneteweyî ji bo Unicode), ku destûrê dide pêşdebiran ku kodê binivîsin piştgirî bi ziman û deverên cuda kar bikin. Modula full-icu naha ji hêla xwerû ve hatî saz kirin;
  • API stabîl kir Mijarên Karkeran, destûr dide lûleyên bûyera pir-mijarî biafirînin. Pêkanîn li ser modula worker_threads-ê ye, ku dihêle hûn koda JavaScript-ê di gelek mijarên paralel de bimeşînin. Piştgiriya stabîl ji bo Workers Threads API jî ji şaxa LTS ya Node.js 12.x ve hatî paşvekişandin;
  • Pêdiviyên platforman zêde bûne. Ji bo civînê niha hewce ye herî kêm macOS 10.11 (Xcode 10 hewce dike), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Piştgiriya çêtir ji bo Python 3. Ger pergalê hem Python 2 û hem jî Python 3 hebin, Python 2 hîn jî tê bikar anîn, lê şiyana avakirina dema ku tenê Python 3 li ser pergalê were saz kirin hate zêdekirin;
  • Pêkanîna kevn a parsera HTTP ("—http-parser=legacy") hate rakirin. Gazî û taybetmendî hatin rakirin an jinavbirin FSWatcher.prototype.start(), ChildProcess._channel, open() di tiştên ReadStream û WriteStream de, request.connection, answer.connection, module.createRequireFromPath();
  • Pêketînî derket nûvekirina 13.0.1, ku zû çend xeletî rast kir. Bi taybetî, pirsgirêka npm 6.12.0 ku hişyariyek li ser karanîna guhertoyek ne piştgirî nîşan dide hate çareser kirin.

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