የአገልጋይ ጎን JavaScript Node.js 16.0 ልቀት

Node.js 16.0 በጃቫ ስክሪፕት የኔትወርክ አፕሊኬሽኖችን ለማስኬድ የሚያስችል መድረክ ተለቀቀ። Node.js 16.0 እንደ የረጅም ጊዜ የድጋፍ ቅርንጫፍ ተመድቧል፣ ነገር ግን ይህ ሁኔታ ከተረጋጋ በኋላ በጥቅምት ወር ብቻ ይመደባል። Node.js 16.0 እስከ ኤፕሪል 2023 ድረስ ይደገፋል። የNode.js 14.0 የቀድሞ LTS ቅርንጫፍ ጥገና እስከ ኤፕሪል 2023 እና ካለፈው LTS ቅርንጫፍ 12.0 በፊት ባለው አመት እስከ ኤፕሪል 2022 ድረስ ይቆያል። የ10.0 LTS ቅርንጫፍ ድጋፍ በ10 ቀናት ውስጥ ይቋረጣል።

ዋና ማሻሻያዎች፡-

  • የV8 ኤንጂን ወደ ስሪት 9.0 ተዘምኗል (Node.js 15 የተለቀቀው 8.6 ጥቅም ላይ የዋለ) እንደ “ኢንዴክሶች” ንብረት ያሉ ባህሪያትን ለመደበኛ አገላለጾች መተግበር ያስችላል (የተዛማጆች ቡድኖች መነሻ እና መድረሻ ቦታ ያለው ድርድር ያካትታል) , የአቶሚክስ ዘዴ በ Node.js 16 .waitAsync (Async version of Atomics.wait)፣ በከፍተኛ ደረጃ ሞጁሎች ውስጥ የመጠባበቅ ቁልፍ ቃል ለመጠቀም ድጋፍ። የተግባር ጥሪዎች በተግባሩ ውስጥ ከተገለጹት ግቤቶች ጋር በማይዛመድባቸው ሁኔታዎች ውስጥ የተግባር ጥሪዎች ተፋጥነዋል።
  • የሰዓት ቆጣሪዎች ተስፋዎች ኤፒአይ ተረጋግቷል፣ የሰዓት ቆጣሪዎች ጋር አብሮ ለመስራት ተለዋጭ የተግባር ስብስብ በማቅረብ ተስፋ ሰጪ ነገሮችን እንደ ውፅዓት ይመልሱ፣ ይህም util.promisify() የመጠቀምን አስፈላጊነት ያስወግዳል። {setTimeout}ን ከ 'ሰዓት ቆጣሪዎች/ተስፋዎች' አስመጣ፤ የማመሳሰል ተግባር አሂድ () ( setTimeout ጠብቅ (5000); console.log ('ሄሎ, ዓለም!'); } አሂድ ();
  • የዌብ ክሪፕቶ ኤፒአይ የሙከራ አተገባበር ታክሏል፣ ከድር አፕሊኬሽኖች ጎን መሰረታዊ ክሪፕቶግራፊያዊ ስራዎችን ለመስራት፣እንደ ክሪፕቶግራፊክ ሃሽ ማቀናበር፣ ዲጂታል ፊርማዎችን ማመንጨት እና ማረጋገጥ፣ የተለያዩ የምስጠራ ዘዴዎችን በመጠቀም መረጃን በኮድ ማስቀመጥ እና መፍታት እና ምስጢራዊ በሆነ መልኩ ደህንነቱ የተጠበቀ መፍጠር። የዘፈቀደ ቁጥሮች. ኤፒአይ ቁልፎችን የማመንጨት እና የማስተዳደር ተግባራትን ያቀርባል።
  • N-API (ተጨማሪዎችን ለማዘጋጀት ኤፒአይ) ወደ ስሪት 8 ዘምኗል።
  • ወደ አዲስ የተለቀቀው የጥቅል አስተዳዳሪ NPM 7.10 ሽግግር ተደርጓል።
  • በ AbortController Web API ላይ የተመሰረተ እና በተመረጡ ቃል-የተመሰረቱ ኤፒአይዎች ውስጥ ምልክቶችን ለመሰረዝ የሚፈቅደው የAbortController ክፍል ትግበራን አረጋጋ።
  • የመነጩ፣ የተቀነባበሩ ወይም የታሸጉ ሞጁሎችን ከመጀመሪያው የምንጭ ኮድ ጋር ለማነጻጸር የሚያገለግለው ለሦስተኛው የምንጭ ካርታ ቅርጸት ድጋፍ ተረጋግቷል።
  • ከድሮው የድር ኤፒአይዎች ጋር ተኳሃኝነት ለማግኘት የ buffer.atob(ዳታ) እና buffer.btoa(ውሂብ) ዘዴዎች ተጨምረዋል።
  • የ M1 ARM ቺፕ የተገጠመላቸው ለአዳዲስ የአፕል መሳሪያዎች ስብሰባዎች መፈጠር ተጀምሯል.
  • በሊኑክስ መድረክ ላይ፣ የአቀናባሪው ስሪት መስፈርቶች ወደ GCC 8.3 ተደርገዋል።

