بۆ ناوەڕۆک بازبدە

بەکارھێنەر:Roj im/Deno (software)

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە

دێنۆ ژینگەیەکی کارپێکردنە بۆ تایپسکریپت، جاڤاسکریپت وێب ئەسێمبڵی کە لەسەر ڤی٨ بنیات نراوە و بە زمانی ڕەست نووسراوە. لەلایەن هەمان ئەو کەسەوە دروست کراوە کە نۆد جەی ئێسی دروست کردووە.[١]

دێنۆ ڕۆڵی ژینگەی کارپێکردن و بەڕێوەبەربردنی پاکێژیش دەگێڕێت، بەپێچەوانەی نۆد جەی ئێس کە پێویستی بە پاکێژێکی جیا هەیە بۆ بەڕێوەبردنی پاکێژەکان.[٢][٣]

مێژوو

[دەستکاری]

دێنۆ لە کۆنفڕانسی JSConf EUـی ساڵی ٢٠١٨ لەلایەن ڕیان داهل بڵاو کرایەوە لە کاتی پێشکەشکردنی وتارێک لەژێر ناونیشانی "١٠ شتی نۆد جەی ئێس کە لێیان پەشیمانم".[٤] لە وتارەکەیدا، ئاماژەی بە هەندێک بڕیاری بنچینەییی بناغەی نۆد جەی ئێسی کرد و پەشیمانیی خۆی دەربارەیان دەربڕی. هەندێک لەو شتانەی کە لێی پەشیمان بوو بریتی بوون لە بەکارهێنانی پەڕگەی package.json بۆ زانیاریدان دەربارەی پاکێژەکان، هەبوونی بوخچەی node_modules بۆ هەڵگرتنی پاکێژە پێویستەکان و پشتگیرینەکردنی ئەی پی ئایی وێبگەڕەکان.


وەشانەکانی سەرەتای دێنۆ بە گۆ نووسرابوون، بەڵام دواتر ڕەست جێی گرتەوە. لە کۆتاییەکانی ٢٠١٨ـشدا کتێبخانەی ستانداردی دێنۆ بڵاو کرایەوە، کە لەسەر بنەمای کتێبخانەی ستانداردی گۆ بنیات نرابوو.

یەکەم وەشانی جێگیر لە ١٣ـی ئایاری ٢٠٢٠ بڵاو کرایەوە.[٥]

لە ٢٩ـی ئازاری ٢٠٢١ـیشدا کۆمپانیای دێنۆ لاند ڕاگەیەنرا، کە بە ملیۆنان دۆلار پشتگیریی وەرگرت لەلایەن گەورە ڕێکخراو و کۆمپانیاکان. بە ئامانجی پێشخستنی زیاتر و پەرەپێدانی باشتری دێنۆ دەستی بە کارکردن کرد.


پلاتفۆرمی ڕاژەکردنی دێنۆ دیپڵۆی لە ٢٣ـی حوزەیرانی ٢٠٢١ بڵاو کرایەوە.

پێداچوونەوە

[دەستکاری]

ئامانجی دێنۆ ئەوەیە ببێتە ژینگەیەکی پارێزراوی سکریپتکردن بۆ بەرنامەسازە مۆدێرنەکان.[٦] دێنۆ دەتوانرێت بۆ دروستکردنی ڕاژە، شیکارکردنی کردارە زانستییەکان و چەندان شتی دیکە بەکار بهێنرێت. دێنۆ سەرچاوەکراوەیە لەژێر مۆڵەتنامەی میت.[٧]

جیاوازییەکانی لەگەڵ نۆد جەی ئێس

[دەستکاری]

دێنۆ و نۆد جەی ئێس هەردووکیان سەرچاوەکراوەن و لەسەر مەکینەی ڤی٨ـی گووگڵ بەندن، هەمان ئەو مەکینەیەی کە لەسەر

بە شێوەیەکی سەرەکی دێنۆ لەبەر ئەم تایبەتمەندییانە لە نۆد جەی ئێس جیا دەبێتەوە:[٨]

١. تەنیا پشتگیریی مۆدیوڵەکانی ئێکماسکریپت دەکات لە کاتێکدا نۆد جەی ئێس پشتگیریی کۆمۆن جەی ئێسیش دەکات.[٩][١٠][١١]

٢. تاکە ڕێگای هاوردەکردنی سکریپت بەکارهێنانی بەستەرە،[١٢] وەک وێبگەڕەکان. نۆد جەی ئێس دەتوانێت بە ناوی مۆدیوڵەکانیش هاوردەیان بکات.

