Deno (proqram)

Vikipediya, azad ensiklopediya
Naviqasiyaya keç Axtarışa keç
Deno
Loqonun şəkli
Tərtibatçı Rayan Dal
Repozitoriya github.com/denoland/deno
Proqramlaşdırma dili Rust[3], TypeScript, JavaScript, C++
Əməliyyat sistemi Linux[4], macOS[4], Microsoft Windows[4], FreeBSD[5]
Yayımlanma tarixi 13 may 2018[1]
Sonuncu versiya
Sayt deno.com
Vikianbarın loqosu Vikianbarda əlaqəli mediafayllar

DenoV8 mühərrikiRust proqramlaşdırma dilinə əsaslanan JavaScript, TypeScriptWebAssembly üçün işləmə mühiti.[6] Deno Node.js-nin yaradıcısı olan Rayan Dal tərəfindən ortaq şəkildə yaradılmışdır.[7]

Deno ayrıca paket meneceri tələb etmək yerinə özü həm işləmə mühiti, həm də paket meneceri rolunu tək bir çalışdırılan proqramda icra edir.[6][8]

Deno JSConf EU 2018 konfransında Rayan Dal tərəfindən "Node.js haqqında təəssüf etdiyim 10 şey" adlı çıxışında elan edildi.[9] Protocol Buffers kimi serializasiya vasitələrindən istifadə edərək mesajların ötürülməsi yolu ilə sistem çağırışlarının bağlanmasına (ing. system call bindings) nail olmaq və girişə nəzarət etmək üçün əmr sətrində parametrlər təmin etmək məqsədi daşıyan Deno prototipini təqdim etdi.[10]

Deno ilk dəfə Go dilində yazılmışdı və imtiyazlı (Go, sistem çağırışı icazəsi ilə) və imtiyazsız (V8) tərəflər arasında serializasiya üçün Protocol Buffers istifadə edirdi.[11] İkiqat iş mühiti və tullantı toplama ilə bağlı narahatlıqlar səbəbindən Go Rust ilə əvəz olundu.[12] Tokio libuv-un yerinə hadisələrlə idarə olunan asinxron platforma olaraq təqdim edildi[13]FlatBuffers daha sürətli, "zero-copy" serializasiya və deserializasiya üçün qəbul edildi.[14] Lakin 2019-cu ilin aprel ayında seriallaşdırmanın əhəmiyyətli əlavə xərclərini ölçən testlər yayımlandıqdan sonra FlatBuffers 2019-cu ilin avqust ayında silindi.[15]

2018-ci ilin noyabr ayında geniş alətlər və utilitlər təqdim etmək üçün Go-nun standart kitabxanası əsasında modelləşdirilmiş standart kitabxana Node.js-nin paket ağacının çox böyüməsi problemini qismən həll etdi.[16]

Deno 1.0 rəsmi olaraq 13 may 2020-ci ildə yayımlandı.[17]

Cloudflare Workers-dən ilhamlanan Deno Deploy 23 iyun 2021-ci ildə yayımlandı.[18][19] 4 may 2022-ci ildə yayımlanan Beta 4-də idarəetmə paneli təkmilləşdirilib və hesablaşma funksiyaları əlavə edilib. Deno Deploy-un ümumi əlçatanlılığı 2022-ci ilin üçüncü rübü üçün nəzərdə tutulub.[20]

Deno Fresh 1.0, client tərəfinə sıfır JavaScript göndərən Deno üçün yeni tam stack veb freymvorku, 28 iyun 2022-ci ildə yayımlandı.[21] Freymvorkda yerləşdirmə müddətlərində böyük təkmilləşdirmələr sırasına imkan verən heç bir yaratma addımı yoxdur. Fresh-in 1.1 versiyası 8 sentyabr 2022-ci ildə yayımlandı.[22]

