د ډینو پروژه د Node.js په څیر یو خوندي جاواسکریپټ پلیټ فارم رامینځته کوي

موجود د پروژې خوشې کول ډینو 0.33، کوم چې په JavaScript او TypeScript کې د واحد غوښتنلیک اجرا کولو لپاره د Node.js په څیر پلیټ فارم وړاندیز کوي چې پرته له براوزر سره تړلي غوښتنلیکونو چلولو لپاره کارول کیدی شي ، لکه د هینډلر رامینځته کول چې په سرور کې چلیږي. ډینو د جاواسکریپټ انجن کاروي V8، کوم چې د کرومیم پروژې پراساس په Node.js او براوزرونو کې هم کارول کیږي. د پروژې کوډ لخوا توزیع شوی د MIT جواز لاندې. پروژه د ریان ډهل لخوا رامینځته کیږي (ریان داهل)، د Node.js JavaScript پلیټ فارم جوړونکی.

د جاواسکریپټ لپاره د نوي چلولو وخت رامینځته کولو یو له اصلي اهدافو څخه د ډیر خوندي چاپیریال چمتو کول دي. د امنیت ښه کولو لپاره، د V8 انجن په Rust کې لیکل شوی، کوم چې د ډیری زیانونو څخه مخنیوی کوي چې د ټیټې کچې حافظې له مینځه وړلو څخه رامینځته کیږي، لکه د وړیا لاسرسي وروسته، د نول پوائنټر ډیریفرنس، او بفر اوورون. پلیټ فارم د غیر بلاک کولو حالت کې غوښتنې پروسس کولو لپاره کارول کیږي ټوکیو، په زنګ کې هم لیکل شوی. توکیو تاسو ته اجازه درکوي د پیښې لخوا پرمخ وړل شوي جوړښت پراساس د لوړ فعالیت غوښتنلیکونه رامینځته کړئ ، په غیر متناسب حالت کې د څو-تریډینګ او پروسس شبکې غوښتنې ملاتړ کوي.

اصلي د ډینو:

  • د امنیت پر بنسټ ډیفالټ ترتیب. د فایل لاسرسی، شبکه کول، او د چاپیریال متغیرونو ته لاسرسی د ډیفالټ لخوا غیر فعال شوي او باید په ښکاره توګه فعال شي؛
  • د جاوا سکریپټ سربیره د ټایپ سکریپټ ژبې لپاره جوړ شوی ملاتړ؛
  • د چلولو وخت د یو واحد ځان سره د اجرا وړ فایل ("deno") په بڼه راځي. د ډینو په کارولو سره د غوښتنلیکونو چلولو لپاره دا کافي دي ډاونلوډ د دې پلیټ فارم لپاره د اجرا وړ فایل ، شاوخوا 10 MB اندازه کې ، کوم چې بهرني انحصار نلري او په سیسټم کې کوم ځانګړي نصب ته اړتیا نلري؛
  • کله چې برنامه پیل کړئ ، او همدارنګه د ماډلونو پورته کولو لپاره ، تاسو کولی شئ د URL پته وکاروئ. د مثال په توګه، د welcome.js پروګرام چلولو لپاره، تاسو کولی شئ د "deno https://deno.land/std/examples/welcome.js" کمانډ وکاروئ. د بهرنیو سرچینو څخه کوډ په محلي سیسټم کې ډاونلوډ او زیرمه شوی، مګر هیڅکله په اوتومات ډول نه تازه کیږي (تازه کول په ښکاره ډول د "--ریلوډ" بیرغ سره غوښتنلیک چلولو ته اړتیا لري)؛
  • په غوښتنلیکونو کې د HTTP له لارې د شبکې غوښتنو مؤثره پروسس کول؛ پلیټ فارم د لوړ فعالیت شبکې غوښتنلیکونو رامینځته کولو لپاره ډیزاین شوی؛
  • د نړیوال ویب غوښتنلیکونو رامینځته کولو وړتیا چې دواړه په ډینو او منظم ویب براوزر کې اجرا کیدی شي؛
  • د چلولو سربیره ، د ډینو پلیټ فارم د کڅوړې مدیر په توګه هم کار کوي او تاسو ته اجازه درکوي د کوډ دننه د URL لخوا ماډلونو ته لاسرسی ومومئ. د مثال په توګه، د ماډل پورته کولو لپاره، تاسو کولی شئ د "https://deno.land/std/log/mod.ts" څخه د ننوتلو په توګه "واردات * کوډ کې مشخص کړئ. د URL له لارې د بهرني سرورونو څخه ډاونلوډ شوي فایلونه زیرمه شوي. د ماډل نسخو پابند کول د URL دننه د نسخو شمیرو په ټاکلو سره ټاکل کیږي، د بیلګې په توګه، "https://unpkg.com/[ایمیل خوندي شوی]/dist/liltest.js";
  • په جوړښت کې د بشپړ انحصار تفتیش سیسټم (د "deno info" کمانډ) او د کوډ فارمیټینګ (deno fmt) لپاره اسانتیا شامله ده.
  • د غوښتنلیک پراختیا کونکو لپاره وړاندیز شوی د معیاري ماډلونو مجموعه چې اضافي پلټنې او مطابقت ازموینه یې کړې؛
  • ټول غوښتنلیک سکریپټونه په یو جاوا سکریپټ فایل کې یوځای کیدی شي.

د Node.js څخه توپیرونه:

  • ډینو د npm بسته مدیر نه کاروي
    او د ذخیره کولو سره تړلي ندي، ماډلونه د یو آر ایل یا د فایل لارې له لارې په نښه شوي، او ماډلونه پخپله په هره ویب پاڼه کې کیښودل کیدی شي؛

  • ډینو د ماډلونو تعریف کولو لپاره "package.json" نه کاروي؛
  • د API توپیر، په ډینو کې ټول غیر متقابل عملونه یوه ژمنه بیرته راولي؛
  • Deno د فایلونو، شبکې او چاپیریال تغیراتو لپاره د ټولو اړینو اجازو واضح تعریف ته اړتیا لري؛
  • ټولې تېروتنې چې د سمبالونکي سره ندي چمتو شوي د غوښتنلیک پای ته رسولو لامل کیږي؛
  • Deno د ECMAScript ماډل سیسټم کاروي او د اړتیا () ملاتړ نه کوي.

سرچینه: opennet.ru

Add a comment