· kaynak Hacker News – Front Page (native)
Deno'nun yaratıcısı Ryan Dahl Cloudflare'e katılıyor; Deno runtime önümüzdeki yıl içinde kapanacak
Ryan Dahl'ın Deno ekibi Cloudflare'e katılıyor: runtime önümüzdeki yıl içinde kapanıyor, JSR Cloudflare altyapısında çevrimiçi kalmaya devam ediyor ve celld, workerd ile birleştiriliyor.
Ne oldu
vlt package manager'ın背后的 şirketi vlt'ın yayınladığı bir değerlendirmeye göre, Ryan Dahl geçen hafta Deno ekibinin Cloudflare'e katıldığını duyurdu. Bu düzenleme kapsamında Deno runtime önümüzdeki yıl içinde kapanacak, JSR registry Cloudflare'in altyapısında çalışmaya devam edecek ve — Cloudflare'in kendi açıklamasına göre — ekibin yeni görevi, Deno'nun celld bileşenini, Cloudflare Workers'ın motoru olan workerd ile birleştirmek.
Haber, Deno 2'nin yayınlanmasının üzerinden tam iki yıl geçtikten ve diğer önemli girişim destekli alternatif runtime olan Bun'ın Anthropic tarafından absorb edilmesinden yaklaşık on ay sonra geldi. Açık sonuç, alternatif runtime deneyinin bittiği ve Node'un varsayılan olarak ayakta kaldığı. vlt'ın karşı argümanı ise şu: ekosistem, Deno'nun savunduğu şeylerin çoğunu zaten içine aldı, sadece Deno'nun kendisinden değil.
Temiz kopuştan Node uyumluluğuna
Deno, 2018'de JSConf EU'da Node'a açık bir eleştiri olarak başladı. vlt'ın anlattığına göre, Dahl'ın özgün listesi varsayılan olarak reddedilen izinler, birinci sınıf TypeScript, sunucuda web standardı API'ler, yalnızca ES module'lar ve tek bir çalıştırılabilir dosya içeriyordu — ve dikkat çekici biçimde npm, package.json ve node_modules yoktu; bağımlılıklar doğrudan URL ile referans veriliyordu.
Bu son kısım zamanla aşındı. Deno 1.0, 2020'de özgün şartlarla yayınlandı, ardından bare specifier'ları geri getirmek için deps.ts kuralını (fiilen bir manifest), lock.json'ı (bütünlük hash'lerinden oluşan bir lockfile) ve import map'leri benimsedi. Deno'nun dokümantasyonu artık ham HTTPS import yerine registry'leri öneriyor; gerekçe olarak sürüm sapması ve sunucu hosting'ine bağımlılık gösteriliyor — şüphecilerin 2018'de dile getirdiği itirazların aynısı, şimdi resmi rehber olarak yeniden ifade ediliyor. Bu şüpheciler arasında Node TSC üyesi Matteo Collina, 2020'de bir left-pad tarzı olayının, onu onarabilecek merkezi bir organ olmadan tekrarlanabileceği uyarısında bulunmuştu.
Bun geri çekilmeyi hızlandırdı. Bun 0.1, Temmuz 2022'de ters bir bahisle geldi: hız peşinde yeniden inşa edilmiş bir araç zinciri, ama mevcut npm paketleri, package.json ve hazır Node uyumluluğu. vlt'a göre yaklaşık altı hafta sonra Deno, npm: specifier'larını ve npm paketlerinin büyük çoğunluğunu üç ay içinde çalıştırma taahhüdünü, yeni bir hız hedefiyle birlikte duyurdu. Ekim 2024'teki Deno 2, tam Node ve npm desteğiyle bu dönüşü tamamladı — Node ekosisteminden kaçış olarak başlamasının üzerinden dört yıl sonra.
Baskı Node'a geri aktı
vlt'ın yazdığı gibi, Deno hiçbir zaman üretimde gerçek bir çekim gücü kazanamadı; Node 2026'da da 2018'deki kadar baskındı. Ama bu rekabet yerleşik oyuncuyu yeniden şekillendirdi. 2018'den bu yana Node, global fetch, WebSocket, Web Streams ve Web Crypto yayınladı; --watch ile stabil bir test runner, --env-file, tek çalıştırılabilir dosya build'leri, stabil bir izin modeli, varsayılan olarak açık type stripping, node:sqlite ve require(esm) geldi. vlt, Node'un büyük ölçüde gönüllü katkımcılarına güveniyor ama bu zaman çizelgesinin ancak rakip runtime'lar bu fikirleri önce yayınladığı için tuttuğunu savunuyor. Onların anlatısında yerleşik projeler nadiren fikir sıkıntısı çeker; eksik olan şey aciliyettir ve rakipler bunu yaratır.
Aynı dinamik araç zincirinde de geçerli. WinterCG, 2022'de minimum ortak bir runtime API'si tanımlamak için kuruldu ve Ecma TC55 olarak devam ediyor. Yarn deterministik install ve lockfile'ları zorunlu kıldı, pnpm node_modules'in küçük olabileceğini kanıtladı ve Bun, yerleşik oyunculara performans çalışması zorunlu kıldı. pnpm ve Bun ayrıca, bir dizi tedarik zinciri solucanının ardından GitHub, npm 12'nin aynısını yapacağını duyurmadan yıllar önce, paket install script'lerini varsayılan olarak çalıştırmayı bıraktı.
Kapanıştan ne kalıyor
vlt'ın öne sürdüğüne göre JSR, runtime'dan daha uzun ömürlü olacak; çünkü işletilmesi ucuz, API'si dokümante ve Cloudflare'in onu canlı tutmak için bir nedeni var. celld'nin workerd'ye taşınması çabası anlamlı bir yeni seçenek olarak sunuluyor: Dahl ve Bert Belder öncülüğünde, self-host edilebilir, açık bir Workers ve Durable Objects uygulaması. Deno'nun topluluk fork'u çıkıp çıkmayacağı, vlt'ın eklediğine göre, kimsenin varsayılan olarak güvenli ve web standartları üzerine inşa edilmiş bir runtime'a, buluta bağlı olmayan bir tanesini finanse edecek kadar değer verip vermediğini test edecek.
Neden önemli
En popüler iki bağımsız JavaScript runtime artık ana işi bambaşka olan şirketlerin içinde — Anthropic ve Cloudflare — ve Cloudflare, workerd'nin yol haritasının kendisine ait olduğunu açıkça belirtti. vlt'ın çıkardığı daha geniş ders, açık ekosistemlerin nasıl evrildiğiyle ilgili: fetch, bir izin modeli veya build adımı olmadan TypeScript elde etmek için kimsenin Node'dan ayrılması gerekmedi, çünkü rakipler bu özellikleri önce yayınladı ve yerleşik oyuncu cevap vermek zorunda kaldı. Rekabet eden projeler genellikle fikirleri kazanırken kendileri kaybeder — ve bugünün JavaScript ekosistemi, Deno'nun epeyce fikri üzerine çalışıyor.
- #javascript
- #deno
- #cloudflare
- #node-js
- #runtimes