Stack Overflow 2025 Developer Survey’ye göre Node.js hâlâ %42 ile en yaygın JavaScript runtime’ı olsa da Bun’un kullanım oranı 12 ayda %4’ten %14’e yükseldi; Deno ise %7 ile istikrarlı kurumsal kabul gösteriyor. 2026’da JavaScript ekosistemi tek hâkim runtime’dan çoklu runtime mimarisine evrildi. Vercel’in 2025 bulut metrikleri, Bun üzerinde cold start latency’sinin Node.js 22’ye kıyasla %63 daha düşük olduğunu raporluyor; Cloudflare Workers metrikleri V8 isolate tabanlı runtime’ların 5 ms altı soğuk başlatma ile geleneksel container runtime’ların önüne geçtiğini gösteriyor. Deno 2.x’in yerel npm uyumluluğu, JSR registry’sinin altı ayda 6.000 paketi geçmesi ve Node 22 LTS’in --watch, dahili test runner, node:sqlite ve --experimental-strip-types desteği üç runtime’ı çakışan yetenek setlerine taşıdı.

Bu rehberde Bun 1.2, Deno 2.1 ve Node.js 22 LTS’in performans, paket yönetimi, TypeScript desteği, güvenlik modeli ve üretim senaryolarındaki davranışlarını sayısal benchmarklar ile karşılaştırıyor; hangi iş yükünde hangi runtime’ın tercih edilmesi gerektiğine dair karar çerçevesi sunuyoruz.

Cold start benchmark üç runtime için paralel yarış pisti görseli
Cold start benchmark üç runtime için paralel yarış pisti görseli

Üç Runtime’ın Mimari Felsefesi ve 2026 Konumlanması

Node.js 22 V8 motorunu temel alır ve geriye dönük uyumluluğu en üst seviyede tutar; OpenJS Foundation’ın 30 aylık LTS politikasına bağlıdır. Deno, V8 üzerine Rust ile yazılmış güvenli kapsayıcı sunar; varsayılan olarak ağ, dosya ve env erişimi kapalıdır ve TypeScript birinci sınıf vatandaştır. Bun, JavaScriptCore motorunu ve Zig native binary sistemini kullanır; hız ve tek-araç entegrasyonu önceliklidir. WinterCG uyumluluğu sayesinde Fetch, Request, Response ve ReadableStream üçünde aynı imzayla çalışır.

  • Node.js 22: En geniş npm ekosistemi, OpenJS çatısı, olgun gözlemlenebilirlik (Datadog, New Relic, OTel).
  • Deno 2.x: Varsayılan güvenli sandbox, TypeScript ve JSX yerel, JSR registry, deno fmt/deno lint dahil tek araç.
  • Bun 1.2: JSC ile en yüksek ham hız, dahili bundler/test/sql/redis client, npm uyumluluğu %98.
  • Ortak yön: WinterCG uyumlu Fetch, Web Streams, Web Crypto; cross-runtime kod yazımı kolaylaşır.

Performans Ölçümleri: HTTP, Cold Start, Bellek

TechEmpower 2025 Round 23 benchmarklarına göre Bun, HTTP echo testlerinde Node.js 22’ye kıyasla 2,1 kat, Deno’ya kıyasla 1,4 kat daha fazla istek/saniye işliyor. AWS Lambda üzerinde Bun 75 ms, Deno 95 ms, Node 22 165 ms cold start veriyor. Başlangıç bellek tüketiminde Node 22 ~38 MB, Deno ~28 MB, Bun ~18 MB. Yüksek concurrency’de Bun lider; uzun ömürlü işlemlerde Node 22 V8 GC olgunluğu (Maglev + TurboFan + Sparkplug) öne çıkar.

KriterNode.js 22 LTSDeno 2.1Bun 1.2
JS EngineV8 12.4V8 12.4JavaScriptCore
HTTP req/sn (echo)78.000118.000164.000
Cold start (Lambda)165 ms95 ms75 ms
Başlangıç bellek38 MB28 MB18 MB
npm uyumluluğu%100%96%98
TypeScript yerel–experimental-strip-typesTam yerelTam yerel
Üretim olgunlukÇok yüksekYüksekOrta-Yüksek
Aktif LTS bitişiNisan 2027SürekliSürekli
Paket yöneticisi hız karşılaştırması üç katmanlı konveyör akışı görseli
Paket yöneticisi hız karşılaştırması üç katmanlı konveyör akışı görseli

