Sakin JavaScript na gefen uwar garken Node.js 13.0

Akwai saki Node. Js 13.0, dandamali don gudanar da aikace-aikacen cibiyar sadarwa a JavaScript. A lokaci guda, an kammala tabbatar da reshe na baya na Node.js 12.x, wanda aka canjawa wuri zuwa nau'in sakin tallafi na dogon lokaci, sabuntawa ga wanda aka saki na shekaru 4. Taimako ga reshen LTS na baya na Node.js 10.0 zai kasance har zuwa Afrilu 2021, da goyan baya ga reshen LTS na ƙarshe 8.0 har zuwa Janairu 2020.

Main ingantawa:

  • An sabunta injin V8 zuwa sigar 7.8, wanda ke amfani da sababbin fasahohin haɓaka aikin aiki, inganta haɓaka abubuwa, rage yawan ƙwaƙwalwar ajiya, da rage lokacin shirye-shiryen don aiwatar da WebAssembly;
  • Cikakkun tallafi don haɗin kai na duniya da Unicode na tushen laburare ana kunna ta ta tsohuwa ICU (Ƙasashen Duniya don Unicode), wanda ke ba masu haɓaka damar rubuta lamba m aiki tare da harsuna daban-daban da yankuna. Cikakken-icu module yanzu an shigar da shi ta tsohuwa;
  • API ya daidaita Ma'aikata Zaren, yarda ƙirƙirar madaukai masu zaren taron. Aiwatar ta dogara ne akan tsarin ma'aikata_threads, wanda ke ba ku damar gudanar da lambar JavaScript a cikin zaren layi ɗaya da yawa. Taimakon tsayayye na API ɗin Ma'aikata kuma an mayar da shi zuwa reshen LTS na Node.js 12.x;
  • Abubuwan da ake buƙata don dandamali an ƙara su. Don taro yanzu da ake bukata aƙalla macOS 10.11 (yana buƙatar Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Ingantattun tallafi ga Python 3. Idan tsarin yana da Python 2 da Python 3, Python 2 har yanzu ana amfani da shi, amma an ƙara ikon yin gini lokacin da Python 3 kawai aka shigar akan tsarin;
  • An cire tsohon aiwatar da ma'anar HTTP ("-http-parser=legacy"). Cire ko yanke kira da kaddarorin FSWatcher.prototype.start (), ChildProcess._channel, hanyar buɗe () a cikin abubuwan ReadStream da WriteStream, request.connection, martani.connection, module.createRequireFromPath ();
  • Masu bi ya fito sabunta 13.0.1, wanda yayi saurin gyara kwari da yawa. Musamman, an warware matsalar tare da npm 6.12.0 da ke nuna gargaɗi game da amfani da sigar da ba ta da tallafi.

Bari mu tuna cewa ana iya amfani da dandalin Node.js duka don goyon bayan gefen uwar garke na aikace-aikacen yanar gizo da kuma ƙirƙirar shirye-shiryen abokin ciniki na yau da kullun da uwar garken. Don faɗaɗa ayyukan aikace-aikace don Node.js, adadi mai yawa na tarin kayayyaki, wanda zaku iya samun kayayyaki tare da aiwatar da sabar da abokan ciniki HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, kayayyaki don haɗawa tare da tsarin yanar gizo daban-daban, WebSocket da Ajax handlers, masu haɗawa zuwa DBMS (MySQL, PostgreSQL, SQLite). , MongoDB), injunan samfuri, injunan CSS, aiwatar da algorithms cryptographic da tsarin izini (OAuth), masu fassarori na XML.

Don ɗaukar manyan lambobi na buƙatun layi ɗaya, Node.js yana amfani da samfurin aiwatar da lambar asynchronous dangane da rashin toshewa da sarrafa taron da ma'anar masu karɓar kira. Hanyoyin da aka goyan baya don haɗin haɗin kai sun haɗa da epoll, kqueue, /dev/poll, kuma zaɓi. Ana amfani da ɗakin karatu don haɓaka haɗin kai libuv, wanda yake shi ne babban tsari kwata-kwata akan tsarin Unix da sama da IOCP akan Windows. Ana amfani da ɗakin karatu don ƙirƙirar tafkin zare liyyo, don yin tambayoyin DNS a cikin yanayin da ba tare da toshewa an haɗa shi c-zo. Ana aiwatar da duk kiran tsarin da ke haifar da toshewa a cikin tafkin zaren sannan, kamar masu sarrafa sigina, su wuce sakamakon aikinsu ta bututun da ba a bayyana sunansa ba. Ana tabbatar da aiwatar da lambar JavaScript ta hanyar amfani da injin da Google ya ƙera V8 (Bugu da ƙari, Microsoft yana haɓaka sigar Node.js tare da injin Chakra-Core).

A ainihin sa, Node.js yayi kama da tsarin aiki Perl AnyEvent, Ruby Event Machine, Python Twisted и aiwatarwa abubuwan da ke faruwa a cikin Tcl, amma madauki na taron a Node.js yana ɓoye daga mai haɓakawa kuma yayi kama da gudanar da taron a cikin aikace-aikacen gidan yanar gizo da ke gudana a cikin mai bincike. Lokacin rubuta aikace-aikace don node.js, ya zama dole a yi la'akari da ƙayyadaddun shirye-shiryen da aka gudanar, alal misali, maimakon yin "var result = db.query("zaɓi ..");" tare da jiran kammala aikin da aiki na gaba na sakamakon, Node.js yana amfani da ka'idar asynchronous kisa, watau. An canza lambar zuwa "db.query ("zaɓi ...", aiki (sakamakon) {sakamakon sarrafawa});", wanda sarrafawa zai wuce nan da nan zuwa ƙarin lambar, kuma za a sarrafa sakamakon tambaya yayin da bayanai suka isa. .

source: budenet.ru

Add a comment