የ Node.js መድረክ ለድር መተግበሪያዎች አገልጋይ ድጋፍ እና ተራ ደንበኛ እና የአገልጋይ አውታረ መረብ ፕሮግራሞችን ለመፍጠር ሁለቱንም ሊያገለግል እንደሚችል እናስታውስ። ለ Node.js አፕሊኬሽኖች ተግባራዊነትን ለማስፋት ብዙ የሞጁሎች ስብስብ ተዘጋጅቷል ፣ በዚህ ውስጥ የኤችቲቲፒ ፣ SMTP ፣ XMPP ፣ ዲ ኤን ኤስ ፣ ኤፍቲፒ ፣ IMAP ፣ POP3 አገልጋዮች እና ደንበኞች ፣ ውህደቶች ሞጁሎችን ማግኘት ይችላሉ ። በተለያዩ የድር ማዕቀፎች ፣ WebSocket እና Ajax ተቆጣጣሪዎች ፣ ወደ DBMS (MySQL ፣ PostgreSQL ፣ SQLite ፣ MongoDB) ፣ የአብነት ሞተሮች ፣ የ CSS ሞተሮች ፣ የምስጠራ ስልተ ቀመሮች እና የፈቀዳ ስርዓቶች (OAuth) አተገባበር ፣ ኤክስኤምኤል ተንታኞች።

በርካታ ቁጥር ያላቸው ትይዩ ጥያቄዎችን ማስተናገድን ለማረጋገጥ፣ Node.js በማይከለከል የክስተት አያያዝ እና የመልሶ መደወያ ተቆጣጣሪዎች ትርጉም ላይ የተመሰረተ ያልተመሳሰለ ኮድ ማስፈጸሚያ ሞዴልን ይጠቀማል። ብዙ ግንኙነቶችን ለማገናኘት የሚደገፉ ዘዴዎች epoll, kqueue, /dev/poll እና ይምረጡ. ለግንኙነት ማባዛት፣ የሊቡቭ ቤተ-መጽሐፍት ጥቅም ላይ ይውላል፣ ይህም በዩኒክስ ሲስተምስ ላይ ለሊቭቭ እና በዊንዶውስ ላይ IOCP ነው። የሊቤዮ ቤተ-መጽሐፍት የክር ገንዳ ለመፍጠር ይጠቅማል፣ እና c-ares የተዋሃደው የዲ ኤን ኤስ መጠይቆችን በማይታገድ ሁነታ ነው። እገዳን የሚፈጥሩ ሁሉም የስርዓት ጥሪዎች በክር ገንዳ ውስጥ ይከናወናሉ ከዚያም ልክ እንደ ሲግናል ተቆጣጣሪዎች የስራቸውን ውጤት ባልታወቀ ቧንቧ (ቧንቧ) መልሰው ያስተላልፋሉ። የጃቫስክሪፕት ኮድ ማስፈጸሚያ የሚቀርበው በጎግል በተዘጋጀው የቪ8 ኢንጂን በመጠቀም ነው (በተጨማሪም ማይክሮሶፍት የ Node.js ስሪት ከቻክራ-ኮር ሞተር ጋር እያዘጋጀ ነው።)

በዋናው ላይ፣ Node.js ከፐርል AnyEvent፣ Ruby Event Machine፣ Python Twisted frameworks እና Tcl ክስተት አተገባበር ጋር ተመሳሳይ ነው፣ ነገር ግን በ Node.js ውስጥ ያለው የክስተት ምልልስ ከገንቢው የተደበቀ እና በሚሰራ የድር መተግበሪያ ውስጥ የክስተት አያያዝን ይመስላል። በአሳሽ ውስጥ. ለ node.js ማመልከቻዎችን በሚጽፉበት ጊዜ የክስተት-ተኮር ፕሮግራሞችን ልዩ ሁኔታዎች ግምት ውስጥ ማስገባት አለብዎት, ለምሳሌ "var result = db.query("select..") ከማድረግ ይልቅ. ሥራውን ለማጠናቀቅ እና ውጤቱን ለማስኬድ በመጠባበቅ ፣ Node.js ያልተመሳሰለ የአፈፃፀም መርህን ይጠቀማል ፣ ማለትም። ኮዱ ወደ "db.query("ይምረጡ.."፣ ተግባር (ውጤት) {ውጤት ማቀናበር}) ተቀይሯል፣ በዚህ ውስጥ መቆጣጠሪያው ወዲያውኑ ወደ ተጨማሪ ኮድ ያልፋል፣ እና የጥያቄው ውጤት ውሂብ እንደደረሰ ይከናወናል።

በተጨማሪም፣ ቀጣዩን ትውልድ የዴኖ መድረክን ለማዳበር በ Node.js ፈጣሪ የተመሰረተው የዴኖ ኩባንያ 4.9 ሚሊዮን ዶላር ኢንቨስትመንቶችን እንደተቀበለ ልብ ሊባል ይችላል። በዓላማው, Deno ከ Node.js ጋር ተመሳሳይ ነው, ነገር ግን በ Node.js ስነ-ህንፃ ውስጥ የተሰሩ የፅንሰ-ሀሳቦችን ስህተቶች ለማስወገድ እና ለተጠቃሚዎች የበለጠ ደህንነቱ የተጠበቀ አካባቢ ለማቅረብ ይሞክራል. የዴኖ የንግድ ሥራ መፍትሄዎች ሙሉ ለሙሉ ክፍት በሆኑ ምርቶች ላይ እንደሚገነቡ እና የ Open Core ሞዴል በተለየ የሚከፈልበት ተግባር ለዴኖ መድረክ ተቀባይነት እንደሌለው ይገነዘባል.

ምንጭ: opennet.ru

አስተያየት ያክሉ