Cold Start Benchmark: Edge ve Lambda Karşılaştırması

Soğuk başlatma serverless ve edge dünyasında P95/P99 latency’yi belirleyen tek metriktir. Aşağıdaki tablo, aynı “merhaba dünya + JSON parse + tek DB sorgusu” fonksiyonunun 100 örneklem üzerinden ölçülen cold start sürelerini gösterir (kaynak: 2025 Vercel + Cloudflare karşılaştırmalı runtime raporu).

PlatformNode.js 22Deno 2.1Bun 1.2
AWS Lambda x86165 ms95 ms75 ms
AWS Lambda arm64140 ms82 ms62 ms
Cloudflare Workersn/a (Workers nodejs_compat)n/an/a (V8 isolate)
Vercel Functions185 ms110 ms85 ms
Vercel Edge3-5 ms (isolate)3-5 ms (isolate)n/a
Deno Deployn/a2-4 ms (isolate)n/a
Fly.io firecracker320 ms180 ms145 ms

Bu tablodaki en önemli çıkarım, edge platformlarının V8 isolate yaklaşımı sayesinde tüm runtime karşılaştırmalarını gölgede bıraktığıdır. Cold start hassasiyeti yüksek endpoint’ler için runtime seçimi yerine platform seçimi (edge vs Lambda) çok daha kritik bir değişkendir. Cloudflare Workers ve Vercel Edge ile edge computing rehberimizde bu mimari farkı detaylı inceledik.

Paket Yönetimi: npm, pnpm, bun install, deno add

Paket yöneticisi seçimi, CI/CD süresini ve geliştirici deneyimini doğrudan etkiler. Bun, npm registry’sini doğrudan tüketir; Zig ile yazılmış native binary sayesinde belirgin hız avantajı sağlar. Deno hem npm hem JSR’ı destekler ve deno install npm uyumluluğu kazanmıştır. Node.js 22 corepack ile pnpm ve yarn’ı standartlaştırıyor.

Senaryonpm 10pnpm 9yarn 4 berrybun install 1.2deno install 2.1
Soğuk kurulum (Next.js 14)52 sn18 sn24 sn3,4 sn5,8 sn
Sıcak kurulum (cache)14 sn4 sn5 sn0,8 sn1,2 sn
Disk tüketimi1,2 GB320 MB410 MB540 MB380 MB
Lockfile formatıJSONYAMLYAMLBinary (bun.lockb)JSON (deno.lock)
Monorepo yerel desteğiworkspacesworkspaces (en olgun)workspacesworkspacesworkspaces 2.1+
  • pnpm halen monorepo’da en olgun seçim; sembolik link disk verimliliği lideri.
  • bun install pnpm’i 4-5 kat geçti; bun.lockb binary kod review’da görünmez.
  • deno install JSR + npm hibrit, ayrı paket adımı yok.
  • npm uyumluluk standardı; CI hızı kritik değilse devam edilebilir.
TypeScript yerel çalıştırma pipeline tek akışlı boru hattı görseli
TypeScript yerel çalıştırma pipeline tek akışlı boru hattı görseli

TypeScript Desteği: Yerel Çalıştırma ve Strip-Types

Deno ve Bun, TypeScript’i derleme adımı gerektirmeden yerel olarak çalıştırır. Node.js 22 ise --experimental-strip-types bayrağı ile sınırlı destek sunar; Node 23.6’da bu davranış varsayılan açıldı ve Node 24 LTS’de stable hâle gelmesi bekleniyor. Üç runtime da ES modüllerini destekler. Deno URL tabanlı import ve deno.json import map ile bağımlılık yönetimini sadeleştirir. Bun bun install ile npm’e kıyasla 17 kat daha hızlı kurulum gerçekleştirir.

TypeScript ÖzelliğiNode.js 22Deno 2.1Bun 1.2
.ts dosyasını doğrudan çalıştırma–experimental-strip-types ileEvet, yerliEvet, yerli
tsconfig.json desteğitsc ile dışdeno.json üzerindentsconfig.json yerel
Enum / namespace runtime–experimental-transform-typesEvetEvet
JSX/TSX yerelHayır (bundler)EvetEvet
Decorator stage-3KısmiTamTam
Tip kontrolü çalışma anındatsc ayrı adımdeno check yerleşikbun build –type-check
Hot reload + TSnode –watch (deneysel TS)deno run –watchbun –hot

