Gefa út JavaScript vettvang Node.js 13.0 á netþjóni

Laus sleppa Node.js 13.0,vettvangar til að keyra netforrit í JavaScript. Á sama tíma hefur verið lokið við stöðugleika fyrri útibús Node.js 12.x, sem hefur verið flutt í flokk langtíma stuðningsútgáfu, uppfærslur fyrir þær eru gefnar út í 4 ár. Stuðningur við fyrri LTS útibú Node.js 10.0 mun vara til apríl 2021 og stuðningur við síðasta LTS útibú 8.0 til janúar 2020.

Helstu endurbætur:

  • V8 vél uppfærð í útgáfu 7.8, sem notar nýja hagræðingartækni, bætir eyðingu hluta, dregur úr minnisnotkun og dregur úr undirbúningstíma fyrir framkvæmd WebAssembly;
  • Fullur stuðningur við alþjóðavæðingu og Unicode sem byggir á bókasafni er sjálfgefið virkur ICU (International Components for Unicode), sem gerir forriturum kleift að skrifa kóða styðjandi vinna með mismunandi tungumál og staðsetningar. Full-icu einingin er nú sjálfgefið uppsett;
  • API stöðugt Þráður starfsmanna, leyfa búa til fjölþráðar atburðalykkjur. Útfærslan er byggð á worker_threads einingunni, sem gerir þér kleift að keyra JavaScript kóða í mörgum samhliða þráðum. Stöðugur stuðningur við Workers Threads API hefur einnig verið fluttur aftur í LTS útibú Node.js 12.x;
  • Kröfur um palla hafa verið auknar. Til samsetningar núna krafist að minnsta kosti macOS 10.11 (krefst Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Bættur stuðningur við Python 3. Ef kerfið er með bæði Python 2 og Python 3 er Python 2 enn notað, en möguleikinn til að byggja þegar aðeins Python 3 er uppsettur á kerfinu hefur verið bætt við;
  • Gamla útfærslan á HTTP þáttaranum ("—http-parser=legacy") hefur verið fjarlægð. Fjarlægðir eða úreltir símtöl og eiginleikar FSWatcher.prototype.start(), ChildProcess._channel, open() aðferð í ReadStream og WriteStream hlutum, request.connection, response.connection, module.createRequireFromPath();
  • Næst kom út uppfærsla 13.0.1, sem lagaði fljótt nokkrar villur. Sérstaklega hefur verið leyst vandamálið með því að npm 6.12.0 sýnir viðvörun um að nota óstudda útgáfu.

Við skulum muna að Node.js vettvangurinn er bæði hægt að nota fyrir netþjónastuðning við vefforrit og til að búa til venjuleg netforrit fyrir biðlara og netþjóna. Til að auka virkni forrita fyrir Node.js er mikill fjöldi safn eininga, þar sem þú getur fundið einingar með innleiðingu netþjóna og viðskiptavina HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, einingar fyrir samþættingu við ýmsa veframma, WebSocket og Ajax meðhöndlara, tengi við DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), sniðmátsvélar, CSS vélar, útfærslur á dulmálsreikniritum og heimildakerfum (OAuth), XML-flokkarar.

Til að meðhöndla mikinn fjölda samhliða beiðna notar Node.js ósamstillt keyrslulíkan sem byggir á ólokandi atburðavinnslu og skilgreiningu meðhöndlunarhringingar. Aðferðir sem studdar eru til að margfalda tengingar eru meðal annars epoll, kqueue, /dev/poll og select. Bókasafnið er notað til að multiplexa tengingar libuv, sem er yfirbyggingu lokið libev á Unix kerfum og yfir IOCP á Windows. Bókasafn er notað til að búa til þráðasafn libeio, til að framkvæma DNS fyrirspurnir í ólokandi ham er samþætt c-ares. Öll kerfissímtöl sem valda lokun eru keyrð innan þráðasafnsins og senda síðan, eins og merkjameðferðaraðilar, niðurstöðu vinnu sinnar til baka í gegnum ónefnda pípu. Framkvæmd JavaScript kóða er tryggð með því að nota vél sem er þróuð af Google V8 (Auk þess er Microsoft að þróa útgáfu af Node.js með Chakra-Core vélinni).

Í kjarna sínum er Node.js svipað ramma Perl AnyEvent, Ruby viðburðavél, Python Twisted и framkvæmd atburðir í Tcl, en atburðalykkjan í Node.js er falin þróunaraðilanum og líkist meðhöndlun atburða í vefforriti sem keyrir í vafra. Þegar þú skrifar forrit fyrir node.js er nauðsynlegt að taka tillit til sérstakra atburðadrifna forritunar, til dæmis, í stað þess að gera “var result = db.query(“select..”);” með bið eftir verklokum og síðari úrvinnslu á niðurstöðum notar Node.js meginregluna um ósamstillta framkvæmd, þ.e. Kóðanum er umbreytt í „db.query(“velja..”, fall (niðurstaða) {niðurstöðuvinnsla});“, þar sem stjórnun fer strax í frekari kóða og niðurstöður fyrirspurnarinnar verða unnar þegar gögn berast. .

Heimild: opennet.ru

Bæta við athugasemd