# React vs Svelte

Adres: https://softwaredictionary.org/tr/karsilastirma/react-vs-svelte
Son güncelleme: 2026-10-06

Kısaca: React sayfayı çalışma anında bir virtual DOM karşılaştırarak günceller; Svelte ise bileşenleri önceden, DOM'u doğrudan güncelleyen koda derler.

## React ile Svelte arasındaki fark nedir?

Facebook'ta geliştirilen ve 2013'te yayımlanan React, JSX ile yazılan bileşenlerden arayüz kurmaya yarayan bir JavaScript kütüphanesidir. Rich Harris'in geliştirdiği ve ilk kez 2016'da yayımlanan Svelte ise kendi `.svelte` dosya biçimi olan bir bileşen framework'üdür. İkisi de arayüzleri yeniden kullanılabilir bileşenlerden kurar, ama işi farklı zamanlarda yaparlar.

React işini tarayıcıda yapar: state değiştiğinde bileşen fonksiyonunu yeniden çalıştırır, yeni virtual DOM'u eskisiyle karşılaştırır ve farkları uygular. Svelte ise işinin çoğunu derleme sırasında yapar: derleyicisi her bileşeni, yalnızca değişen veriye bağlı DOM düğümlerini güncelleyen sade JavaScript'e çevirir. Svelte uygulamalarının genellikle daha az JavaScript göndermesinin ve Svelte bileşenlerinin setter fonksiyonları ya da bağımlılık listeleri olmadan, daha az kodla yazılmasının nedeni budur.

Bunun bedeli ekosistemin büyüklüğüdür. React'in çok daha fazla kütüphanesi, eğitimi, iş ilanı ve geliştiricisi var; ayrıca mobil uygulamalar için React Native'i ve Next.js gibi framework'leri de var. Svelte'in daha küçük ama canlı bir topluluğu var; SvelteKit de routing, sunucu tarafı render ve deployment için resmî framework'üdür. Svelte 5'ten beri state, signal'lar üzerine kurulu bir model olan `$state` ve `$derived` gibi rune'larla tanımlanır.

Sık yapılan bir yanlış, Svelte'in hiç runtime'ı olmadığını ve React'in yavaş olduğunu düşünmektir. Svelte yine de küçük bir runtime gönderir ve derlenmiş çıktısı her bileşenle büyür; bu yüzden çok büyük uygulamalarda boyut avantajı daralır. React çoğu arayüz için yeterince hızlıdır ve React Compiler artık memoization'ı otomatik olarak ekleyebiliyor. Doğru seçim genellikle ham hızdan çok ekibe ve ihtiyaç duyduğunuz kütüphanelere bağlıdır.

| Özellik | React | Svelte |
| --- | --- | --- |
| Tür | Bileşenler için bir UI kütüphanesi | Derleyici tabanlı bir bileşen framework'ü |
| Güncellemeler nasıl yapılır | Bileşenleri yeniden çalıştırır, çalışma anında virtual DOM karşılaştırır | Derlenmiş kod etkilenen DOM düğümlerini doğrudan günceller |
| Bileşen sözdizimi | JavaScript ya da TypeScript fonksiyonlarının içinde JSX | Script, HTML benzeri işaretleme ve stiller içeren `.svelte` dosyaları |
| State | `useState` gibi hook'lar; setter fonksiyonlarıyla değiştirilir | `$state` gibi rune'lar; düz bir atama sayfayı günceller |
| Bundle boyutu | Daha büyük taban; React runtime'ı her zaman gönderilir | Her bileşenle büyüyen küçük bir taban |
| Full-stack framework | Next.js, React Router ve diğerleri | Resmî framework olan SvelteKit |
| Ekosistem ve iş imkânı | Ön yüz araçlarının en büyüğü | Daha küçük, ama canlı ve büyüyen |
| Mobil uygulamalar | React Native, yerel iOS ve Android görünümleri çizer | Resmî bir yerel karşılığı yok; genellikle bir web view içine sarılır |

## React şu durumlarda doğru seçim

- En geniş kütüphane, cevap ve işe alınabilecek geliştirici havuzunu istiyorsunuz.
- Bir mobil uygulama da planlıyorsunuz ve bilginizi React Native'de yeniden kullanmak istiyorsunuz.
- Ekibiniz React'i zaten biliyor ya da Next.js üzerine geliştiriyor.

## Svelte şu durumlarda doğru seçim

- Fazla ayar yapmadan küçük bundle'lar ve hızlı yükleme istiyorsunuz.
- Sade HTML, CSS ve JavaScript'e yakın kalan bileşenleri tercih ediyorsunuz.
- Uygulama, yükleme süresinin en çok önem taşıdığı bir widget, dashboard ya da site.

## Sık sorulan sorular

**Svelte, React'ten daha mı hızlı?**

Pek çok benchmark'ta evet: derlenmiş güncellemeler ve daha küçük bundle'lar Svelte'i yüklemede ve güncellemede daha çevik kılar. Gerçek uygulamalarda ikisi de genellikle yeterince hızlıdır ve fark daha çok uygulamanın nasıl yazıldığına bağlıdır.

**Önce React mi öğrenmeliyim, Svelte mi?**

Hedef iş bulmaksa React, çünkü onu çok daha fazla şirket kullanıyor. Svelte'e başlamak çoğu zaman daha kolaydır ve bileşen fikirleri iki yönde de aktarılabilir.

**Svelte virtual DOM kullanır mı?**

Hayır. Svelte'in derleyicisi gerçek DOM'u doğrudan değiştiren kod üretir; bu yüzden çalışma anında kurulup karşılaştırılacak sanal bir ağaç yoktur.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