٣. پێویستی بە بەڕێوەبەرێکی پاکێژ نییە بۆ هاوردەکردنی پاکێژی دەرەکی، لەبەر ئەوەش پێویستی بە ناوەندێکی کۆگاکردنی پاکێژ نییە وەک ئێن پی ئێم.[١٣]

٤. بەبێ پێویستبوونی ئەنجامدانی هیچ کارێکی پێشوەختە، تایپسکریپتت بۆ کار پێ دەکات.[١٤]

٥. هەوڵ دەدات پشتگیرییەکی باشتری ئەی پی ئایەکانی وێبگەڕەکان بکات.

٦. ناهێڵێت بەرنامەکان دەستیان بگات بە هیچ شتێک، هەتا بەکارهێنەر ڕێ نەدات.

٧. تەنیا بە تایپسکریپت و ستانداردەکانی ئێکماسکریپت تەکنۆلۆژیای ئەسینک دابین دەکات.

٨. قەبارەی ئەی پی ئایە بنچینەییەکەی بچووکترە، کتێبخانەیەکی ستانداردیشی هەیە بەبێ ئەوەی پێویستیی بە هیچ مۆدیوڵێکی دەرەکی هەبێت.

٩. بە ڕێگەیەکی جیاواز ئەو کارانە ئەنجام دەدات کە کار لە سیستەمی کارگێڕی دەکەن، بۆ نموونە دەستگەیشتن بە ڕایەڵە و پەڕگەکان.

نموونە

[دەستکاری]

ئەم فەرمانە سکریپتێکی سادەی دێنۆ کار پێ دەکات کە پێویستی بە ئینتەرنێت و دەستگەیشتنی بە پەڕگەکەن نییە و ناشتوانێت:

deno run main.ts

دەبێت خۆت بهێڵیت دەستی بگات بە ئینتەرنێت یان پەڕگەکان:

deno run --allow-read --allow-net main.ts

بۆ زانینی ئەو پاکێژانەی کە سکریپتێک لەسەری بەندە:

deno info main.ts

بەرنامەیەکی ساکاری سڵاو جیهان هەر وەک نۆد جەی ئێسە:

console.log("Hello, World!");

لە هەموو کۆنتێکستەکان گۆڕاوێک هەیە بە ناوی Deno کە تایبەتە بە دێنۆ و لەناو نۆد جەی ئێس و وێبگەڕەکان بوونی نییە. بەرنامەیەکی هاوشێوەی cat دەتوانێت ئاوها بنووسرێت:

/* cat.ts */

/* Deno APIs are exposed through the `Deno` namespace. */
const { stdout, open, copy, args } = Deno;

// Top-level await is supported
for (let i = 0; i < args.length; i++) {
    const filename = args[i]; // Obtains command-line arguments.
    const file = await open(filename); // Opens the corresponding file for reading.
    await copy(file, stdout); // Performs a zero-copy asynchronous copy from `file` to `stdout`.
}

سەرچاوەکان

[دەستکاری]
  1. ^ «Deno: Secure V8 TypeScript Runtime from Original Node.js Creator». InfoQ. لە 2019-05-17 ھێنراوە.
  2. ^ «Deno Manual». deno.land. لە 2019-05-17 ھێنراوە.
  3. ^ Paul Krill (2018-06-21). «Ryan Dahl's Node.js regrets lead to Deno». InfoWorld.
  4. ^ JSConf (2018-06-06)، 10 Things I Regret About Node.js - Ryan Dahl - JSConf EU 2018، لە 2019-05-17 ھێنراوە
  5. ^ «Deno 1.0». deno.land. لە 2020-05-14 ھێنراوە.
  6. ^ «Deno Manual». deno.land. لە 2019-05-17 ھێنراوە.
  7. ^ «Deno Is Ready for Production». InfoQ (بە ئینگلیزی). لە 2020-07-01 ھێنراوە.
  8. ^ «Deno Manual». deno.land. لە 2019-05-17 ھێنراوە.
  9. ^ «Modules: ECMAScript modules | Node.js v17.6.0 Documentation».
  10. ^ «Deno - A modern runtime for JavaScript and TypeScript».
  11. ^ https://deno.land/std/node/README.md
  12. ^ «Modules: ECMAScript modules | Node.js v17.6.0 Documentation».
  13. ^ «Deno - A modern runtime for JavaScript and TypeScript».
  14. ^ «Documentation». GitHub. 3 March 2022. {{cite web}}: نرخەکانی ڕێکەوت بپشکنە لە: |date= (یارمەتی)