Node.js 16.0، چې په جاواسکریپټ کې د شبکې غوښتنلیکونو چلولو لپاره یو پلیټ فارم دی، خپور شوی. Node.js 16.0 د اوږدمهاله ملاتړ څانګې ته ټاکل شوی، مګر دا حالت به د ثبات وروسته د اکتوبر تر میاشتې پورې نه ټاکل کیږي. د Node.js 16.0 ملاتړ به د اپریل 2023 پورې دوام وکړي. د پخوانۍ LTS څانګې، Node.js 14.0 لپاره ملاتړ به د اپریل 2023 پورې دوام وکړي، او د پخوانۍ LTS څانګې، 12.0 لپاره، د اپریل 2022 پورې. د 10.0 LTS څانګې ساتنه به په 10 ورځو کې پای ته ورسیږي.
اصلي پرمختګونه:
- د V8 انجن د 9.0 نسخې ته تازه شوی دی (Node.js 15 کارول شوی نسخه 8.6)، کوم چې Node.js 16 ته وړتیا ورکوي چې د منظم اظهارونو لپاره د "انډیسیس" ملکیت (د میچ ګروپونو د پیل او پای موقعیتونو سره د صف په شمول)، Atomics.waitAsync میتود (د Atomics.wait غیر متزلزل نسخه)، او په لوړ پوړ ماډلونو کې د انتظار کلیدي کلمې لپاره ملاتړ په څیر ځانګړتیاوې پلي کړي. د فعالیت زنګونه اوس ګړندي دي کله چې د پاس شوي دلیلونو شمیر په فعالیت کې تعریف شوي پیرامیټرو سره سمون نه خوري.
- د ټایمرز پرومیسس API ثبات شوی، د ټایمر دندو یو بدیل سیټ چمتو کوي چې د پرومیسس شیان بیرته راولي، د util.promisify() کارولو اړتیا له منځه وړي. import { setTimeout } from 'timers/promises'; async function run() { await setTimeout(5000); console.log('Hello, World!'); } run();
- د ویب کریپټو API یو تجربوي تطبیق اضافه شوی دی. دا د ویب غوښتنلیک اړخ کې د اساسي کریپټوګرافیک عملیاتو ترسره کولو لپاره ډیزاین شوی، لکه د کریپټوګرافیک هشونو سمبالول، د ډیجیټل لاسلیکونو تولید او تصدیق کول، د مختلفو کوډ کولو میتودونو په کارولو سره د معلوماتو کوډ کول او کوډ کول، او د کریپټوګرافیکي پلوه خوندي تصادفي شمیرې رامینځته کول. API کې د کیلي تولید او مدیریت لپاره دندې هم شاملې دي.
- N-API (د اضافه کولو پراختیا API) نسخه 8 ته تازه شوی دی.
- د NPM پیکج مدیر 7.10 نوي نسخې ته لیږد بشپړ شوی دی.
- د ویب API AbortController پر بنسټ د AbortController ټولګي پلي کول او په ټاکل شویو وعدو پر بنسټ APIs کې د سیګنالونو لغوه کولو ته اجازه ورکول، ثبات موندلی دی.
- د سرچینې نقشې بڼې د دریمې نسخې لپاره ملاتړ، چې د اصلي سرچینې کوډ ته د تولید شوي، پروسس شوي، یا بسته شوي ماډلونو نقشه کولو لپاره کارول کیږي، ثبات موندلی دی.
- د میراثي ویب APIs سره د مطابقت لپاره، buffer.atob(data) او buffer.btoa(data) میتودونه اضافه شوي دي.
- د M1 ARM چپ سره سمبال د نوي ایپل وسیلو لپاره جوړونه پیل شوي دي.
- په پلیټریټ کې Linux د کمپائلر نسخې اړتیاوې د GCC 8.3 ته لوړې شوې دي.
د یادونې په توګه، د Node.js پلیټ فارم د ویب غوښتنلیکونو د سرور اړخ ملاتړ او د معیاري مراجعینو او سرور اړخ شبکې پروګرامونو جوړولو لپاره کارول کیدی شي. د Node.js غوښتنلیکونو فعالیت پراخولو لپاره، د ماډلونو یوه لویه ټولګه چمتو شوې، پشمول د پلي کولو سره. سرورونه او د HTTP، SMTP، XMPP، DNS، FTP، IMAP، POP3 مراجعین، د مختلفو ویب چوکاټونو سره د ادغام لپاره ماډلونه، د ویب ساکټ او اجاکس هینډلرونه، د DBMS سره نښلونکي (MySQL، PostgreSQL، SQLite، MongoDB)، د ټیمپلیټ انجنونه، CSS انجنونه، د کریپټوګرافیک الګوریتمونو او د واک ورکولو سیسټمونو (OAuth) پلي کول، XML پارسرونه.
د ډیرو موازي غوښتنو د اداره کولو لپاره، Node.js د غیر بلاک کولو پیښو پروسس کولو او کال بیک هینډلرونو پراساس د غیر متقابل کوډ اجرا کولو ماډل کاروي. د ملاتړ شوي اتصال ملټي پلیکسینګ میتودونو کې epoll، kqueue، /dev/poll، او select شامل دي. د libuv کتابتون، کوم چې د یونیکس سیسټمونو کې د libev او په IOCP کې د IOCP سوپر سیټ دی، د اتصال ملټي پلیکسینګ لپاره کارول کیږي. Windowsد libeio کتابتون د تار پول جوړولو لپاره کارول کیږي، او c-ares د غیر بلاک کولو حالت کې د DNS پوښتنو ترسره کولو لپاره مدغم شوی. د بلاک کولو سیسټم ټولې زنګونه د تار پول دننه اجرا کیږي او بیا، د سیګنال هینډلرونو په څیر، خپلې پایلې د بې نومه پایپ له لارې بیرته راګرځوي. د جاواسکریپټ اجرا کول د ګوګل د V8 انجن لخوا چمتو کیږي (مایکروسافټ د چاکرا کور انجن سره د Node.js یو ډول هم رامینځته کوي).
په اصلي برخه کې، Node.js د Perl AnyEvent، Ruby Event Machine، Python Twisted چوکاټونو او په Tcl کې د پیښو پلي کولو ته ورته دی، مګر په Node.js کې د پیښې لوپ د پراختیا کونکي څخه پټ دی او په ویب غوښتنلیک کې د پیښې پروسس کولو سره ورته دی. په براوزر کې چلول. کله چې د node.js لپاره غوښتنلیکونه ولیکئ، نو اړینه ده چې د پیښو لخوا پرمخ وړل شوي پروګرامونو ځانګړتیاوې په پام کې ونیسئ، د بیلګې په توګه، د "var result = db.query" ("select..") کولو پرځای. د کار بشپړیدو او د پایلو وروسته پروسس کولو ته انتظار کولو سره ، Node.js د غیر متناسب اجرا کولو اصول کاروي ، د بیلګې په توګه. کوډ په "db.query("select.." کې بدل شوی، فنکشن (نتیجه) {نتیجې پروسس کول}؛"، په کوم کې چې کنټرول به سمدلاسه نور کوډ ته انتقال شي، او د پوښتنې پایله به پروسس شي کله چې ډاټا راشي.
دا هم د یادونې وړ ده چې ډینو، یو شرکت چې د نوډ. جے ایس جوړونکي لخوا د راتلونکي نسل ډینو پلیټ فارم رامینځته کولو لپاره تاسیس شوی، د 4.9 ملیون ډالرو تمویل ترلاسه کړی. ډینو په هدف کې د نوډ. جے ایس سره ورته دی، مګر موخه یې د نوډ. جے ایس په جوړښت کې موجود مفکوروي نیمګړتیاوې حل کول او کاروونکو ته ډیر خوندي چاپیریال چمتو کول دي. دا د یادونې وړ ده چې د ډینو سوداګریز حلونه به په بشپړ ډول د خلاصې سرچینې محصولاتو باندې جوړ شي، او د اوپن کور ماډل، د هغې جلا تادیه شوي فعالیت سره، د ډینو پلیټ فارم لپاره د نه منلو وړ ګڼل کیږي.
سرچینه: opennet.ru
