د Node.js لیکوال د خوندي جاواسکریپټ پلیټ فارم Deno 1.0 وړاندې کړ

د دوه کلن پرمختګ وروسته وړاندې شوی لومړی لوی خوشې کول ډینو 1.0, په جاواسکریپټ او ټایپ سکریپټ کې د غوښتنلیکونو یوازینۍ اجرا کولو لپاره یو پلیټ فارم، کوم چې په سرور کې چلونکي د سمبالونکي رامینځته کولو لپاره کارول کیدی شي. پلیټ فارم د ریان ډهل لخوا رامینځته شوی (ریان داهلد Node.js جوړونکی. د Node.js په څیر، ډینو د جاواسکریپټ انجن کاروي V8، کوم چې د کرومیم میشته براوزرونو کې هم کارول کیږي. په ورته وخت کې، Deno د Node.js فورک نه دی، مګر یوه نوې پروژه ده چې له سکریچ څخه جوړه شوې ده. د پروژې کوډ لخوا توزیع شوی د MIT جواز لاندې. مجلسونه چمتو شوی د لینکس، وینډوز او macOS لپاره.

د پام وړ نسخه شمیره د ډینو نوم ځای کې د APIs ثبات سره تړاو لري ، کوم چې د OS سره د غوښتنلیکونو متقابل عمل مسؤلیت لري. د سافټویر انٹرفیسونه چې تر دې دمه لري ثبات نلري، د ډیفالټ لخوا پټ شوي او یوازې هغه وخت شتون لري کله چې په "-بې ثباته" حالت کې روان وي. لکه څنګه چې نوې نسخې رامینځته کیږي، دا ډول APIs به په تدریجي ډول باثباته شي. API په نړیوال نوم ځای کې، چې عام افعال پکې شامل دي لکه setTimeout() او fetch()، د امکان تر حده د دودیزو ویب براوزرونو API ته نږدې دی او د براوزرونو لپاره د ویب معیارونو سره سم رامینځته شوی. د Rust لخوا چمتو شوي APIs، کوم چې په مستقیم ډول د پلیټ فارم کوډ کې کارول کیږي، په بیله بیا د ډینو د چلولو لپاره د پلگ انونو پراختیا لپاره انٹرفیس، لا تر اوسه ثبات نه دی شوی او پراختیا ته دوام ورکوي.

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

اصلي د ډینو:

  • د امنیت پر بنسټ ډیفالټ ترتیب. د فایل لاسرسی، شبکه کول، او د چاپیریال متغیرونو ته لاسرسی د ډیفالټ لخوا غیر فعال شوي او باید په ښکاره توګه فعال شي. غوښتنلیکونه په ډیفالټ ډول په جلا شوي سینڈ باکس چاپیریال کې چلیږي او د واضح اجازې ورکولو پرته د سیسټم وړتیاو ته لاسرسی نشي کولی؛
  • د جاوا سکریپټ هاخوا د ټایپ سکریپټ لپاره جوړ شوی ملاتړ. د معیاري ټایپ سکریپټ کمپیلر د ډولونو چک کولو او جاواسکریپټ رامینځته کولو لپاره کارول کیږي ، کوم چې په V8 کې د جاواسکریپټ پارس کولو په پرتله د فعالیت اغیزې لامل کیږي. په راتلونکي کې، موږ پلان لرو چې د TypeScript ډول چک کولو سیسټم خپل پلي کولو ته چمتو کړو، کوم چې به د اندازې په ترتیب سره د TypeScript پروسس کولو فعالیت ته وده ورکړي؛
  • د چلولو وخت د یو واحد ځان سره د اجرا وړ فایل ("deno") په بڼه راځي. د ډینو په کارولو سره د غوښتنلیکونو چلولو لپاره دا کافي دي ډاونلوډ د دې پلیټ فارم لپاره د اجرا وړ فایل شتون لري، شاوخوا 20 MB اندازه لري، کوم چې هیڅ بهرنی انحصار نلري او په سیسټم کې کوم ځانګړي نصب ته اړتیا نلري. سربیره پردې ، ډینو یو واحد غوښتنلیک ندی ، مګر په زنګ کې د کریټ کڅوړو ټولګه ده (deno_core, rusty_v8)، کوم چې په جلا توګه کارول کیدی شي؛
  • کله چې برنامه پیل کړئ ، او همدارنګه د ماډلونو پورته کولو لپاره ، تاسو کولی شئ د 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 ماډل سیسټم کاروي او د اړتیا () ملاتړ نه کوي.
  • د Deno جوړ شوی HTTP سرور په TypeScript کې لیکل شوی او د اصلي TCP ساکټونو په سر کې چلیږي، پداسې حال کې چې د Node.js HTTP سرور په C کې لیکل شوی او د جاوا سکریپټ لپاره پابندۍ چمتو کوي. د ډینو پراختیا کونکو د ټول TCP ساکټ پرت اصلاح کولو او ډیر عمومي انٹرفیس چمتو کولو باندې تمرکز کړی. د ډینو HTTP سرور ټیټ انډول چمتو کوي مګر د وړاندوینې وړ ټیټ ځنډ تضمین کوي. د مثال په توګه ، په ازموینه کې ، د ډینو HTTP سرور پراساس یو ساده غوښتنلیک د 25 ملی ثانیو اعظمي ځنډ سره په هره ثانیه کې 1.3 زره غوښتنې پروسس کولو توان درلود. په Node.js کې، ورته غوښتنلیک په هره ثانیه کې 34 زره غوښتنې پروسس کړې، مګر ځنډ د 2 او 300 ملی ثانیو پورې و.
  • ډینو د Node.js (NPM) لپاره کڅوړو سره مطابقت نلري ، مګر په جلا توګه رامینځته کیږي پرت د معیاري Node.js کتابتون سره مطابقت لپاره، لکه څنګه چې دا وده کوي، د Node.js لپاره لیکل شوي ډیر او ډیر غوښتنلیکونه به په Deno کې د چلولو وړ وي.
  • سرچینه: opennet.ru

Add a comment