3 puan yazan GN⁺ 2023-09-09 | 1 yorum | WhatsApp'ta paylaş
  • Bun 1.0, JavaScript ve TypeScript geliştirme için kod çalıştırma, derleme, test etme ve hata ayıklama işlevleri sunan kapsamlı bir araç setidir.
  • Bun, birden fazla aracı tek bir birleşik çözümle değiştirerek JavaScript geliştirmeyi basitleştirmeyi ve hızlandırmayı amaçlar.
  • Bun, Node.js'in yerini alır; npx'e göre 5 kat daha hızlı bir alternatif, yerleşik izleme modu ve varsayılan .env dosyası okuma desteği sunar.
  • Bun, .js, .ts, .cjs, .mjs, .jsx, .tsx dosyalarını çalıştırabilir ve tsc, babel, ts-node, tsx gibi transpiler'lara olan ihtiyacı ortadan kaldırır.
  • Bun, en yüksek performanslı JavaScript bundle aracı olup esbuild uyumlu bir eklenti API'sine sahiptir; böylece esbuild, webpack, parcel ve rollup'ın yerini alır.
  • Bun, npm ile uyumlu bir paket yöneticisidir; package.json dosyasını okur, node_modules içine yazar ve npm, yarn, pnpm, lerna'nın yerini alır.
  • Bun, Jest ile uyumlu bir test çalıştırıcısıdır; snapshot testleri, mocking ve kod kapsama desteği sunar ve jest, ts-jest, babel-jest, vitest'in yerini alır.
  • Bun, Apple'ın WebKit motoru kullanılarak oluşturulmuş hızlı bir JavaScript runtime'ıdır ve yazılım geliştirmeyi daha hızlı ve daha keyifli hale getirmeyi hedefler.
  • Bun, hem ESM hem de CommonJS modül sistemlerini destekler ve tarayıcıda kullanılabilen web standartları API'leri için yerleşik destek sunar.
  • Bun, hot reloading sağlar; böylece dosya değiştiğinde uygulamayı sonlandırmadan yeniden yükleyebilirsiniz.
  • Bun özelleştirilebilir yapıdadır; import işlemlerini yakalayıp özel yükleme mantığı çalıştırmak için eklentiler tanımlayabilirsiniz.
  • Bun, yaygın geliştirici ihtiyaçları için optimize edilmiş standart kütüphane API'leri sunar ve daha hızlı native code API'siyle SQLite desteği sağlar.
  • Bun, npm, yarn ve pnpm'den çok daha hızlı bir paket yöneticisi içerir.
  • Bun, tamamen Jest uyumlu yerleşik test modülüne sahip bir test çalıştırıcısı olarak işlev görür.
  • Bun, esbuild eklentileriyle uyumludur ve bundle zamanı fonksiyon çalıştırma için JavaScript makroları sunan bir JavaScript ve TypeScript bundle aracı ve minifier'dır.
  • Bun artık deneysel olarak Windows için native build sunuyor; macOS ve Linux build'leri ise production için hazır durumda.
  • Bun ekibi, JavaScript ve TypeScript'i production ortamına dağıtmanın yeni yollarını geliştiriyor ve düşük seviye sistem mühendisleri işe alıyor.

1 yorum

 
GN⁺ 2023-09-09
Hacker News yorumları
  • Bun v1.0.0, hem CommonJS hem de ES modüllerini destekleyen yeni bir sürüm; böylece dosya uzantılarıyla uğraşma veya package.json içine "type": "module" ekleme gereğini ortadan kaldırıyor.
  • Node.js ekosistemi bazılarına göre bozulmuş görünüyor ve Bun’ın pratik, geliştirici dostu tercihleri potansiyel bir çözüm olarak değerlendiriliyor.
  • Bazı kullanıcılar, node: içindeki her şeyi uygulamayan bir 1.0 sürümü için Bun’ın kullandığı "yerine geçebilir" ifadesi konusunda endişelerini dile getirdi.
  • Bun 1.0’da desteklenmeyen modüllerin, Node.js uyumluluğu bölümünde açıkça belirtilmesi yönünde bir talep var.
  • Erişilebilirlik/gizlilik/kapalı platform kısıtlamalarına dair endişeler nedeniyle, topluluk sohbetinin Discord dışındaki platformlara taşınması öneriliyor.
  • Bun, daha basit ve hepsi bir arada (ancak genişletilebilir) yazılımlar için cazip bir değer önerisi gibi görünüyor ve benzer hedeflere sahip Rome aracıyla karşılaştırılıyor.
  • Bun’ın nasıl gelir elde etmeyi planladığına dair sorular var. Bun, VC destekli bir proje ve kullanıcılar, bundan sonra da aktif biçimde geliştirilmeye devam edilme olasılığını değerlendiriyor.
  • Bun, JavaScript çevresindeki karmaşık araç ekosistemine yönelik potansiyel bir çözüm olarak görülüyor; node tabanlı araçların katman katman birikmiş karmaşasının yerini alabilir.
  • Bun, TypeScript React uygulamalarını kutudan çıkar çıkmaz çalıştırıp bundle edebiliyorsa, Vite.js’i Bun üzerinde kullanmanın avantajının ne olduğu soruluyor.
  • Kullanıcılar, Bun ile Deno’yu Node’un olası halefleri olarak karşılaştırmakla ilgileniyor; iki proje arasındaki performans iddiaları ve felsefi farklar hakkında sorular soruyorlar.
  • Bun 1.0’ın çıkışı, fetch() body streaming testlerindeki başarısızlık nedeniyle ertelendi; bunun daha sonra JavaScriptCore binding’lerinde bir nesneden özellik alma kısmından kaynaklandığı ortaya çıktı.