سرور سائیڈ JavaScript پلیٹ فارم Node.js 14.0 کی ریلیز

واقعہ پیش آیا رہائی نوڈ js 14.0جاوا اسکرپٹ میں نیٹ ورک ایپلیکیشنز چلانے کے لیے پلیٹ فارم۔ Node.js 14.0 ایک طویل مدتی سپورٹ برانچ ہے، لیکن یہ اسٹیٹس صرف اکتوبر میں، استحکام کے بعد تفویض کیا جائے گا۔ Node.js 14.0 کو سپورٹ کیا جائے گا۔ انجام دیا جائے اپریل 2023 تک۔ Node.js 12.0 کی پچھلی LTS برانچ کی دیکھ بھال اپریل 2022 تک رہے گی، اور آخری LTS برانچ 10.0 سے ایک سال اپریل 2021 تک۔ 13.x سٹیجنگ برانچ کے لیے سپورٹ اس سال جون میں ختم ہو جائے گی۔

اہم بہتری:

  • پرواز پر یا بعض واقعات کے وقوع پذیر ہونے پر پیدا کرنے کی صلاحیت کو مستحکم کر دیا گیا ہے۔ تشخیصی رپورٹس، جو ایسے واقعات کو ظاہر کرتے ہیں جو مسائل کی تشخیص میں مدد کرتے ہیں جیسے کریش، کارکردگی میں کمی، میموری کا لیک، بھاری CPU بوجھ، غیر متوقع خرابی آؤٹ پٹ وغیرہ۔
  • تجرباتی API تعاون شامل کیا گیا۔ Async لوکل اسٹوریج AsyncLocalStorage کلاس کے نفاذ کے ساتھ، جسے کال بیک کالز اور وعدوں پر مبنی ہینڈلرز کے ساتھ غیر مطابقت پذیر حالت بنانے کے لیے استعمال کیا جا سکتا ہے۔ AsyncLocalStorage آپ کو ڈیٹا کو ذخیرہ کرنے کی اجازت دیتا ہے جب کہ ویب درخواست پر کارروائی کی جا رہی ہے، جو دوسری زبانوں میں تھریڈ لوکل اسٹوریج کی یاد دلاتی ہے۔
  • لوڈ کرتے وقت تجرباتی خصوصیت کے بارے میں انتباہی پیغام کو ہٹا دیا گیا۔ ماڈیولز ECMAScript 6۔ درآمد اور برآمد کے بیانات کا استعمال کرتے ہوئے منسلک اور برآمد. ایک ہی وقت میں، ESM ماڈیولز کا نفاذ خود تجرباتی رہتا ہے۔
  • V8 انجن کو ورژن میں اپ ڈیٹ کیا گیا۔ 8.1 (1, 2, 3)، جس میں نئی ​​کارکردگی کی اصلاح اور خصوصیات شامل ہیں جیسے کہ نیا منطقی کنکٹنیشن آپریٹر "؟" (اگر بائیں آپرینڈ NULL یا غیر متعینہ ہے، اور اس کے برعکس) دائیں آپرینڈ کو لوٹاتا ہے، "؟." آپریٹر پراپرٹیز یا کالز کے پورے سلسلے کی ایک بار کی جانچ کے لیے (مثال کے طور پر، "db?.user?.name?.length" بغیر ابتدائی جانچ کے)، مقامی ناموں کو حاصل کرنے کے لیے Intl.DisplayName طریقہ وغیرہ۔
  • Streams API کی ایک نظرثانی کی گئی، جس کا مقصد Streams APIs کی مستقل مزاجی کو بہتر بنانا اور Node.js کے بنیادی حصوں کے رویے میں فرق کو ختم کرنا تھا۔ مثال کے طور پر، http.OutgoingMessage کا رویہ stream.Writable کے قریب ہے، اور net.Socket stream.Duplex سے ملتا جلتا ہے۔ AutoDestroy آپشن کو بطور ڈیفالٹ "true" پر سیٹ کیا جاتا ہے، جس کا مطلب ہے کہ تکمیل پر "_destroy" کو کال کرنا۔
  • تجرباتی API تعاون شامل کیا گیا۔ میں تھا (WebAssembly سسٹم انٹرفیس)، آپریٹنگ سسٹم کے ساتھ براہ راست تعامل کے لیے سافٹ ویئر انٹرفیس فراہم کرنا (فائلوں، ساکٹ وغیرہ کے ساتھ کام کرنے کے لیے POSIX API)۔
  • کے لیے ضروریات میں اضافہ کم سے کم ورژن مرتب کرنے والے اور پلیٹ فارمز: macOS 10.13 (High Sierra)، GCC 6، ونڈوز جدید ترین 7/2008R2.

ہم آپ کو یاد دلاتے ہیں کہ 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، جو ایک سپر اسٹرکچر ہے۔ libv یونکس سسٹمز پر اور ونڈوز پر IOCP سے زیادہ۔ تھریڈ پول بنانے کے لیے لائبریری کا استعمال کیا جاتا ہے۔ libeio، نان بلاکنگ موڈ میں DNS استفسارات کو انجام دینے کے لیے مربوط ہے۔ c-ares. تمام سسٹم کالز جو بلاکنگ کا سبب بنتی ہیں تھریڈ پول کے اندر عمل میں لائی جاتی ہیں اور پھر، سگنل ہینڈلرز کی طرح، اپنے کام کا نتیجہ ایک بے نام پائپ کے ذریعے واپس بھیج دیتے ہیں۔ جاوا اسکرپٹ کوڈ کا نفاذ گوگل کے تیار کردہ انجن کے استعمال سے یقینی بنایا جاتا ہے۔ V8 (اس کے علاوہ، مائیکروسافٹ چکرا کور انجن کے ساتھ Node.js کا ایک ورژن تیار کر رہا ہے)۔

اس کے مرکز میں، Node.js فریم ورک کی طرح ہے۔ پرل کوئی بھی واقعہ, روبی ایونٹ مشین, Python Twisted и نفاذ Tcl میں ایونٹس، لیکن Node.js میں ایونٹ لوپ ڈویلپر سے پوشیدہ ہے اور براؤزر میں چلنے والی ویب ایپلیکیشن میں ایونٹ ہینڈلنگ سے مشابہ ہے۔ node.js کے لیے ایپلی کیشنز لکھتے وقت، ایونٹ سے چلنے والے پروگرامنگ کی تفصیلات کو مدنظر رکھنا ضروری ہے، مثال کے طور پر، "var result = db.query("select..");" کرنے کے بجائے۔ کام کی تکمیل کے انتظار اور نتائج کے بعد کی کارروائی کے ساتھ، Node.js غیر مطابقت پذیر عمل کے اصول کا استعمال کرتا ہے، یعنی کوڈ کو "db.query("select.."، فنکشن (نتیجہ) {رزلٹ پروسیسنگ}) میں تبدیل کر دیا جاتا ہے، جس میں کنٹرول فوری طور پر مزید کوڈ کو منتقل کر دیا جائے گا، اور ڈیٹا آتے ہی استفسار کے نتیجے پر کارروائی ہو جائے گی۔ .

ماخذ: opennet.ru

نیا تبصرہ شامل کریں