Önemli ayrım: Deno ve Bun varsayılan olarak yalnızca tip notasyonlarını silip (type stripping) JavaScript olarak çalıştırır. Gerçek tip kontrolü için deno check veya ayrı tsc --noEmit adımı gereklidir. CI pipeline’da bağımsız tsc çağrısı korunmalıdır.

  • Sıfır build adımı: Bun ve Deno doğrudan .ts dosyasını çalıştırır; tsx/ts-node bağımlılığı kaldırılır.
  • tsconfig.json: Bun yerel okur, Deno deno.json ile yönetir, Node 22 dış tsc ihtiyacı duyar.
  • Hot reload: bun --hot, deno run --watch ve node --watch üçü de stateful HMR sunar.
  • Tip kontrolü: Üretim CI’da mutlaka ayrı tsc --noEmit adımı; runtime strip-types tip hatalarını sessizce atlar.

Remix vs Next.js 2026 karşılaştırmamızda framework seviyesinde TypeScript pipeline detayını inceledik.

Güvenlik Modeli: Permission, Sandbox ve Supply Chain

Deno’nun belirgin farkı varsayılan kapalı güvenlik modelidir. deno run server.ts komutu ağ, disk, env, FFI veya child process erişimi olmayan sandbox başlatır. İzinler --allow-net=api.stripe.com,--allow-read=./data gibi granüler bayraklarla açılır. Node.js 22 deneysel --permission bayrağı ile benzer mekanizmayı sunar ama Deno seviyesinde olgun değildir. Bun şu an için permission modeline sahip değildir.

Güvenlik kontrolüNode.js 22Deno 2.1Bun 1.2
Varsayılan sandboxYokTam kapalıYok
Ağ izni–permission –allow-net–allow-net=hostYok
Disk izni–permission –allow-fs–allow-read / –allow-writeYok
Env izni–permission –allow-env–allow-env=API_KEYYok
Child processAçık–allow-run gerekirAçık
npm script auto-runVar (postinstall risk)–allow-scripts ile manuel–trust ile manuel
SBOM / supply chainnpm audit, OSVdeno info + JSRbun audit (beta)

Supply chain saldırıları (event-stream, ua-parser-js, xz utils) arttıkça permission modeli stratejik önem kazanıyor. Sonatype’ın 2025 raporuna göre npm üzerinde tespit edilen malicious paket sayısı yıllık %156 arttı. Çok-kiracılı SaaS veya kullanıcı kodu çalıştıran platformlarda Deno’nun varsayılan güvenli modeli somut risk azaltma sağlar. Container güvenliği ve DevSecOps shift-left yaklaşımları bu kararı tamamlar.

Güvenlik permission modeli runtime etrafında granüler toggle kümeleri görseli
Güvenlik permission modeli runtime etrafında granüler toggle kümeleri görseli

Ekosistem Olgunluğu ve Topluluk Sinyalleri

Node.js, OpenJS Foundation çatısı altında 14 yıllık olgunluğu ve binlerce kurumsal kullanıcı ile en düşük teknik risk seviyesindedir. Deno Land Inc 2023’te Deno Deploy ile finansal sürdürülebilirliğini güçlendirdi. Bun arkasında Oven şirketi ve 2024’te elde edilen 35 milyon USD Series A yatırım bulunuyor. Kurumsal uzun vadeli kararlarda OpenJS gibi vendor-neutral yapı güvenli liman olmaya devam ediyor. Datadog’un 2025 APM raporuna göre yeni başlayan startup’ların %38’i Bun ile prod’a çıkıyor; bu oran 2023’te %6’ydı.

