Deno پروجيڪٽ هڪ محفوظ JavaScript پليٽ فارم ٺاهي رهيو آهي Node.js وانگر

دستياب پروجيڪٽ ڇڏڻ ڊينو 0.33, جيڪو پيش ڪري ٿو Node.js جهڙو پليٽ فارم جاوا اسڪرپٽ ۽ TypeScript ۾ اسٽينڊ اڪيلو ايپليڪيشن ايگزيڪيوشن لاءِ جيڪو برائوزر سان ڳنڍڻ کان سواءِ ايپليڪيشنن کي هلائڻ لاءِ استعمال ڪري سگهجي ٿو، جيئن سرور تي هلندڙ هينڊلر ٺاهڻ. Deno هڪ JavaScript انجڻ استعمال ڪري ٿو V8، جيڪو پڻ استعمال ڪيو ويندو آهي Node.js ۽ برائوزرن ۾ Chromium پروجيڪٽ جي بنياد تي. پروجيڪٽ ڪوڊ طرفان ورهايل MIT لائسنس جي تحت. پروجيڪٽ ريان ڊاهل پاران ترقي ڪئي پئي وڃي (ريان داهل)، Node.js JavaScript پليٽ فارم جو خالق.

جاوا اسڪرپٽ لاءِ نئون رن ٽائم ٺاهڻ جو بنيادي مقصد هڪ وڌيڪ محفوظ ماحول مهيا ڪرڻ آهي. سيڪيورٽي کي بهتر ڪرڻ لاءِ، V8 انجڻ Rust ۾ لکيل آهي، جيڪو ڪيترن ئي خطرن کان بچي ٿو جيڪي گهٽ-سطح جي ميموري مينيپوليشن مان پيدا ٿين ٿا، جيئن ته مفت رسائي، نول پوائنٽر ڊيريفرنس، ۽ بفر اووررن. پليٽ فارم غير بلاڪنگ موڊ ۾ درخواستن تي عمل ڪرڻ لاءِ استعمال ڪيو ويندو آهي ٽوڪيو، پڻ Rust ۾ لکيل آهي. ٽوڪيو توهان کي اجازت ڏئي ٿو اعليٰ ڪارڪردگي واريون ايپليڪيشنون ٺاهڻ جي بنياد تي ايونٽ تي هلندڙ فن تعمير، سپورٽ ڪندي ملٽي ٿريڊنگ ۽ پروسيسنگ نيٽ ورڪ جي درخواستن کي غير مطابقت واري موڊ ۾.

مکيه особенности ڊنو:

  • سيڪيورٽي جي بنياد تي ڊفالٽ ترتيب. فائل جي رسائي، نيٽ ورڪنگ، ۽ ماحولياتي متغيرن تائين رسائي ڊفالٽ طور تي غير فعال ٿيل آھن ۽ واضح طور تي فعال ٿيڻ گھرجي؛
  • جاوا اسڪرپٽ کان علاوه ٽائپ اسڪرپٽ ٻولي لاءِ بلٽ ان سپورٽ؛
  • رن ٽائم هڪ واحد خودمختاري قابل عمل فائل ("deno") جي صورت ۾ اچي ٿو. Deno استعمال ڪندي ايپليڪيشنن کي هلائڻ لاء اهو ڪافي آهي اپلوڊ ان جي پليٽ فارم لاءِ هڪ قابل عمل فائل، اٽڪل 10 MB سائيز ۾، جنهن جو ڪوبه خارجي انحصار نه آهي ۽ سسٽم تي ڪنهن خاص انسٽاليشن جي ضرورت ناهي؛
  • جڏهن پروگرام شروع ڪيو وڃي، انهي سان گڏ ماڊل لوڊ ڪرڻ لاء، توهان استعمال ڪري سگهو ٿا URL ايڊريسنگ. مثال طور، welcome.js پروگرام کي هلائڻ لاءِ، توھان استعمال ڪري سگھو ٿا حڪم ”deno https://deno.land/std/examples/welcome.js“. خارجي وسيلن مان ڪوڊ ڊائون لوڊ ڪيو ويندو آهي ۽ مقامي سسٽم تي ڪيش ڪيو ويندو آهي، پر ڪڏهن به خودڪار طور تي اپڊيٽ نه ڪيو ويندو آهي (تازه ڪاري کي واضح طور تي "--ريلوڊ" پرچم سان ايپليڪيشن هلائڻ جي ضرورت آهي)؛
  • ايپليڪيشنن ۾ HTTP ذريعي نيٽ ورڪ جي درخواستن جي موثر پروسيسنگ؛ پليٽ فارم اعلي ڪارڪردگي نيٽ ورڪ ايپليڪيشن ٺاهڻ لاء ٺهيل آهي.
  • آفاقي ويب ايپليڪيشن ٺاهڻ جي صلاحيت جيڪا ڊنو ۽ باقاعده ويب برائوزر ۾ ٻنهي تي عمل ڪري سگهجي ٿي؛
  • رن ٽائم کان علاوه، ڊنو پليٽ فارم پڻ ڪم ڪري ٿو هڪ پيڪيج مئنيجر ۽ توهان کي ڪوڊ جي اندر URL ذريعي ماڊلز تائين رسائي جي اجازت ڏئي ٿو. مثال طور، هڪ ماڊل لوڊ ڪرڻ لاء، توهان ڪوڊ ۾ وضاحت ڪري سگھو ٿا "import * as log from "https://deno.land/std/log/mod.ts". يو آر ايل ذريعي خارجي سرورز تان ڊائون لوڊ ڪيل فائلون ڪيش ٿيل آهن. ماڊل ورزن تي پابند ٿيڻ جو اندازو URL جي اندر ورزن نمبرن جي وضاحت سان طئي ڪيو ويندو آهي، مثال طور، “https://unpkg.com/[ايميل محفوظ ٿيل]/dist/liltest.js"؛
  • ڍانچي ۾ هڪ مربوط انحصار انسپيڪشن سسٽم ("deno info" حڪم) ۽ ڪوڊ فارميٽنگ (deno fmt) لاءِ هڪ افاديت شامل آهي.
  • ايپليڪيشن ڊولپرز لاء تجويز ڪيل معياري ماڊلز جو هڪ سيٽ جيڪو اضافي آڊٽ ۽ مطابقت جي جاچ مان گذري چڪو آهي؛
  • سڀئي ايپليڪيشن اسڪرپٽ هڪ جاوا اسڪرپٽ فائل ۾ گڏ ڪري سگهجن ٿيون.

Node.js کان فرق:

  • Deno استعمال نٿو ڪري npm پيڪيج مينيجر
    ۽ مخزنن سان جڙيل نه آهي، ماڊلز کي URL ذريعي يا فائل رستي ذريعي خطاب ڪيو ويو آهي، ۽ ماڊل پاڻ کي ڪنهن به ويب سائيٽ تي رکيل آهن؛

  • Deno ماڊلز جي وضاحت ڪرڻ لاءِ ”package.json“ استعمال نٿو ڪري.
  • API فرق، Deno ۾ سڀئي هم وقت ساز ڪارناما هڪ واعدو موٽائي؛
  • Deno فائلن، نيٽ ورڪ ۽ ماحولياتي متغيرن لاء سڀني ضروري اجازتن جي واضح تعريف جي ضرورت آهي؛
  • سڀئي غلطيون جيڪي نه مهيا ڪيون ويون آهن هينڊلر سان گڏ ايپليڪيشن کي ختم ڪرڻ جي ڪري؛
  • Deno ECMAScript ماڊل سسٽم استعمال ڪري ٿو ۽ ضرورت ().

جو ذريعو: opennet.ru

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