Küçük Projeler İçin React + Express Kullanmayı Bırakın
Boşta dururken 1 MB RAM ölçtüm. Derleme adımı yok. Node_modules şişkinliği yok. Her şeyi sunan tek bir işlem. İşte Bun + Hono'nun küçük projelerimi oluşturma şeklimi nasıl değiştirdiği ve neden sizin de şeklinizi değiştirebileceği.
Kimsenin Bahsetmediği Sorun
Yeni bir yan proje başlattığımda ritüel aynıydı: npx create-react-app, bir Express sunucusu iskelesi oluştur, CORS'u bağla, Webpack veya Vite'ı yapılandır, 200 MB'tan fazla node_modules'ın yüklenmesini bekle. Bir yapılacaklar listesi uygulaması için. Bir kontrol paneli için. Basit bir API proxy'si için.
Kendi barındırdığım sunucum boğuluyordu. Her "küçük" proje sadece boşta otururken 150–300 MB RAM tüketiyordu. Bunu beş veya altı projeyle çarptığınızda, aniden 2 GB'lık bir VPS çökme noktasına geliyordu – trafikten değil, çerçeve ek yükünden dolayı.
Sektör bunu normalleştirdi. Bildiğimiz için React'a yöneliyoruz. On yıldır varsayılan olduğu için Express'e yöneliyoruz. Ancak varsayılanlar karar değildir – onlar alışkanlıklardır. Ve alışkanlıkların bir bedeli vardır.
Bun + Hono ile Tanışın
Bun, Zig ile yazılmış ve V8 yerine Apple'ın JavaScriptCore motorunu kullanan bir JavaScript çalışma zamanıdır. Sadece "daha hızlı Node" değil – temelde farklı bir yaklaşımdır. Paketleyici, tercüman, paket yöneticisi ve test çalıştırıcısı hepsi dahildir. Tek ikili dosya, araç zinciri yayılımı yok.
Hono, sıfır bağımlılığı olan ultra hafif bir web çerçevesidir (~14 KB). Bun, Node, Deno, Cloudflare Workers – her yerde çalışır. TypeScript öncelikli, CORS, önbelleğe alma ve günlük kaydı için yerleşik orta yazılımlarla. Express'i düşünün, ama on yıllık birikmiş yüklerden arındırılmış.
Birlikte, tek bir işlemden, tek bir package.json'dan ve tek bir Docker kapsayıcısından bir API ve bir SSR ön ucu sunmanıza olanak tanırlar.
Sayılar Yalan Söylemez
Aynı projeyi iki kez oluşturdum – bir Steam oyun incelemesi analiz aracı – bir kez Node + Express + React ile, bir kez de Bun + Hono ile (SSR için Hono'nun yerleşik JSX'ini kullanarak). Ölçtüğüm şeyler şunlardı:
Metric | Bun + Hono | Node + Express + React |
|---|---|---|
Idle RAM | ~1 MB | ~80 MB |
RAM under load | ~25 MB | ~250 MB |
Cold start | ~10 ms | ~500 ms |
node_modules size | ~1 MB | ~300 MB |
Docker image | ~50 MB | ~500 MB |
Dependencies | 1 | 120+ |
Build step | None | ~3 seconds |
Processes | 1 | 2+ |
Bu marjinal bir gelişme değil. Bu, boşta bellek kullanımında %99'luk bir azalma ve 50 kat daha hızlı soğuk başlangıç anlamına gelir. Birden fazla projeyi çalıştıran kendi barındırdığınız bir sunucuda, bu fark "sorunsuz çalışıyor" ile "bellek yetersiz" arasındaki boşluktur.
Fark Neden Bu Kadar Dramatik?
Bun: Daha Yalın Bir Motor
Node.js başlangıçta yüzlerce iç modül yükler. Bun, yalnızca gerçekten içe aktardığınız şeyleri yükler – tembel yükleme kullanır. JavaScriptCore (Safari'nin motoru) da V8'e göre daha küçük bir bellek ayak izine sahiptir. Bun'ın paketleme, tercüme etme veya paket yönetimi için ayrı araçlara ihtiyacı olmadığı gerçeğini ekleyin ve tüm aşırı yük kategorilerini ortadan kaldırırsınız.
Hono: Sıfır Bağımlılık Felsefesi
Express 30'dan fazla paket çeker. Hono sıfır çeker. Yönlendiricisi, anlık yön eşleştirmesi için derlenmiş RegExp desenleri kullanır. Orta yazılım, ağaç sallanabilir – kullanmazsanız yüklenmez. Tüm çerçeve 14 KB'a sığar. Bu, çoğu favicon'dan daha küçüktür.
Monolit, Mikro Ön Uçlardan Üstündür
Hono'nun JSX desteğiyle ayrı bir React geliştirici sunucusuna ihtiyacınız kalmaz. API'niz ve kullanıcı arayüzünüz aynı işlemden sunulur. CORS yapılandırması yok. Proxy kurulumu yok. Çift node_modules yok. Tek kod tabanı, tek dağıtım, tek kapsayıcı.
Gerçekte Nasıl Görünüyor?
İşte SSR ile eksiksiz bir Hono sunucusu – React yok, Webpack yok, derleme adımı yok:
src/index.ts
Çalıştırın:
İşte bu kadar. Sıcak yeniden yükleme dahil. nodemon yok, ts-node yok, tsconfig jimnastiği yok. Bun, TypeScript'i yerel olarak anlar.
Ne Zaman Hala React Kullanmalısınız?
Açık olmak gerekirse
Bu bir anti-React gönderisi değil. React, yoğun istemci tarafı etkileşimli karmaşık SPA'lar için mükemmeldir – gerçek zamanlı güncellemeli kontrol panelleri, işbirlikçi düzenleyiciler, tasarım araçları. Kullanıcı arayüzünüz 50'den fazla etkileşimli bileşene ve karmaşık duruma sahipse, React ağırlığını hak eder.
Ama dürüstçe kendinize sorun: projenizin sanal bir DOM'a, bir bileşen ağacına, istemci tarafı yönlendirmeye ve bir paketleyici işlem hattına gerçekten ihtiyacı var mı? Bir blog, bir açılış sayfası, bir CRUD aracı, basit bir kullanıcı arayüzüne sahip bir API veya bir izleme kontrol paneli için – cevap neredeyse kesinlikle hayır.
Bun + Hono için en uygun nokta:
API proxy'leri ve mikro hizmetler
Dahili araçlar ve yönetici panelleri
Açılış sayfaları ve pazarlama siteleri
Webhook işleyicileri
Chart.js veya HTMX ile sunucu tarafında oluşturulan kontrol panelleri
Sunucu maliyetinin ve basitliğin önemli olduğu herhangi bir proje
Peki Etkileşim Konusunda Ne Var?
Eksik parça " target="_blank" rel="noopener">HTMX'tir. AJAX istekleri yapmanıza, CSS geçişlerini tetiklemenize ve DOM öğelerini değiştirmenize olanak tanır – hepsi HTML özniteliklerinden. JavaScript yok. Bir CDN'den yükleyin, HTML'inize hx-get ve hx-target ekleyin ve bir çerçeve olmadan dinamik bir kullanıcı arayüzünüz olur.
Chart.js (ayrıca CDN'den) ile veri görselleştirme için birleştirildiğinde, sıfır derleme araç takımı ve sıfır istemci tarafı çerçeve koduyla tam etkileşimli bir uygulama elde edersiniz.
Yığın tam olarak:
Bun (çalışma zamanı) + Hono (çerçeve + SSR) + HTMX (etkileşim, CDN) + Chart.js (grafikler, CDN) + Tailwind (stil, CDN). Tek işlem, tek package.json, tek bağımlılık.
Toplam boşta RAM: ~1 MB.
Karar
Projenizin React'ın karmaşıklığına ihtiyacı yoksa, React'ın maliyetini ödemeyin. Bun + Hono, bir Chrome sekmesinden daha az RAM kullanan tek bir işlemde modern, tür açısından güvenli, tam yığınlı bir web uygulaması sunar. Sunucunuz – ve gelecekteki siz – size teşekkür edecektir.
Sıkça Sorulan Sorular
Hono üretim için hazır mı?
Evet. Hono, Cloudflare, Vercel ve diğerleri tarafından üretimde kullanılıyor. Kararlı bir API'ye, güçlü TypeScript desteğine ve aktif bir topluluğa sahip.
Express'ten Hono'ya geçebilir miyim?
Hono'nun API'si Express'e benzer. Çoğu rota ve orta yazılım doğrudan çevrilir. Kademeli geçiş için bir Express uyumluluk adaptörü de bulunmaktadır.
Bun üretim için yeterince kararlı mı?
Bun 1.x sürümüne ulaştı ve çoğu iş yükü için üretim için hazırdır. Node.js test paketinin büyük çoğunluğunu başarıyla geçiyor ve aktif olarak bakım yapılıyor.
Bun + Hono Next.js'in yerini alabilir mi?
Basit SSR uygulamaları için evet. Dosya tabanlı yönlendirme, ISR, resim optimizasyonu ve tam Next.js ekosistemi gerektiren projeler için – Next.js hala daha iyi bir seçimdir.

