3D web sitesi teklifi aldığınızda içinde Three.js, WebGL, Spline, Babylon.js gibi isimler geçer. Bunlar pazarlama terimleri değil, projenizin maliyetini, esnekliğini ve gelecekteki bakımını doğrudan belirleyen teknik tercihlerdir. Bu yazıda her birinin ne olduğunu ve hangi durumda doğru seçim olduğunu teknik olmayan bir okuyucunun anlayacağı şekilde açıklıyoruz.
Kısa cevap
Özgün ve markaya özel bir deneyim istiyorsanız Three.js doğru seçimdir ve piyasadaki ciddi işlerin çoğu bununla yapılır.
Hızlı bir sahneye ihtiyacınız varsa ve deneyim basitse Spline maliyeti düşürür.
Ham WebGL yalnızca çok özel görsel efektler için, bilinçli bir tercihle kullanılır.
Unreal Engine ile sunucudan yayın yapmak, kurumsal ölçekte bütçesi olan ve çok yüksek görsel kalite gereken az sayıda projenin işidir.
WebGL nedir?
WebGL bir kütüphane değil, tarayıcının standardıdır. Tarayıcının ekran kartına doğrudan erişip üç boyutlu görüntü çizmesini sağlar. Bugün her modern tarayıcıda vardır ve ayrı bir eklenti gerektirmez.
Ham WebGL ile çalışmak, çok düşük seviyeden yazmak demektir: ışık, kamera, gölge gibi kavramlar hazır gelmez, hepsi elle kurulur. Karşılığında tam kontrol ve en küçük dosya boyutu elde edilir.
Bunu ne zaman seçeriz? Sahne aslında bir nesne değil de bir efektse, örneğin akışkan bir arka plan veya özel bir görsel deseni, ham WebGL ile yazmak hem daha hafif hem daha hızlı olur. Ürünlü, ışıklı, kameralı bir sahne için ise gereksiz emek anlamına gelir.
Three.js nedir?
Three.js, WebGL'in üzerine kurulmuş ve sektörde en yaygın kullanılan JavaScript kütüphanesidir. Sahne, kamera, ışık, materyal, animasyon gibi kavramları hazır sunar, yani ekibin işi sıfırdan grafik programlama değil sahne kurmaktır.
Güçlü olduğu yerler: çok geniş bir topluluk ve dokümantasyon, hemen her ihtiyaç için hazır çözüm, Blender'dan gelen modelleri sorunsuz okuma, animasyon ve etkileşim üzerinde tam kontrol.
Dikkat edilecek yer: Three.js size sınır koymaz, bu yüzden performans sorumluluğu tamamen geliştiricidedir. İyi kurulmuş bir Three.js sahnesi çok hızlıdır, dikkatsiz kurulmuş olanı ise ağırdır. Fark ekipten gelir.
React Three Fiber ne işe yarar?
Siteniz React veya Next.js ile geliştiriliyorsa React Three Fiber devreye girer. Bu, Three.js'i React'in kendi mantığıyla kullanmayı sağlayan bir katmandır.
Faydası şudur: 3D sahne, sitenin geri kalanıyla aynı dilde yazılır. Arayüzdeki bir düğme ile sahnedeki bir hareket arasında bağ kurmak kolaylaşır, kod düzenli kalır ve projeye sonradan katılan bir geliştirici sahneyi anlayabilir. Uzun ömürlü kurumsal projelerde bu, bakım maliyetini gözle görülür şekilde düşürür.
Spline nedir?
Spline, tarayıcı üzerinden çalışan görsel bir 3D tasarım aracıdır. Sahneyi sürükle bırak mantığıyla kurar, sonra siteye gömülecek bir çıktı verir. Kod yazmadan sonuç almak mümkündür.
Güçlü olduğu yerler: hız ve maliyet. Basit bir sahne birkaç günde hazır olur. Tasarımcı, geliştiriciye ihtiyaç duymadan üretebilir.
Sınırları: sahne dosyaları genellikle elle optimize edilmiş bir Three.js sahnesinden ağırdır, ileri düzey özelleştirmede duvara toslanır, ve deneyim büyüdükçe kontrol azalır. Ayrıca ürettiğiniz sahne bir araca bağımlı kalır, o aracın fiyatlandırması veya politikası değiştiğinde etkilenirsiniz.
Doğru kullanımı: küçük bir dekoratif sahne, kısa ömürlü bir kampanya sayfası veya konsept aşamasında hızlı prototip.
Babylon.js nedir?
Babylon.js, Three.js'in en ciddi alternatifidir. Özellikle fizik motoru, oyun benzeri etkileşimler ve gelişmiş sahne yönetimi ihtiyacı olan projelerde güçlüdür. Kurumsal eğitim simülasyonları ve tarayıcıda çalışan oyun benzeri deneyimlerde tercih edilir.
Pazarlama odaklı web siteleri için Three.js genellikle daha hafif ve daha yaygın bir seçimdir, bu yüzden geliştirici bulmak da kolaydır.
Unreal veya Unity ile sunucudan yayın
Üçüncü bir yol daha var: sahne sunucuda çalışır, kullanıcıya video olarak akıtılır ve tıklamaları sunucuya gider. Buna piksel akışı denir.
Avantajı, sinema kalitesinde görüntünün zayıf cihazlarda bile açılabilmesi. Dezavantajı, her eşzamanlı kullanıcı için sunucu maliyeti doğması ve gecikmenin internet hızına bağlı olması.
Bu model, bayi ağına özel konfigüratör sunan büyük üreticiler veya showroom kurulumları için mantıklıdır. Kamuya açık bir pazarlama sitesi için maliyeti savunulamaz.
Karşılaştırma tablosu
| Kriter | Three.js | Spline | Ham WebGL | Piksel akışı |
|---|---|---|---|---|
| Kurulum hızı | Orta | Yüksek | Düşük | Düşük |
| Özgünlük | Çok yüksek | Sınırlı | Çok yüksek | Çok yüksek |
| Dosya boyutu kontrolü | İyi | Zayıf | En iyi | Konu dışı |
| Mobil performans | İyi kurulursa çok iyi | Değişken | Çok iyi | İnternet hızına bağlı |
| Bakım kolaylığı | İyi | Araca bağımlı | Uzmanlık ister | Sunucu yönetimi ister |
| Sürekli maliyet | Yok | Abonelik | Yok | Yüksek |
| Uygun proje | Kurumsal site, ürün sahnesi | Küçük sahne, kampanya | Özel efekt, arka plan | Showroom, bayi konfigüratörü |
Peki WebGPU?
2026 itibarıyla WebGPU tüm büyük tarayıcılarda kullanılabilir durumda. WebGL'in yerini alacak yeni standart budur ve aynı sahneyi daha verimli çalıştırır.
Pratik yaklaşım şu: cihaz destekliyorsa WebGPU, desteklemiyorsa WebGL kullanan bir kurulum yapmak. Three.js bunu kendi içinde çözüyor. Bugün bir proje başlatıyorsanız, ajansınıza bu geçişi nasıl planladığını sorun; cevabı yoksa siteniz iki yıl içinde eskimiş bir altyapıya oturmuş olur.
Karar için üç soru
Bir: sahne markanızın ana anlatısı mı, yoksa dekor mu? Ana anlatıysa Three.js, dekorsa Spline yeterli olabilir.
İki: bu sahne kaç yıl yaşayacak? Uzun ömürlü projelerde araca bağımlılık yaratmayan seçim daha güvenlidir.
Üç: sahne siteyle konuşacak mı? Ürün seçimi, form, fiyat hesabı gibi arayüz bağlantıları varsa React Three Fiber ile kurulmuş bir yapı çok daha temiz sonuç verir.
Sonuç
Teknoloji seçimi estetik değil ekonomik bir karardır: yanlış seçim ilk ay ucuz görünür, ikinci yılda pahalıya patlar. Ciddi bir ajans size hangi aracı neden önerdiğini iş ihtiyacınızla açıklayabilmelidir.
Rise of Digital olarak 3D web sitelerini Three.js ve React Three Fiber ile geliştiriyor, modelleri Blender ile hazırlıyor, arka plan efektlerinde gerektiğinde ham WebGL yazıyoruz. Projenizi anlatın, hangi yolun sizin bütçe ve hedefinize uyduğunu gerekçesiyle birlikte söyleyelim.