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

دستیاب رہائی نوڈ js 13.0جاوا اسکرپٹ میں نیٹ ورک ایپلیکیشنز چلانے کے لیے پلیٹ فارم۔ اسی وقت، Node.js 12.x کی پچھلی برانچ کا استحکام مکمل ہو چکا ہے، جسے طویل مدتی سپورٹ ریلیز کے زمرے میں منتقل کر دیا گیا ہے، جن کے لیے اپ ڈیٹس 4 سال کے لیے جاری کیے جاتے ہیں۔ Node.js 10.0 کی پچھلی LTS برانچ کے لیے سپورٹ اپریل 2021 تک رہے گی، اور آخری LTS برانچ 8.0 کے لیے جنوری 2020 تک سپورٹ۔

اہم بہتری:

  • V8 انجن کو ورژن میں اپ ڈیٹ کیا گیا۔ 7.8، جو کارکردگی کو بہتر بنانے کی نئی تکنیکوں کا استعمال کرتا ہے، آبجیکٹ کی تخریب کاری کو بہتر بناتا ہے، میموری کی کھپت کو کم کرتا ہے، اور WebAssembly کے عمل کے لیے تیاری کے وقت کو کم کرتا ہے۔
  • بین الاقوامی کاری اور لائبریری پر مبنی یونیکوڈ کے لیے مکمل تعاون بطور ڈیفالٹ فعال ہے۔ ICU (International Components for Unicode)، جو ڈویلپرز کو کوڈ لکھنے کی اجازت دیتا ہے۔ کی حمایت مختلف زبانوں اور مقامات کے ساتھ کام کریں۔ مکمل-icu ماڈیول اب بطور ڈیفالٹ انسٹال ہے۔
  • API کو مستحکم کیا گیا۔ ورکرز تھریڈز, اجازت دینا ملٹی تھریڈڈ ایونٹ لوپس بنائیں۔ عمل درآمد worker_threads ماڈیول پر مبنی ہے، جو آپ کو جاوا اسکرپٹ کوڈ کو متعدد متوازی تھریڈز میں چلانے کی اجازت دیتا ہے۔ ورکرز تھریڈز API کے لیے مستحکم سپورٹ کو بھی Node.js 12.x کی LTS برانچ میں بیک پورٹ کر دیا گیا ہے۔
  • پلیٹ فارم کی ضروریات میں اضافہ کیا گیا ہے۔ ابھی جمع کرنا ضرورت ہے کم از کم macOS 10.11 (Xcode 10 کی ضرورت ہے)، AIX 7.2، Ubuntu 16.04، Debian 9، EL 7، Alpine 3.8، Windows 7/2008؛
  • Python 3 کے لیے بہتر سپورٹ۔ اگر سسٹم میں Python 2 اور Python 3 دونوں ہیں، Python 2 اب بھی استعمال ہوتا ہے، لیکن سسٹم پر صرف Python 3 انسٹال ہونے پر بنانے کی صلاحیت شامل کی گئی ہے۔
  • HTTP پارسر (“—http-parser=legacy”) کا پرانا نفاذ ہٹا دیا گیا ہے۔ ہٹائی گئی یا فرسودہ کالز اور پراپرٹیز FSWatcher.prototype.start(), ChildProcess._channel, Open() طریقہ ReadStream اور WriteStream آبجیکٹ میں, request.connection, response.connection, module.createRequireFromPath();
  • اگلا باہر آئے اپ ڈیٹ 13.0.1، جس نے بہت سے کیڑے جلدی سے ٹھیک کر دیے۔ خاص طور پر، npm 6.12.0 کے ساتھ ایک غیر تعاون یافتہ ورژن استعمال کرنے کے بارے میں انتباہ ظاہر کرنے والا مسئلہ حل ہو گیا ہے۔

ہم آپ کو یاد دلاتے ہیں کہ 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

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