Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

Bu yazı, React ekosisteminin zaman içindeki gelişimini ve bu süreçte ortaya çıkan ihtiyaçlara yanıt olarak geliştirilen TanStack Start framework’ünü anlatır. Özellikle server-side rendering, type safety ve developer experience gibi kavramlar üzerinden, modern full-stack React geliştirme yaklaşımının nasıl daha sade, performanslı ve yönetilebilir hale getirildiğini açıklar.
Bu yazıda React ekosisteminin nasıl evrildiğini, neden Next.js gibi framework’lerin ortaya çıktığını ve sonrasında neden TanStack Start gibi yeni bir yaklaşımın doğduğunu anlayacaksın. Ayrıca bu yeni framework’ün sana pratikte ne kazandırdığını, nasıl çalıştığını ve neden “server-first” yaklaşımın önemli olduğunu net şekilde kavrayacaksın.
React, 2013 yılında Facebook içinde geliştirildi. Asıl amacı frontend tarafındaki en büyük problemlerden birini çözmekti: state yönetimi.
Yani şöyle düşün:
Bir sayfada kullanıcı bir butona tıklıyor, veri değişiyor ve UI’ın da buna göre güncellenmesi gerekiyor. Eski dönemde bunu jQuery ile manuel yapıyordun. DOM’u elle güncelliyor, neyin değiştiğini sen takip ediyordun.
React bu işi otomatikleştirdi.
Bunu şöyle hayal edebilirsin:
Sen sadece “veri değişti” diyorsun, React arka planda UI’ı senin yerine yeniden çiziyor.
Bu sayede:
React ilk çıktığında sadece browser (client-side) tarafında çalışıyordu. Ama bu da bazı sorunlar doğurdu:
Bunun üzerine Next.js ortaya çıktı.
Next.js’in getirdiği en önemli şeylerden biri:
Server-Side Rendering (SSR)
Yani şöyle düşün:
Normalde browser boş bir sayfa alır ve JavaScript çalışınca içerik gelir.
SSR’da ise server sana hazır HTML gönderir.
Bu şu anlama geliyor:
Ayrıca Next.js “zero config” yaklaşımıyla geldi.
Bunu şöyle hayal edebilirsin:
Hiç ayar yapmadan çalışan bir sistem. Kur → çalıştır.
Ama zamanla işler karmaşıklaştı.
Zamanla React kendi içinde değişmeye başladı:
Next.js de buna ayak uydururken:
gibi problemler oluştu.
Yani şöyle düşün:
Başta basit olan sistem, zamanla katman katman büyüyüp anlaşılması zor bir yapıya dönüştü.
Tam bu noktada Tanner Linsley (TanStack ekosisteminin yaratıcısı) farklı bir soru sordu:
“Daha basit, daha hızlı ve daha tip güvenli bir React framework’ü yapamaz mıyız?”
Ve ortaya TanStack Start çıktı.
Bu framework’ün temel yaklaşımı:
Yani şöyle düşün:
Sana sihirli ama karmaşık bir sistem vermek yerine, daha net ve kontrol edilebilir bir yapı sunuyor.
Yeni bir proje oluşturduğunda aslında birçok şey otomatik geliyor:
Yani şöyle düşün:
Tek tek kurulum yapmak yerine, sana hazır bir “developer experience paketi” veriliyor.
TanStack Start’ın en güçlü özelliklerinden biri:
Server Functions
Eğer sadece server’da çalışması gereken bir kod varsa:
bunları server function olarak yazıyorsun.
Ve en kritik nokta:
👉 Bu fonksiyonları frontend’den çağırabiliyorsun
👉 TypeScript tip güvenliği korunuyor
Bunu şöyle hayal edebilirsin:
Frontend’den bir fonksiyon çağırıyorsun ama aslında server’da çalışıyor — ve TypeScript sana hâlâ hata yaptırmıyor.
TanStack Start, TanStack Router kullanıyor.
Routing sistemi:
File-based routing
Yani:
routes/ klasörüne yeni dosya koyBu kadar.
Bunu şöyle düşün:
Dosya yapın = uygulamanın sayfa yapısı
Her route için bir loader tanımlayabiliyorsun.
Loader ne yapar?
👉 Sayfa render edilmeden önce veriyi çeker
Yani şöyle düşün:
Sayfa açıldığında önce veri gelir, sonra UI çizilir.
Bu da:
TanStack Start sadece UI değil, backend tarafını da kapsıyor.
Eğer bir API endpoint yazmak istiyorsan:
👉 Aynı routing sistemi ile yapıyorsun
👉 createFileRoute + server özelliği kullanıyorsun
Bu şu anlama geliyor:
Frontend ve backend aynı yapı içinde.
Bunu şöyle hayal edebilirsin:
Ayrı bir Express server yazmana gerek yok — framework zaten bunu sağlıyor.
Aslında hikâye oldukça net: React ile başlayan yolculuk, UI yönetimini kolaylaştırdı ama zamanla karmaşıklaştı. Next.js bu karmaşıklığı çözmek için server tarafını devreye aldı ve büyük bir sıçrama sağladı. Ancak o da büyüdükçe ağırlaştı. TanStack Start ise bu noktada daha sade bir yaklaşım sunuyor: server-first bir mimari, TypeScript ile uçtan uca güvenli yapı, minimum abstraction ve yüksek performans.
Şimdi şöyle bir düşün:
Eskiden frontend ve backend ayrı dünyalardı. Şimdi ise TanStack Start ile bu iki dünya tek bir sistem içinde, daha basit ve daha kontrol edilebilir hale geliyor.
Bu yazı “TanStack Start in 100 Seconds” videosundan ilham alınarak yazılmıştır.