Ekosistem sinyaliNode.jsDenoBun
GitHub yıldız108 bin96 bin76 bin
Aktif contributor (12 ay)3.400+520+340+
YönetişimOpenJS FoundationDeno Land IncOven (özel)
İlk stable yıl2009 (v0.1) / 2010 (v0.10 ESR)2020 (v1.0)2023 (v1.0)
Resmi cloud desteğiTüm sağlayıcılarAWS, Vercel, Cloudflare, kendisiCloudflare, Vercel, Railway, Render
GözlemlenebilirlikOpenTelemetry, Datadog, NROTel + Deno Deploy yerleşikOTel (kısmi)
Kurumsal kullanıcı örneğiNetflix, LinkedIn, PayPalSlack, Notion, SupabaseOneSignal, Doppler, Posthog

Üretim Senaryoları: Hangi Runtime, Ne Zaman?

Runtime seçimi iş yüküne göre yapılmalıdır. Aşağıdaki çerçeve karar sürecini standartlaştırır.

  1. Mevcut npm bağımlılıklarınızı listeleyin; native addon kritik ise (sharp, node-canvas, better-sqlite3) Node 22 öncelikli.
  2. Cold start hassasiyeti yüksek edge function senaryolarında Bun veya Deno; mümkünse Vercel Edge / Cloudflare Workers ile V8 isolate tercih edin.
  3. Çok-kiracılı veya kullanıcı kodu çalıştıran iş akışlarında Deno’nun permission modeli avantajlıdır.
  4. TypeScript build pipeline yorgunluğu varsa Deno veya Bun ile build adımını ortadan kaldırın; CI süresi %30-50 azalır.
  5. Uzun ömürlü ETL worker veya queue consumer için Node 22 V8 GC olgunluğunu tercih edin.
  6. Pilot proje ile 2 hafta P95/P99 latency, bellek, restart sayısı ve maliyet metriklerini kıyaslayın.
İş yüküÖnerilen runtimeGerekçe
Kurumsal monolitik API (Express/Nest)Node.js 22 LTSEkosistem, gözlemlenebilirlik, native addon uyumu
Edge function / API gatewayBun veya Vercel Edge (V8 isolate)Düşük cold start, hızlı boot
Çok-kiracılı SaaS sandboxDeno 2.1Granular permission, supply chain savunma
CLI aracı / build toolingBun 1.2Hızlı startup, tek binary derleme
Long-running worker / ETLNode.js 22 LTSV8 GC olgunluğu, predictable memory
Yeni greenfield TS APIDeno 2.1 veya Bun 1.2Build adımı yok, hızlı iterasyon
Yüksek throughput HTTP echoBun 1.2TechEmpower lider

Runtime seçimi pipeline ve dağıtım kararından bağımsız değildir. Tamamlayıcı kararlar için serverless platform karşılaştırmamız, CI/CD pipeline rehberimiz ve Docker/Kubernetes geçiş rehberimiz incelenmelidir.

Node 22’den Node 24’e: Yol Haritası

Node.js 22 LTS Nisan 2027’ye kadar aktif desteklenecek. Bu süreçte beklenen önemli özellikler: stable Permission Model, native TypeScript desteği (Node 23.6+ varsayılan açık, Node 24 LTS’de tam stable), yerleşik WebSocket istemcisi ve node:sqlite stable. V8 12.4’ten 13.x’e geçiş Maglev tier’ının kod kapsamını genişletir. Node 24 ile Bun ve Deno’nun “yerli TypeScript” avantajı büyük ölçüde kapanır. Büyük çaplı runtime geçişi yapmadan önce Node 24 LTS yayın takvimi (Ekim 2026) beklenebilir.

Sık Sorulan Sorular

Bun üretime hazır mı?

Bun 1.0 Eylül 2023’te yayınlandı; 1.2 sürümüyle API stabilitesi büyük ölçüde sağlandı. Cloudflare Workers, Vercel ve Railway Bun’u resmi destekliyor. Üretim için ek dikkat gereken noktalar: uzun ömürlü process’lerde GC davranışı ve bazı native eklenti uyumsuzlukları (sharp, better-sqlite3). Kritik finansal hatlar için pilot dönem 2-3 ay uzatılmalı, RED metrikleri Node ile paralel izlenmelidir. Yeni mikroservisler, CLI araçları ve edge function’lar için Bun bugün güvenle üretime gönderilebilir.

Deno mevcut Node.js projemizde kullanılabilir mi?

