JavaScript پليٽ فارم Node.js 22.0.0 دستياب آهي

Node.js 22.0 جاري ڪيو ويو، جاوا اسڪرپٽ ۾ نيٽ ورڪ ايپليڪيشنن کي هلائڻ لاء هڪ پليٽ فارم. Node.js 22.0 هڪ ڊگهي مدت جي سپورٽ شاخ جي طور تي درجه بندي ڪئي وئي آهي، پر اها حيثيت صرف آڪٽوبر ۾ مقرر ڪئي ويندي، استحڪام کان پوء. Node.js 22.x 30 اپريل 2027 تائين سپورٽ ڪئي ويندي. Node.js 20.x جي پوئين LTS برانچ جي سار سنڀال اپريل 2026 تائين ٿيندي، ۽ آخري LTS برانچ 18.x کان اڳ جو سال اپريل 2025 تائين. Node.js 21.x جي اسٽيجنگ برانچ جون 1، 2024 تي بند ڪئي ويندي.

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

  • V8 انجڻ کي ورزن 12.4 ۾ اپڊيٽ ڪيو ويو آهي، جيڪو Chromium 124 ۾ استعمال ڪيو ويو آهي. Node.js 21 برانچ جي مقابلي ۾ تبديلين ۾، جيڪا V8 11.8 انجڻ استعمال ڪئي هئي)، اهو نوٽ ڪيو ويو آهي:
    • WasmGC جي توسيع لاءِ سپورٽ، جيڪا پروگرامنگ ٻولين ۾ لکيل پروگرامن جي پورٽنگ کي آسان بڻائي ٿي جيڪي ڪچرو ڪليڪٽر (Kotlin، PHP، Java، وغيره) کي WebAssembly استعمال ڪن ٿيون. WasmGC نئين قسم جي جوڙجڪ ۽ صفن کي شامل ڪري ٿو جيڪي استعمال ڪري سگھن ٿيون غير لڪير ياداشت مختص ڪرڻ.
    • Array.fromAsync() طريقو لاءِ سپورٽ، جيڪو هڪ آري شئي جو هڪ نئون مثال واپس ڪري ٿو asynchronously هڪ array-like، iterable يا async iterable اعتراض مان نقل ڪيو ويو آهي.
    • Iterator طريقن لاءِ سپورٽ جيئن ته .map، .filter، .find، .take، .drop، .forEach ۽ .reduce.
    • ھڪڙي سيٽ اعتراض لاءِ سپورٽ جيڪا قدرن جو مجموعو بيان ڪري ٿي ۽ طريقا پيش ڪري ٿي جيڪي عام سيٽ عملن کي لاڳو ڪن ٿا، جھڙوڪ چونڪ، يونين، فرق، ۽ اضافي.
  • Maglev جي اصلاح ڪرڻ واري JIT ڪمپلر کي ڊفالٽ طور تي فعال ڪيو ويو آهي، جنهن جو مقصد تيزيءَ سان استعمال ٿيندڙ جاوا اسڪرپٽ ڪوڊ لاءِ اعليٰ ڪارڪردگي وارو مشين ڪوڊ تيار ڪرڻ آهي. Maglev کي فعال ڪرڻ سان مختصر مدت واري CLI ايپليڪيشنن کي خاص طور تي تيز ڪري سگھي ٿو جيڪي ڊگھي مدي وارا آپريشن نه ڪندا آھن، مثال طور، Jetstrea ٽيسٽ کي مڪمل ڪرڻ جو وقت 7.5٪ گھٽايو ويو آھي، ۽ اسپيڊ ميٽر ٽيسٽ 5٪ گھٽجي ويو آھي.
  • اسٽريمز سان ڪم تيز ڪيو ويو آهي هاءِ واٽر مارڪ آپشن جي قدر کي وڌائي 16 KB کان 65 KB تائين (جي حد تائين بيان ڪري ٿو رڪارڊنگ بفر ٿيل آهي). تبديلي جي نتيجي ۾ ميموري واپرائڻ ۾ اضافو ٿيو، تنهنڪري محدود RAM تي هلائڻ لاءِ ڊزائين ڪيل ايپليڪيشنن کي ڪال ذريعي پراڻي قدر ڏانهن موٽڻ جي ضرورت پوندي setDefaultHighWaterMark().
  • AbortSignal Instantiation کي وڌيڪ ڪارائتو بنائڻ سان fetch() ۽ ٽيسٽ رنر APIs جي بهتر ڪارڪردگي. فائل سسٽم سان هم وقت سازي ڪم سان لاڳاپيل APIs جي ڪارڪردگي بهتر ڪئي وئي آهي.
  • هڪ تجرباتي خصوصيت مهيا ڪئي وئي آهي "require()" ڪال استعمال ڪرڻ لاءِ JavaScript ESM ماڊلز (ECMAScript Modules) کي هم وقت سازي موڊ ۾ لوڊ ڪرڻ لاءِ. ESM ماڊلز برائوزرن ۾ استعمال ٿيندا آھن ۽ Node.js لاءِ مخصوص CommonJS ماڊلز کي تبديل ڪندا آھن. "require()" ذريعي لوڊ ڪرڻ لاء، ESM ماڊل کي هم وقت سازي موڊ ۾ عمل ڪيو وڃي (مٿين سطح تي انتظار ڪرڻ کان سواء). سپورٽ "--experimental-require-module" پرچم ذريعي فعال ڪئي وئي آهي.
  • "--run" ڪمانڊ استعمال ڪندي package.json فائل ۾ بيان ڪيل اسڪرپٽ کي هلائڻ جي تجرباتي صلاحيت شامل ڪئي وئي "
  • "node -watch" ڪمانڊ کي مستحڪم ڪيٽيگري ۾ منتقل ڪيو ويو آهي واچ موڊ جي عمل سان، جيڪو يقيني بڻائي ٿو ته اهو عمل ٻيهر شروع ٿئي ٿو جڏهن درآمد ٿيل فائل تبديل ٿئي ٿي (مثال طور، جيڪڏهن "node -watch index.js" تي عمل ڪيو ويو آهي، عمل خودڪار طريقي سان ٻيهر شروع ڪيو ويندو جڏهن index.js تبديل ٿي ويندي).
  • WebSocket API جي مقامي عمل کي مستحڪم ڪيو ويو آهي، WebSocket کي ڪلائنٽ موڊ ۾ استعمال ڪرڻ جي اجازت ڏني وئي بغير اضافي انحصار کي نصب ڪرڻ جي.
  • نيويگيٽر API لاءِ جزوي سپورٽ شامل ڪئي وئي.
  • Webstreams API شامل ڪيو آهي سپورٽ ڊيفليٽ-راڪ ڪمپريشن فارميٽ لاءِ.
  • شامل ڪيو ويو glob ۽ globSync ڪمن کي node:fsmodule لاءِ پيٽرن جي ميلاپ لاءِ فائل جي رستن.
  • غلط ترتيب ڏنل IPv6 اسٽيڪ جي بهتر سنڀال. IPv6 آپريشن سان مسئلن جي صورت ۾ جلدي رول بيڪ لاءِ Happy Eyeballs الگورٿم لاڳو ڪيو ويو.
  • util API کي ختم ڪيو ويو آهي.
  • اپڊيٽ ٿيل انحصار ورزن: npm 10.5.1، libuv 1.48.0، simdutf 5.2.3، c-ares 1.28.1، zlib 1.3.0.1-motley-24c07df، simdjson to 3.8.0، ada.2.7.7i ۽ un.6.6.0i. .

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

متوازي درخواستن جي وڏي تعداد کي سنڀالڻ لاءِ، Node.js غير بلاڪ ڪرڻ واري واقعي جي پروسيسنگ ۽ ڪال بڪ هينڊلر جي وضاحت ڪرڻ جي بنياد تي هڪ اسنڪرونس ڪوڊ ايگزيڪيوشن ماڊل استعمال ڪري ٿو. ملٽي پلڪسنگ ڪنيڪشن لاءِ سپورٽ ٿيل طريقن ۾ شامل آهن ايپول، ڪڪيو، /dev/poll، ۽ چونڊيو. ملٽي پلڪس ڪنيڪشن لاءِ، libuv لائبريري استعمال ٿئي ٿي، جيڪا يونڪس سسٽم تي libev ۽ ونڊوز تي IOCP ۾ اضافو آهي. لائبيو لائبريري ٿريڊ پول ٺاھڻ لاءِ استعمال ڪئي ويندي آھي، ۽ سي-آئرز غير بلاڪنگ موڊ ۾ DNS سوالن کي انجام ڏيڻ لاءِ ضم ٿيل آھي. سڀئي سسٽم ڪالون جيڪي بلاڪ ڪرڻ جو سبب بڻجن ٿيون ٿريڊ پول جي اندر ۽ پوءِ، سگنل هينڊلر وانگر، انهن جي ڪم جو نتيجو واپس هڪ نامعلوم پائپ ذريعي منتقل ڪيو وڃي ٿو.

جاوا اسڪرپٽ ڪوڊ جي عمل کي يقيني بڻايو وڃي ٿو گوگل پاران تيار ڪيل V8 انجڻ جي استعمال سان (ان کان علاوه، Microsoft چڪر-ڪور انجڻ سان Node.js جو هڪ نسخو ٺاهي رهيو آهي). ان جي بنيادي طور تي، Node.js ساڳيو آهي Perl AnyEvent، Ruby Event Machine، Python Twisted فريم ورڪ ۽ Tcl ۾ واقعن جي عمل درآمد، پر Node.js ۾ واقع ايونٽ لوپ ڊولپر کان لڪيل آهي ۽ ويب ايپليڪيشن ۾ ايونٽ پروسيسنگ وانگر آهي. برائوزر ۾ هلندڙ.

جو ذريعو: opennet.ru

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