Deno SaaSKit beta versiyası 4 aprel 2023-cü ildə yayımlandı. Bu Fresh və Deno istifadə edilərək hazırlanmış müasir açıq mənbəli SaaS şablonudur.[23]

  1. GitHub (ing.). // GitHub 2007.
  2. Release 1.44.4. 2024.
  3. https://www.openhub.net/p/deno/analyses/latest/languages_summary.
  4. 1 2 3 https://deno.land/manual@v1.30.0/getting_started/installation.
  5. https://www.freshports.org/www/deno.
  6. 1 2 "Deno Manual". deno.land. 2020-01-08 tarixində arxivləşdirilib. İstifadə tarixi: 2019-05-17.
  7. Schiemann, Dylan. "Deno: Secure V8 TypeScript Runtime from Original Node.js Creator". InfoQ (ingilis). December 26, 2018. May 17, 2019 tarixində arxivləşdirilib. İstifadə tarixi: May 17, 2019.
  8. Paul Krill. "Ryan Dahl's Node.js regrets lead to Deno". InfoWorld. 2018-06-21. 2019-06-10 tarixində arxivləşdirilib. İstifadə tarixi: 2023-09-19.
  9. JSConf, 10 Things I Regret About Node.js - Ryan Dahl - JSConf EU 2018, 2018-06-06, 2019-05-17 tarixində arxivləşdirilib, İstifadə tarixi: 2019-05-17
  10. Dahl, Ryan. "Design mistakes in Node" (PDF). Github. 2018-06-06.
  11. "denoland/deno, branch "golang"". Github.
  12. "Suggestion: Look into porting to Rust and using Tokio". GitHub. 2018-08-29 tarixində arxivləşdirilib. İstifadə tarixi: 2023-09-19.
  13. "Tokio - The asynchronous run-time for the Rust programming language". Tokio.rs. 2020-05-20 tarixində arxivləşdirilib. İstifadə tarixi: 2023-09-19.
  14. "Protobuf seems like a lot of overhead for this use case?". Github. 2020-12-08 tarixində arxivləşdirilib. İstifadə tarixi: 2023-09-19.
  15. "Replace flatbuffers". GitHub (ingilis). April 15, 2019. November 26, 2020 tarixində arxivləşdirilib. İstifadə tarixi: July 11, 2019.
  16. "denoland/deno_std: deno standard modules". Github. 3 March 2022. 15 June 2020 tarixində arxivləşdirilib. İstifadə tarixi: 19 September 2023.
  17. "Deno 1.0". deno.land. 2020-05-14 tarixində arxivləşdirilib. İstifadə tarixi: 2020-05-14.
  18. Dahl, Ryan. "JavaScript Containers". tinyclouds.org. 4 May 2022. 4 May 2022 tarixində arxivləşdirilib.
  19. Krill, Paul. "Deno Company unveils server-side JavaScript hosting service". InfoWorld (ingilis). 2021-06-24. 27 Jun 2022 tarixində arxivləşdirilib. İstifadə tarixi: 2022-04-14.
  20. Krill, Paul. "Deno Deploy moves toward GA, adds paid plan". InfoWorld (ingilis). 2022-06-03. 2023-06-07 tarixində arxivləşdirilib. İstifadə tarixi: 2022-07-24.
  21. Luca, Casonato. "Introduction Fresh 1.0 as new full stack web framework for Deno". Deno Blog (ingilis). 2022-07-22. İstifadə tarixi: 2022-07-24.
  22. Casonato, Luca. "Fresh 1.1 - automatic JSX, plugins, DevTools, and more". Deno Blog (ingilis). 2022-09-08. İstifadə tarixi: 2022-09-10.
  23. Jiang, Andy. "Announcing Deno SaaSKit: an open-source SaaS template built with Fresh". Deno Blog (ingilis). 2023-04-04. İstifadə tarixi: 2022-04-04.

Xarici keçidlər

[redaktə | mənbəni redaktə et]