Movatterモバイル変換


[0]ホーム

URL:


İçeriğe atla
VikipediÖzgür Ansiklopedi
Ara

Deno

Vikipedi, özgür ansiklopedi
Deno
Orijinal yazar(lar)Ryan Dahl
Geliştirici(ler)Various
İlk yayınlanma13 Mayıs 2018 (6 yıl önce) (2018-05-13)[1]
Güncel sürüm2.2.4[2] Bunu Vikiveri'de düzenleyin 14 Mart 2025
Önizleme sürümü0.32.0 / 3 Şubat 2020 (5 yıl önce) (2020-02-03)[3]
Programlama diliTypeScript,JavaScript,Rust,C++
İşletim sistemiGNU/Linux,macOS,Microsoft Windows
TürRun-time environment
Resmî sitesideno.com Bunu Vikiveri'de düzenleyin
Kod deposuBunu Vikiveri'de düzenleyin

Deno,V8 JavaScript motoruna ve ek olarakRust programlama diline dayananJavaScript veTypeScript için birçalıştırma ortamıdır .Node.js'in yaratıcısı Ryan Dahl tarafından güvenlik ve üretkenliğe odaklanılarak geliştirilmeye başlanmıştır.[4] 2018'de Dahl tarafından "Node.js Hakkında 10 Pişman Olduğum Şey" konuşmasında duyuruldu.[5] Deno, ayrı bir paket yönetim sistemi gerektirmez, bunun yerine tek birdosya içinde hem çalışma ortamı hem depaket yöneticisi rolünü üstlenir.[6][7]

Geçmiş

[değiştir |kaynağı değiştir]

Deno, JSConf EU 2018'de Ryan Dahl tarafından "Node.js Hakkında 10 Pişman Olduğum Şey" adlı konuşmasında duyuruldu.[5] Ryan konuşmasındaNode.js ile ilk tasarım kararlarından pişmanlıklarından bahsetti,API tasarımında Promises kullanmama, eski GYP inşa sisteminin kullanımı, node_modules ve package.json dosya uzantıları ve V8 problemleri gibi birçok konuya değindi.[8]

Genel bakış

[değiştir |kaynağı değiştir]

Deno, modern programcı için verimli ve güvenli birbetik ortamı olmayı hedeflemektedir.[6] Deno, Node.js'ye benzer şekilde, engelleme sürümleriyle birlikte bir dizi non blocking-IO çekirdeği yardımcı programı sağlayarak olay odaklı mimariye vurgu yapar. Denoweb sunucuları oluşturmak, bilimsel hesaplamalar yapmak için kullanılabilir.

Node.js ile Karşılaştırma

[değiştir |kaynağı değiştir]

Deno ve Node.js,Google Chrome'da da kullanılanGoogle'ınV8 JavaScript motorunda oluşturulmuş çalışma ortamıdır. Her ikisinin de dahili olay döngüleri vardır vekomut dosyalarını çalıştırmak için komutsatırı arabirimleri ve çok çeşitli sistem yardımcı programları sağlar.

Bu arada, Deno temelde Node.js'den şu yönleriyle ayrışmaktadır.[6]

  1. ES Modülü sistemini,CommonJS yerine varsayılan modül sistemi olarak kullanır.
  2. Tarayıcılara benzer şekilde yerel veya uzak bağımlılıkları yüklemek içinURL'leri kullanır.
  3. Node.js kurulumun ardından gelenNPM paket yönetim sistemi gibi bir sistemi yoktur. Deno da bu gömülü olarak gelir.
  4. Javascript'in süperseti olan ve Microsoft tarafından geliştirilenTypescript ile geliştirme ortamını sunar. Bu geliştiriciye Javascript'in esnek yapısından kurtulması için iyi bir şanstır.
  5. Çok çeşitli Web API'sine sahip tarayıcılarla daha iyi uyumluluk sağlar.
  6. Sandbox kodunu çalıştırmak için dosya sistemine ve ağ erişimine denetime izin verir.
  7. Promises,ES6 ve TypeScript özelliklerini kullanmak için sistemi yeniden tasarlanmıştır.
  8. Harici bağımlılık olmadan büyük bir standart kütüphane sağlarken çekirdek API boyutunu en aza indirir.

Örnekler

[değiştir |kaynağı değiştir]

Aşağıdakiler, okuma / yazma / ağ izinleri (sandbox modu) olmadan temel bir Deno komut dosyasını çalıştırır:

denorunmain.ts

İlgili izni göstermek için açık komutlara gerekir:

denorun--allow-read--allow-netmain.ts

Komut dosyasının bağımlılık ağacını incelemek içininfo alt komutunu kullanın:

denoinfomain.ts

Deno'daki temel birmerhaba dünya programı aşağıdakine benzer (Node.js'de olduğu gibi):

console.log("Hello world");

Deno, tarayıcıda bulunmayan Deno'ya özgü API'lerin çoğu için genel ad alanı sağlar. BirUnixcat programı aşağıdaki gibi uygulanabilir:

/* cat.ts *//* Aşağıdaki fonksiyonlar Deno namespace'inden devralınır. */const{stdout,open,copy,args}=Deno;for(leti=0;i<args.length;i++){constfilename=args[i];// Komut satırı bağımsız değişkenleri ele alır.constfile=awaitopen(filename);//Filename adıyla dönen osyalar open fonksiyonu ile açılır.awaitcopy(stdout,file);// Asenkron olarak kopyalanır.}

Kaynakça

[değiştir |kaynağı değiştir]
  1. ^"Contributors, denoland/deno, Github". 30 Mayıs 2019 tarihinde kaynağındanarşivlendi. Erişim tarihi:5 Temmuz 2019. 
  2. ^"Release v2.2.4". 14 Mart 2025. Erişim tarihi:19 Mart 2025. 
  3. ^"Deno 0.32.0". 22 Şubat 2020 tarihinde kaynağındanarşivlendi. Erişim tarihi: 3 Şubat 2020GitHub vasıtasıyla. 
  4. ^"Deno: Secure V8 TypeScript Runtime from Original Node.js Creator".InfoQ. 8 Ocak 2020 tarihinde kaynağındanarşivlendi. Erişim tarihi: 17 Mayıs 2019. 
  5. ^abRyan Dahl'ın İlgili Konuşması, 17 Mayıs 2019 tarihinde kaynağındanarşivlendi, erişim tarihi: 13 Şubat 2020 
  6. ^abc"Deno Manual".deno.land. 8 Ocak 2020 tarihindekaynağından arşivlendi. Erişim tarihi: 17 Mayıs 2019. 
  7. ^"Ryan Dahl's Node.js regrets lead to Deno".InfoWorld. 21 Haziran 2018. 10 Haziran 2019 tarihinde kaynağındanarşivlendi. Erişim tarihi: 13 Şubat 2020. 
  8. ^"Design mistakes in Node"(PDF).Github. 6 Haziran 2018. 22 Şubat 2020 tarihinde kaynağındanarşivlendi(PDF). Erişim tarihi: 13 Şubat 2020. 

Dış bağlantılar

[değiştir |kaynağı değiştir]
"https://tr.wikipedia.org/w/index.php?title=Deno&oldid=32507152" sayfasından alınmıştır
Kategori:

[8]ページ先頭

©2009-2025 Movatter.jp