Deno 2.8
(deno.com)deno addvedeno install, CLI'da öneksiz paket adlarını varsayılan olaraknpm:paketi olarak ele alıyor; böylece mevcut Node projelerindenpm install,yarnveyapnpm installyerine kullanmak kolaylaşıyordeno audit fix, npm bağımlılıklarında güvenlik açığı bulunan paketleri sürüm kısıtlarını karşılayan en yakın patch sürümüne otomatik olarak yükseltiyor ve major sürüm değişikliği gerektiren öğeleri ayrıca gösteriyor- Yeni alt komutlar olarak
deno ci,deno pack,deno transpile,deno whyvedeno bump-versioneklendi; bunlar yeniden üretilebilir kurulumlar, npm yayını için tarball oluşturma, TS→JS dönüşümü, bağımlılık yolunu izleme ve workspace sürüm güncellemelerini destekliyor - Node.js API uyumluluğu, Node'nun kendi test suite'i ölçümüne göre Deno 2.7'de yaklaşık %42 seviyesinden Deno 2.8'de %76,4'e (3.405/4.457) yükseldi ve birçok
node:modülü lazy load edildiği için bu modülleri kullanmayan programların başlangıcı hızlandı - Performans tarafında, Deno 2.7.1'e kıyasla cold npm install süresi 3.319 ms'den 906 ms'ye inerek 3,66 kat hızlandı;
node:bufferbase64 3,07 kat,node:httpthroughput 2,21 kat venode:cryptoscrypt 2,12 kat iyileşti - Uyumluluk değişikliği olarak, global
setTimeoutvesetIntervalartık sayı yerine Node'unTimeoutnesnesini döndürüyor; dönüş değerininumberolarak saklayan veya tür kontrolü ya da aritmetikte kullanan kodlarınNodeJS.Timeoutgibi türlerle güncellenmesi gerekiyor - TypeScript 6.0.3 yerleşik olarak geliyor ve
deno checkile LSP artık varsayılan olaraklib.nodeiçerdiğindenNodeJS.*,Buffer,processgibi Node türlerini ek ayar gerektirmeden çözümleyebiliyor - Hata ayıklama tarafında Chrome DevTools Network sekmesi Deno'nun
fetch(),node:http/node:httpsveWebSockettrafiğini gösterebiliyor; ayrıca--cpu-prof,--cpu-prof-flamegraph,--cpu-prof-mdile V8 profili, SVG flamegraph ve Markdown raporu üretilebiliyor - Paket ve workspace yönetimi için
catalog:protokolü,deno install --os --arch,--prod,nodeModulesLinker: "hoisted",.npmrciçindekimin-release-ageve--package-jsoneklendi; bunlar monorepo sürüm birliği, platformlar arası kurulum, production kurulumu ve mevcut Node projelerinin taşınmasını destekliyor deno compile, Next.js, Astro, Fresh, Remix, SvelteKit, Nuxt, SolidStart, TanStack Start ve Vite SSR projelerini algılayarakdeno task buildçalıştırıyor ve uygun giriş noktasını oluşturuyor; ayrıca büyük npm bağımlılık ağaçları işlenirken ilerleme durumunu da gösteriyor- Testler ve Web API tarafında,
Deno.test()içindekisanitizeOpsvesanitizeResourcesiçin varsayılan değerfalseoldu; test bazındatimeoutve fonksiyon düzeyinde coverage eklendi. AyrıcaOffscreenCanvas, aktarılabilirHeaders,Request,Responseve Streams, SHA3 digest ile P-521 Web Crypto desteği geldi - Yükseltme ve runtime temeli tarafında
deno upgrade, mümkün olduğunda delta güncellemeleri kullanarak indirme boyutunu yaklaşık 48 MB'den 3–6 MB'ye düşürüyor;deno upgrade pr <number>ile PR build'leri kurulabiliyor ve V8 sürümü 14.6'dan 14.9'a yükseliyor
1 yorum
Hacker News görüşleri
Deno varsayılan bir izin modeli sunduğu için faydalı, Rust ile yazılmış ve TypeScript'i yerel olarak destekliyor
Web geliştirme/Node/Bun ekosistemine çok derinden hakim değilim ama birkaç yıldır küçük servislerde Deno'yu memnuniyetle kullandım. Bun'ın neden bu kadar hızlı büyüyor gibi göründüğünü merak ediyorum. Acaba daha çok bundler olarak kullanılıyor da JavaScript çalışma zamanı olarak daha az mı kullanılıyor, bilmiyorum
Sadece izin sistemi bile Deno'yu çekici kılıyor; insanların Node'dan Bun'a geçip Deno'ya gitmemesini pek anlayamıyorum
Uzun süre boyunca pek çok bağımlılık ve framework Deno'da düzgün çalışmadı, hatta ilk zamanlarda npm'den bağımlılık yükleme özelliği bile yoktu. npm tedarik zinciri saldırılarına bakınca, Ryan'ın yaklaşımı belki de doğruydu
Bu yüzden Bun, çok daha az yapılandırma gerektiren ve kutudan çıkar çıkmaz çalışan, kullanışlı özelliklerle dolu daha iyi bir Node gibi göründü. Deno ekibi de başarılı olmak için Node uyumluluğuna ihtiyaç olduğunu fark etmiş ve son birkaç yıldır buna odaklanmış gibi görünüyor. Şu anda Deno'nun Bun'dan daha Node uyumlu olduğunu düşünüyorum
Bu arada, bunların bir kısmı Pokémon hareketi, geri kalanı ise gerçekten JS/TS ekosistemindeki araçlar
Test yapılandırması, tsconfig ya da ES modülleriyle uğraşmak istemediğinizde genelde doğrudan çalışıyor. Deno'nun standart kütüphanesi güzel ve CLI desteği de harika; eskiden deno deploy'u da severdim ama son zamanlarda oldukça uğraştırıcı hale geldi
Üzerinde çalışması gerçekten çok keyifli ve JS tarafında daha yaygınlaşmamış olmasına üzülüyorum
Bu yüzden Bun'a geçtim ve her şey çok daha pürüzsüz oldu
Deno'nun bugünlerde hangi durumda olduğunu merak ediyorum
Node istikrarlı bir çözüm ve varlığını sürdürmeye devam edecek. Artık TypeScript de kullanabiliyorsunuz ve yakında yerel bağımlılıkları da içeren uygulamaları tek bir çalıştırılabilir dosya olarak derlemek mümkün olabilir
Bun kafa karıştırıcı ama hızlı ve standart kütüphaneye her şeyi dahil etme yaklaşımı ilginç. Ayrıca Anthropic tarafından satın alındı
Deno'nun sandbox ve üçüncü taraf bağımlılıkları içe aktarmanın kolaylığı gibi güçlü bir hikayesi vardı ama sandbox artık oldukça yaygınlaşmış gibi geliyor ve import yöntemi de sonuçta
npm add'den o kadar çok daha iyi miydi, emin değilimDeno harika. Küçük ve orta ölçekli web servislerini Deno ile yazıyorum
İsviçre saati gibi çalışıyor ve projenin felsefesi Unix ruhuyla çok uyumlu
Bana göre Deno'yu yapan insanlar biraz fazla mütevazı. Minnettar kullanıcılar projeye bağış teklif ettiğinde bunu kibarca reddediyorlar. Gerekçeyi anlıyorum ama bu, uzun vadede projeye gereksiz mali baskı da yaratabilir
Projenin uzun vadeli başarısına bağımlı kullanıcılar için “lütfen paramı alın” tarzı aylık bir abonelik gayet uygun olabilir
Hızlı ve esnek; diğer JS/TS alternatiflerinden daha güçlü yeteneklere sahip, biraz daha aklı başında bir paket yönetimi, daha iyi bir güvenlik modeli ve daha iyi bir standart kütüphane sunuyor. Ve çok hızlı
Deno adına aşina olmayanlar için, Deno bir JavaScript ve TypeScript çalışma zamanı
Deno 2.6'yı rakipleri Bun 1.3 ve Node.js 25 ile karşılaştıran bir inceleme var: https://www.devtoolreviews.com/reviews/bun-vs-node-vs-deno-2...
Benzer şekilde, açıkça söylenmemiş olsa da Bun sanki sıcak paket önbelleği durumunda çalıştırılmış gibi görünüyor. Diğer çalışma zamanlarında da önbellek var mıydı, merak ediyorum
Deno'nun istikrarlı sürüm döngüsü etkileyici. Bu sürümde hangi performans iyileştirmelerinin geldiğini görmek için sabırsızlanıyorum
Yeni
deno packkomutu, güvenli ve basit paketleme için iyi bir eklemeNode.js kullanıyorsanız benzer bir tek komutluk çözüm https://www.npmjs.com/package/ts-node-pack ile mümkün
Artık Node.js
.tsmodüllerini içe aktarmayı desteklediğine göre, daha fazla depo bunu build aşaması olmadan ya da checkout'a build çıktıları eklemeden kullanabilirdeno pack, açık kaynak paketlerimde mevcutnpm publishakışının yerini alabilir ve çalışma tarzımı Deno öncelikli/Deno merkezli hale getirmeyi sürdürmek için iyi olabilirÖte yandan Node'un TypeScript desteği büyürken bunu yalnızca TypeScript npm paketlerine çevirmek de ekosisteme gönderilen küçük bir mesaj olabilir diye düşünüyorum
Yine de JSR'nin nispeten daha temiz bir ekosistem olarak var olmasına seviniyorum
Ama Deno CLI'ın içine girmesi görünürlüğünü ciddi biçimde artırıyor
Deno ilk dönem değerlerine biraz daha uzun süre bağlı kalsaydı, Node uyumluluğu baskısının bir kısmını AI ajanları telafi edebilirdi gibi geliyor
Çünkü bu baskının önemli bir bölümü aşinalık sorunundan kaynaklanıyor. Eğer sadece express.js ile yapılandırma yapmayı biliyorsanız, sonradan çıkan her araç ya da çalışma zamanının da “pürüzsüz” bir geçiş için benzer soyutlamalar sunması gerektiğini düşünüyorsunuz. İlk çözümün başlangıçta ne kadar kötü olduğu fark etmiyor
Bugün ise ürünle birlikte gerekli teknoloji yığınını da sunup geliştiricilere yeni teknolojileri tanıtmak mümkün; bu bazen gerçekten dokümantasyonun yerini alabiliyor ve daha iyi alternatif yaklaşımları göstermek için epey faydalı olabiliyor
Çeşitli hobi projelerinde Deno kullanmış biri olarak, Deno'nun JS ekosisteminin gitmesi gereken yön olduğuna eminim
Yine de iş ortamında bunu belirli ve çoğu zaman dar kapsamlı kullanım senaryoları dışında önermek zor. Çünkü bir noktada proje ticari nedenlerle yön değiştirirse sonunda Node gerekiyor
Edge.js [1] çıktıktan sonra Deno'nun Node.js uyumluluğunu daha ciddiye almaya başlamasını görmek güzel
Yaklaşık 2 ay içinde %40'lar seviyesinden %75 civarına çıkmış olması, tesadüf olsun ya da olmasın, doğru yönde açık bir adım
Deno ekibinin eline sağlık
[1] https://edgejs.org/
Çoğu Node tarzı teamülü sarmalayıp Deno'yu çalışma zamanı olarak kullanıyorum. Gayet iyi çalışıyor
Proje saf TypeScript ise doğrudan Deno ile çalıştırıyorum. Güvenlik için ek seçenekler güzel ve kurulum betiklerinin varsayılan olarak devre dışı olması da hoşuma gidiyor
Hâlâ doğrudan Node kullanıyorsanız bırakmanızı tavsiye ederim. En azından Bun kullanmak bence daha iyi
Ajan tabanlı iş akışlarında Rust ve TypeScript dışında bir şey kullanmak için neredeyse hiçbir neden yok. Buna katılmayabilirsiniz ama tür güvenliği, bellek güvenliği ve devasa iş külliyatı önemli. Ajanların kolay gezinmesi için zorlayıcı hatalar ve yerleşik kalıplar gerekiyor. UI tarafında ise o kadar çok tasarım örneği var ki TypeScript en mantıklı seçenek gibi görünüyor