دینۆ

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
(لە دێنۆەوە ڕەوانە کراوە)

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

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

مێژوو[دەستکاری]

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

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

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

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

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

پێداچوونەوە[دەستکاری]

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

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

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

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

  1. تەنیا پشتگیریی مۆدیوڵەکانی ئێکماسکریپت دەکات لەکاتێکدا نۆد جەی ئێس پشتگیریی کۆمۆن جەی ئێسیش دەکات.[٩][١٠][١١]
  2. تاکە ڕێگای ھاوردەکردنی سکریپت بەکارھێنانی بەستەرە،[١٢] وەک وێبگەڕەکان. نۆد جەی ئێس دەتوانێت بە ناوی مۆدیوڵەکانیش ھاوردەیان بکات.
  3. پێویستی بە بەڕێوەبەرێکی پاکێژ نییە بۆ ھاوردەکردنی پاکێژی دەرەکی، لەبەر ئەوەش پێویستی بە ناوەندێکی کۆگاکردنی پاکێژ نییە وەک ئێن پی ئێم.[١٣]
  4. بەبێ پێویستبوونی ئەنجامدانی ھیچ کارێکی پێشوەختە، تایپسکریپتت بۆ کار پێ دەکات.[١٤]
  5. ھەوڵ دەدات پشتگیرییەکی باشتری ئەی پی ئایەکانی وێبگەڕەکان بکات.
  6. ناھێڵێت بەرنامەکان دەستیان بگات بە ھیچ شتێک، ھەتا بەکارھێنەر ڕێ نەدات.
  7. تەنیا بە تایپسکریپت و ستانداردەکانی ئێکماسکریپت تەکنۆلۆژیای ئەسینک دابین دەکات.
  8. قەبارەی ئەی پی ئایە بنچینەیییەکەی بچووکترە، کتێبخانەیەکی ستانداردیشی ھەیە بەبێ ئەوەی پێویستیی بە ھیچ مۆدیوڵێکی دەرەکی ھەبێت.
  9. بە ڕێگەیەکی جیاواز ئەو کارانە ئەنجام دەدات کە کار لە سیستەمی کارگێڕی دەکەن، بۆ نموونە دەستگەیشتن بە ڕایەڵە و پەڕگەکان.

نموونە[دەستکاری]

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

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. Retrieved 2019-05-17.
  2. ^ "Deno Manual". deno.land. Retrieved 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, retrieved 2019-05-17
  5. ^ "Deno 1.0". deno.land. Retrieved 2020-05-14.
  6. ^ "Deno Manual". deno.land. Retrieved 2019-05-17.
  7. ^ "Deno Is Ready for Production". InfoQ (بە ئینگلیزی). Retrieved 2020-07-01.
  8. ^ "Deno Manual". deno.land. Retrieved 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.

بەستەرە دەرەکییەکان[دەستکاری]