# Deno

Adres: https://softwaredictionary.org/tr/terimler/deno
Kategori: Backend ve API'ler
Son güncelleme: 2026-10-06
Okunuşu: dino

Kısaca: Deno, sistem erişimini izin verilene kadar kapalı tutan ve kendi araçlarıyla gelen, açık kaynaklı bir JavaScript ve TypeScript çalışma ortamıdır.

## Deno nedir?

Deno, JavaScript ve TypeScript'i tıpkı Node.js gibi bir sunucuda ya da geliştiricinin bilgisayarında çalıştıran bir çalışma ortamıdır (runtime). Node.js'in ilk yaratıcısı Ryan Dahl tarafından, 2018'de Node'da pişman olduğu tasarım kararlarını anlattığı bir konuşmanın ardından başlatıldı. Node.js gibi Google'ın V8 motoru üzerinde çalışır, ama geri kalanı Rust ile yazılmıştır; 1.0 sürümü 2020'de, Deno 2 ise 2024'te çıktı.

Deno'yu üç fikir ayırır. TypeScript dosyalarını ayrı bir derleme adımı olmadan doğrudan çalıştırır. Varsayılan olarak güvenlidir: bir script, siz `--allow-net` ya da `--allow-read` gibi bayraklarla izin verene kadar dosya okuyamaz, ağ bağlantısı açamaz ve ortam değişkenlerini göremez; tıpkı bir telefon uygulamasının izin istemesi gibi. Ayrıca tek bir çalıştırılabilir dosya günlük araçları içerir: bir biçimlendirici (`deno fmt`), bir linter (`deno lint`), bir test çalıştırıcı (`deno test`) ve bir script'i bağımsız bir programa dönüştüren bir derleyici (`deno compile`).

Deno; `fetch`, `Request`, `Response` ve Web Streams gibi web standardı API'leri tercih eder, bu yüzden aynı kodun büyük kısmı tarayıcılarda da çalışır. Paketler npm'den `npm:` import'larıyla ya da bir `package.json` dosyasıyla, Deno ekibinin başlattığı ve JavaScript ile TypeScript modüllerine yönelik bir kayıt defteri olan JSR'den ya da doğrudan bir URL'den gelebilir. Web sunucuları ve API'ler, script'ler ve komut satırı araçları ile Supabase'in Edge Functions'ı ve Deno'nun kendi barındırma servisi Deno Deploy dahil serverless edge fonksiyonları için kullanılır.

En sık sorulan soru, Deno'nun Node.js'ten nasıl ayrıldığıdır. İkisi de V8 üzerinde büyük ölçüde aynı JavaScript'i çalıştırır ve Deno 2'den beri çoğu npm paketi ile `node:fs` gibi Node.js yerleşik modülleri Deno'da da çalışır; yani farklar varsayılanlardadır. Node.js her script'e sisteme tam erişim verir ve biçimlendirme ile lint işini ayrı araçlara bırakır; Deno ise izin ister ve bu araçları içinde getirir. Aradaki fark daraldı: yeni Node.js sürümleri tipleri silerek birçok TypeScript dosyasını çalıştırabiliyor ve isteğe bağlı bir izin modeli sunuyor; Node.js ise daha büyük ekosistemini ve en geniş barındırma desteğini koruyor.

## Önemli noktalar

- Deno, Node.js'in ilk yaratıcısının V8 ve Rust üzerine kurduğu bir JavaScript ve TypeScript çalışma ortamıdır.
- Script'ler, izin verilene kadar dosyalara, ağa ya da ortam değişkenlerine erişemez.
- TypeScript doğrudan çalışır; biçimlendirici, linter, test çalıştırıcı ve derleyici yerleşiktir.
- Deno 2'den beri çoğu npm paketi ve Node.js yerleşik modülü çalışır.
- Node.js'ten, çalıştırdığı JavaScript'le değil, esas olarak varsayılanlarıyla ayrılır.

## Örnek: Deno'da küçük bir web sunucusu

```typescript
// server.ts: TypeScript runs directly, with no build step
Deno.serve({ port: 8000 }, (req: Request) => {
  const { pathname } = new URL(req.url);
  return Response.json({ path: pathname, runtime: "Deno" });
});

// Network access must be granted explicitly:
//   deno run --allow-net server.ts
// Without the flag, Deno asks at the prompt, or refuses in CI.

// Built-in tools, no extra packages:
//   deno fmt   deno lint   deno test   deno compile --allow-net server.ts
```

## Sık sorulan sorular

**Deno ile Node.js arasındaki fark nedir?**

İkisi de JavaScript'i V8 motoruyla çalıştırır ve Deno çoğu npm paketini çalıştırabilir. Deno TypeScript'i doğrudan çalıştırır, siz izin verene kadar dosya ve ağ erişimini engeller, bir biçimlendirici, linter ve test çalıştırıcı içerir; Node.js ise daha büyük bir ekosisteme sahiptir ve script'lere varsayılan olarak tam erişim verir.

**Deno npm paketlerini kullanabilir mi?**

Evet. Deno 2'den beri onları `npm:express` gibi bir `npm:` önekiyle import edebilir ya da Node.js'teki gibi bir `package.json` dosyasında listeleyebilirsiniz. Node.js'in nadiren kullanılan iç yapılarına dayanan az sayıda paket çalışmayabilir.

**Deno, Node.js'ten daha hızlı mı?**

İkisi de V8 üzerine kurulu olduğu için çoğu web iş yükünde benzer performans gösterir ve kıyaslamalar işe göre değişir. Seçimi ham hızdan çok araçlara, güvenlik varsayılanlarına ve ihtiyaç duyduğunuz kütüphanelere göre yapmak genellikle daha mantıklıdır.

## Kaynaklar

- [Deno documentation: Get started with Deno](https://docs.deno.com/runtime/)
- [Deno documentation: Security and permissions](https://docs.deno.com/runtime/fundamentals/security/)
- [Deno documentation: Node and npm Compatibility](https://docs.deno.com/runtime/fundamentals/node/)

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