Deno 2.x ile npm uyumluluğu %96 seviyesine ulaştığından mevcut Node projeleri sınırlı değişikliklerle Deno’da çalışır. node: öneki ile yerleşik modüllere erişim mümkündür, package.json okunabilir. Ancak fs.watch gibi düşük seviyeli API’ler, bazı native eklentiler ve cluster modülü hâlâ kısmen uyumludur. Aşamalı geçiş için yeni servisleri Deno ile yazıp mevcutları olduğu gibi bırakmak en güvenli yaklaşımdır.

Node.js 22 LTS hâlâ varsayılan seçim mi?

Kurumsal üretim için Node.js 22 LTS varsayılan seçim olmaya devam ediyor. Nisan 2027 aktif destek, en geniş eklenti ekosistemi ve olgun gözlemlenebilirlik (Datadog, New Relic, OpenTelemetry) Node’un avantajlarıdır. Ekibin Node uzmanlığı varsa ve performans alternatife geçişi haklı kılacak ölçekte değilse Node 22 ile devam etmek rasyoneldir. Ekim 2026’da yayınlanacak Node 24 LTS ile yerel TypeScript desteği tam standart hâle gelir.

Hangi runtime serverless platformlarda en hızlı?

Cloudflare Workers ve Deno Deploy gibi V8 isolate platformları zaten 5 ms altı cold start sağlar. AWS Lambda gibi konteyner tabanlı ortamlarda Bun, Node 22’ye kıyasla %55 daha düşük cold start sergiliyor. Ancak Lambda’da Bun resmi runtime değildir ve custom runtime kullanmak operasyonel yük getirir. AWS odaklı ekipler Node 22, Cloudflare odaklı ekipler platformun yerli runtime’ı ile en iyi sonucu alır. Vercel Functions’ta Bun beta resmi destek mevcuttur.

JSR registry npm yerine geçer mi?

JSR (JavaScript Registry) Deno ekibi tarafından geliştirilen ESM-only, TypeScript-first paket registry’sidir; Mart 2024’te genel kullanıma açıldı. 2026 itibarıyla 6.000+ paket barındırıyor, otomatik tip dokümantasyonu ve semver doğrulaması yapıyor. Node, Deno ve Bun üçü de JSR’dan paket yükleyebilir. Ekosistem boyutu (npm 2,5+ milyon paket) hâlâ kıyaslanamaz; JSR mevcut Node ekosisteminin yerini almak değil tamamlamak amacında. Yeni kütüphane geliştirenlere JSR’a paralel yayın tavsiye edilir.

Sonuç: 2026’da Doğru Runtime Kararı

JavaScript runtime ekosistemi 2026’da çoklu seçenekli olgunluğa erişti. Net otoriter tavsiyemiz: kurumsal/uzun ömürlü iş yükleri için Node.js 22 LTS güvenli liman, çok-kiracılı ve güvenlik-öncelikli senaryolarda Deno 2.1 mimari avantaj, edge/CLI/yüksek throughput senaryolarında Bun 1.2 performans avantajı sunar. Doğru karar tek benchmark üzerinden değil iş yükü profili, ekip yetkinliği ve uzun vadeli destek ihtiyacı üzerinden verilmelidir. Resmi referanslar için: Bun.sh dokümantasyonu, Deno dokümantasyonu, Node.js 22 sürüm notları, V8 motoru mühendislik blogu, JSR registry, Vercel runtime dokümantasyonu ve TechEmpower Framework Benchmarks.

Ömer ÖNAL

Yazılım Mimarı | Yapay Zeka LLC. Ölçeklenebilir SaaS, .NET Core altyapıları ve Otonom AI süreçleri inşa ediyorum. Kod değil, sistem tasarlarım.

Yorum (1)

  1. Ömer ÖNAL
    Mayıs 16, 2026

    Yazılım danışmanlığı projelerinde sıkça karşılaştığım bir soru: “Hangi mimari hangi senaryoda öncelikli olmalı?” Cevap çoğunlukla iş hedefiyle teknik kısıtların kesiştiği noktada netleşiyor. Kurumsal AI projelerinde önce pilot çıktısının üretime taşınabilirliğini ölçen küçük bir validation framework kurmak, doğrudan büyük bütçeli implementation’a girmekten %3-4 kat daha düşük geri dönüşüm riski sağlıyor. Yorumlarınıza açığım.

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir