سرور طرف جاوا اسڪرپٽ پليٽ فارم Node.js 20.0 دستياب آهي

Node.js 20.0 جو رليز، جاوا اسڪرپٽ ۾ نيٽ ورڪ ايپليڪيشنن تي عمل ڪرڻ لاء هڪ پليٽ فارم، ٿي چڪو آهي. Node.js 20.0 ڊگھي سپورٽ برانچ کي تفويض ڪيو ويو آھي، پر اھو اسٽيٽس آڪٽوبر تائين، استحڪام کان پوء تفويض نه ڪيو ويندو. Node.js 20.x 30 اپريل 2026 تائين سپورٽ ڪئي ويندي. پوئين Node.js 18.x LTS برانچ جي سار سنڀال اپريل 2025 تائين ٿيندي، ۽ پوئين 16.x LTS برانچ سيپٽمبر 2023 تائين. 14.x LTS برانچ 30 اپريل تي ختم ڪئي ويندي، ۽ Node.js 19.x عبوري شاخ جون 1 تي.

بنيادي سڌارا:

  • V8 انجڻ کي ورزن 11.3 ۾ اپڊيٽ ڪيو ويو آهي، جيڪو Chromium 113 ۾ استعمال ٿئي ٿو. Node.js 19 برانچ جي مقابلي ۾ تبديلين جو، جيڪو Chromium 107 انجڻ استعمال ڪيو، String.prototype.isWellFormed ۽ toWellFormed افعال، Array.prototype. ۽ TypedArray.prototype طريقا Array ۽ TypedArray شين جي تبديلي تي ڪاپي سان ڪم ڪرڻ لاءِ، RegExp ۾ "v" پرچم، ArrayBuffer کي ريزائز ڪرڻ ۽ SharedArrayBuffer جي سائيز کي وڌائڻ لاءِ سپورٽ، WebAssembly ۾ tail-call.
  • هڪ تجرباتي پرمشن ماڊل ميڪانيزم تجويز ڪيو ويو آهي جيڪو توهان کي اجازت ڏئي ٿو ته عمل دوران ڪجهه وسيلن تائين رسائي کي محدود ڪري. اجازت ماڊل سپورٽ کي فعال ڪيو ويو آهي وضاحت ڪندي "--experimental-permission" پرچم کي هلائڻ دوران. شروعاتي عمل ۾، اختيارن کي تجويز ڪيو ويو ته لکڻ (--اجازت-fs-لکڻ) ۽ پڙهڻ (--اجازت-fs-پڙھڻ) FS جي مخصوص حصن تائين رسائي کي محدود ڪرڻ، ٻارن جي عملن (--اجازت-ٻار-عمل) , add-ons (-no-addons) ۽ موضوع (--allow-worker). مثال طور، /tmp ڊاريڪٽري ۾ لکڻ ۽ /home/index.js فائل پڙهڻ جي اجازت ڏيڻ لاءِ، توھان وضاحت ڪري سگھو ٿا: node --experimental-permission --allow-fs-write=/tmp/ --allow-fs-read =/home/index.js index.js

    رسائي چيڪ ڪرڻ لاءِ، تجويز ڪجي ٿي ته پروسيس.permission.has() طريقو استعمال ڪيو وڃي، مثال طور، "process.permission.has('fs.write',"/tmp/test").

  • ECMAScript خارجي ماڊلز (ESMs) لاءِ هينڊلر جيڪي "--experimental-loader" آپشن ذريعي لوڊ ڪيا ويا آهن، انهن کي هاڻي هڪ الڳ ٿريڊ ۾ لڳايو ويو آهي، مکيه ٿريڊ کان الڳ ڪري، جيڪو ايپليڪيشن ڪوڊ ۽ لوڊ ٿيل ESM ماڊلز جي چونڪ کي ختم ڪري ٿو. برائوزرن سان ملندڙ جلندڙ، import.meta.resolve() طريقو هاڻي هم وقت سازيءَ سان عمل ۾ اچي ٿو جڏهن ڪنهن ايپليڪيشن جي اندر سڏجي ٿو. Node.js جي ايندڙ شاخن مان هڪ ۾، ESM لوڊشيڊنگ سپورٽ کي مستحڪم خصوصيتن جي درجي ۾ منتقل ڪرڻ جي منصوبابندي ڪئي وئي آهي.
  • node:test (test_runner) ماڊل، جاوا اسڪرپٽ ٽيسٽ ٺاهڻ ۽ هلائڻ لاءِ ٺهيل آهي جيڪي نتيجا ڏين ٿا TAP (Test Anything Protocol) فارميٽ ۾، اسٽيبل تي منتقل ڪيو ويو آهي.
  • هڪ الڳ ڪارڪردگي ٽيم ٺاهي وئي آهي، جيڪا نئين برانچ جي تياري ۾، مختلف رن ٽائم حصن کي تيز ڪرڻ لاءِ ڪم ڪيو آهي، جنهن ۾ URL parsing، fetch() ۽ EventTarget شامل آهن. مثال طور، EventTarget کي شروع ڪرڻ جي اوور هيڊ کي اڌ ڪيو ويو آهي، URL.canParse() طريقي جي ڪارڪردگي کي تمام گهڻو بهتر ڪيو ويو آهي، ۽ ٽائمرز جي ڪارڪردگي بهتر ڪئي وئي آهي. ان کان علاوه، هڪ اعلي ڪارڪردگي URL parser جي ڇڏڻ - Ada 2.0، C ++ ۾ لکيل، ٺهيل ۾ شامل آهي.
  • هڪ واحد قابل عمل فائل (SEA، Single Executable Applications) جي صورت ۾ ايپليڪيشنن کي پهچائڻ لاءِ تجرباتي خصوصيت جي ترقي جاري آهي. هڪ ايگزيڪيوٽيبل ٺاهڻ لاءِ هاڻي JSON ترتيب واري فائل مان ٺاهيل بلب کي متبادل ڪرڻ جي ضرورت آهي (جاوا اسڪرپٽ فائل کي متبادل ڪرڻ بدران).
  • بهتر ڪيل ويب Crypto API مطابقت ٻين منصوبن جي عملن سان.
  • ARM64 سسٽم تي ونڊوز لاءِ سرڪاري سپورٽ شامل ڪئي وئي.
  • WASI (WebAssembly System Interface) جي لڳاتار سپورٽ اسٽينڊ اڪيلون WebAssembly ايپليڪيشن ٺاهڻ لاءِ. WASI سپورٽ کي فعال ڪرڻ لاءِ خاص ڪمانڊ لائن پرچم جي وضاحت ڪرڻ جي ضرورت کي ختم ڪيو.

Node.js پليٽ فارم ويب ايپليڪيشنن جي سرور جي سار سنڀال ۽ باقاعده ڪلائنٽ ۽ سرور نيٽ ورڪ پروگرام ٺاهڻ لاءِ استعمال ڪري سگھجي ٿو. Node.js لاءِ ايپليڪيشنن جي ڪارڪردگي کي وڌائڻ لاءِ، ماڊلز جو هڪ وڏو مجموعو تيار ڪيو ويو آهي، جنهن ۾ توهان HTTP، SMTP، XMPP، DNS، FTP، IMAP، POP3 سرورز ۽ ڪلائنٽ، انضمام لاءِ ماڊلز جي نفاذ سان ماڊلز ڳولي سگهو ٿا. مختلف ويب فريم ورڪ سان، WebSocket ۽ Ajax handlers، DBMS connectors (MySQL، PostgreSQL، SQLite، MongoDB)، ٽيمپليٽنگ انجڻ، CSS انجڻ، لاڳو ڪرڻ وارا crypto algorithms ۽ Authorization Systems (OAuth)، XML parsers.

وڏي تعداد ۾ متوازي درخواستن جي پروسيسنگ کي يقيني بڻائڻ لاءِ، Node.js استعمال ڪري ٿو هڪ غير بلاڪنگ ايونٽ هينڊلنگ ۽ ڪال بڪ هينڊلر جي تعريف جي بنياد تي هڪ اسيڪرونس ڪوڊ ايگزيڪيوشن ماڊل. ملٽي پلڪسنگ ڪنيڪشن لاءِ سپورٽ ٿيل طريقا آهن ايپول، ڪڪيو، /dev/poll، ۽ چونڊيو. ڪنيڪشن ملٽي پلڪسنگ لاءِ، libuv لائبريري استعمال ٿئي ٿي، جيڪا يونڪس سسٽم تي libev ۽ ونڊوز تي IOCP لاءِ هڪ اضافو آهي. لائبيو لائبريري ٿريڊ پول ٺاهڻ لاءِ استعمال ڪئي ويندي آهي، ۽ سي-آئرز غير بلاڪنگ موڊ ۾ DNS سوالن کي انجام ڏيڻ لاءِ ضم ٿيل آهي. سڀئي سسٽم ڪالون جيڪي بلاڪ ڪرڻ جو سبب بڻجن ٿيون ٿريڊ پول جي اندر ۽ پوءِ، سگنل هينڊلر وانگر، انهن جي ڪم جو نتيجو واپس هڪ نامعلوم پائپ (پائپ) ذريعي منتقل ڪيو وڃي ٿو. جاوا اسڪرپٽ ڪوڊ جي عمل کي گوگل پاران تيار ڪيل V8 انجڻ جي استعمال ذريعي مهيا ڪيو ويو آهي (ان کان علاوه، Microsoft Chakra-Core انجڻ سان 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.."، function (نتيجو) {نتيجو پروسيسنگ}) ۾ تبديل ٿي ويو آهي، جنهن ۾ ڪنٽرول فوري طور تي وڌيڪ ڪوڊ ڏانهن منتقل ڪيو ويندو، ۽ سوال جو نتيجو پروسيس ڪيو ويندو جيئن ڊيٽا اچي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو