Deno پروجیکٹ Node.js کی طرح ایک محفوظ JavaScript پلیٹ فارم تیار کر رہا ہے۔

دستیاب منصوبے کی رہائی ڈینو 0.33, предлагающего похожую на Node.js платформу для обособленного выполнения приложений на языке JavaScript и TypeScript, которая может быть использована для выполнения приложений без привязки к браузеру, например, для создания обработчиков, работающих на сервере. В Deno используется JavaScript-движок V8, который также применяется в Node.js и браузерах на основе проекта Chromium. Код проекта نے بانٹا под лицензией MIT. Проект развивает Райан Даль (ریان ڈہل), создатель JavaScript-платформы Node.js.

Одной из главных целей создания нового runtime для JavaScript является предоставление более защищённого окружения. Для повышения безопасности обвязка вокруг движка V8 написана на языке Rust, позволяющем избежать многих уязвимостей, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера. Для обработки запросов в неблокирующем режиме применяется платформа ٹوکیو، زنگ میں بھی لکھا ہے۔ ٹوکیو آپ کو ایونٹ سے چلنے والے فن تعمیر کی بنیاد پر اعلیٰ کارکردگی کی ایپلی کیشنز بنانے کی اجازت دیتا ہے، ملٹی تھریڈنگ کی حمایت کرتا ہے اور غیر مطابقت پذیر موڈ میں نیٹ ورک کی درخواستوں پر کارروائی کرتا ہے۔

اہم خصوصیات ڈینو:

  • Ориентация на безопасность в конфигурации по умолчанию. Обращения к файлам, сетевые возможности и доступ к переменным окружения по умолчанию блокированы и требуют явного включения;
  • Встроенная поддержка языка TypeScript помимо JavaScript;
  • رن ٹائم ایک خود ساختہ ایگزیکیوٹیبل فائل ("deno") کی شکل میں آتا ہے۔ ڈینو کا استعمال کرتے ہوئے ایپلی کیشنز کو چلانے کے لیے یہ کافی ہے۔ اپ لوڈ کریں для своей платформы один исполняемый файл, размером около 10 Мб, не имеющих внешних зависимостей и не требующий какой-то особой установки в систему;
  • پروگرام شروع کرنے کے ساتھ ساتھ ماڈیول لوڈ کرنے کے لیے، آپ یو آر ایل ایڈریسنگ استعمال کر سکتے ہیں۔ مثال کے طور پر، welcome.js پروگرام کو چلانے کے لیے، آپ "deno https://deno.land/std/examples/welcome.js" کمانڈ استعمال کر سکتے ہیں۔ بیرونی وسائل سے کوڈ مقامی سسٹم پر ڈاؤن لوڈ اور کیش کیا جاتا ہے، لیکن کبھی بھی خود بخود اپ ڈیٹ نہیں ہوتا ہے (اپ ڈیٹ کرنے کے لیے واضح طور پر ایپلیکیشن کو "--ریلوڈ" پرچم کے ساتھ چلانے کی ضرورت ہوتی ہے)؛
  • ایپلی کیشنز میں HTTP کے ذریعے نیٹ ورک کی درخواستوں کی موثر پروسیسنگ؛ پلیٹ فارم کو اعلی کارکردگی والے نیٹ ورک ایپلی کیشنز بنانے کے لیے ڈیزائن کیا گیا ہے۔
  • یونیورسل ویب ایپلیکیشنز بنانے کی اہلیت جو ڈینو اور باقاعدہ ویب براؤزر دونوں میں چلائی جا سکتی ہے۔
  • رن ٹائم کے علاوہ، ڈینو پلیٹ فارم ایک پیکیج مینیجر کے طور پر بھی کام کرتا ہے اور آپ کو کوڈ کے اندر یو آر ایل کے ذریعے ماڈیولز تک رسائی کی اجازت دیتا ہے۔ مثال کے طور پر، ایک ماڈیول کو لوڈ کرنے کے لیے، آپ "https://deno.land/std/log/mod.ts" سے لاگ کے طور پر "import*" کوڈ میں بتا سکتے ہیں۔ یو آر ایل کے ذریعے بیرونی سرورز سے ڈاؤن لوڈ کی گئی فائلیں کیش کی جاتی ہیں۔ ماڈیول ورژن کے پابند ہونے کا تعین URL کے اندر ورژن نمبر بتا کر کیا جاتا ہے، مثال کے طور پر، "https://unpkg.com/[ای میل محفوظ]/dist/liltest.js"؛
  • В состав интегрирована система инспектирования зависимостей (команда «deno info») и утилита для форматирования кода (deno fmt).
  • Для разработчиков приложений مجوزہ набор стандартных модулей, прошедших дополнительный аудит и проверку на совместимость;
  • تمام ایپلیکیشن اسکرپٹس کو ایک جاوا اسکرپٹ فائل میں ملایا جا سکتا ہے۔

Node.js سے فرق:

  • ڈینو این پی ایم پیکیج مینیجر کا استعمال نہیں کرتا ہے۔
    اور ریپوزٹریز سے منسلک نہیں ہے، ماڈیولز کو یو آر ایل یا فائل پاتھ کے ذریعے ایڈریس کیا جاتا ہے، اور ماڈیول خود کسی بھی ویب سائٹ پر رکھے جا سکتے ہیں۔

  • ڈینو ماڈیولز کی وضاحت کے لیے "package.json" کا استعمال نہیں کرتا ہے۔
  • API فرق، Deno میں تمام غیر مطابقت پذیر اعمال ایک وعدہ واپس کرتے ہیں؛
  • ڈینو کو فائلوں، نیٹ ورک اور ماحولیاتی متغیرات کے لیے تمام ضروری اجازتوں کی واضح تعریف درکار ہے۔
  • تمام غلطیاں جو ہینڈلرز کے ساتھ فراہم نہیں کی جاتی ہیں درخواست کے خاتمے کا باعث بنتی ہیں۔
  • В Deno применяется система модулей ECMAScript и не поддерживается require().

ماخذ: opennet.ru

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