FrontEnd’de çok şey değişiyor: CSR öldü, yaşasın SSR
--
Malumunuz ReactJS, web uygulamaları geliştirirken kullanılan en popüler JavaScript kütüphanesi. Son zamanlarda, ReactJS yerine NextJS kullanımının teşvik edildiğini duymuş olabilirsiniz. Bunun sebebi ReactJS’in yeni dökümanında yer alan Installation kısmı. Burada artık create-react-app yerine create-next-app yazıyor.
Bu gelişme ile birlikte, yakın gelecekte CSR’nın biteceğini, SSR’ın popülerleşeceğini düşünmek yanlış olmaz. Çünkü ReactJS, FrontEnd dünyasını domine eden bir kütüphane, hem çok sayıda developer tarafından kullanılıyor hem de alternatifi diğer framework’ler (VueJS vb.) ReactJS’in izinden gidiyor.
Nedir bu CSR?
Single-Page Application, tek bir HTML sayfası ve JavaScript kullanarak web uygulamasının tüm içeriğini dinamik olarak oluşturur. Kullanıcılar bu tek sayfa üzerinde gezinirler ve sayfa yenileme işlemi gerektirmez. CSR kullanımı, daha iyi performans, daha hızlı kullanıcı arayüzü ve daha iyi kullanıcı deneyimi gibi avantajlar sunar.
Ancak, CSR’lar bazı dezavantajlar da taşır. Örneğin, arama motorları için optimize edilmiş sayfaların oluşturulması zordur. Ayrıca, yavaş internet bağlantılarına sahip kullanıcılar için, CSR’lar yüklenme süreleri nedeniyle yavaş veya kullanılamaz hale gelebilirler.
Peki SSR nedir?
Server-Side Rendering, web uygulamasının sunucu tarafında oluşturulan HTML sayfalarını kullanarak uygulamanın içeriğini ortaya koyar. Bu sayede, sunucu tarafında oluşturulan HTML sayfaları arama motorları tarafından daha iyi indekslenebilir ve daha iyi SEO sağlar. Ayrıca, yavaş internet bağlantılarına sahip kullanıcılar için bile sayfa yükleme süresi oldukça iyidir.
NextJS, ReactJS’in üzerine inşa edilen bir framework’tür. NextJS, hem CSR hem de SSR kullanımını destekler ve kullanıcılara en iyi deneyimi sağlamak için otomatik olarak doğru yönlendirmeyi yapar. NextJS, CSR’nın sağladığı avantajları korurken, SSR’nin sağladığı avantajları da sunar. Bu nedenle, NextJS kullanımı CSR’ya kıyasla daha önerilen bir yöntemdir.
VueJS cephesinde neler olacak?
VueJS de rakibi ReactJS gibi SSR framework sağlıyor. Adı da benziyor üstelik, NuxtJS. Ancak NuxtJS, NextJS’e kıyasla daha az stabil ve sektörde pek tercih edilmiyor. Teknik olarak aynı şeyi yapıyor olsalar da NextJS’in metodolojileri daha çok kabul görüyor.
Öyle sanıyorum ki, VueJS’in de CSR’dan SSR’a geçiş planı vardır ancak ReactJS’in bu beklenmedik hamlesi sonucunda hızlıca pozisyon alacak kadar hazır değildir.
Tüm bu gelişmeler VueJS, Svelte ve AngularJS gibi CSR teknolojilerinin sonunun habercisi olabilir.
Özetle sevelim ya da sevmeyelim, SSR teknolojilerine geçiş yapmak zorunda kalacağız.
SSR’a geçişimiz iyi mi kötü mü?
Developer deneyimi
Developer deneyimi açısından SSR uzun vadede daha verimli ve keyifli bir teknoloji. Çünkü CSR’larda tabiri uygunsa her yiğit kafasına göre yoğurt yiyor. SSR (NuxtJS bile) çok daha katı kuralların olduğu bir development süreci tanıyor. Böylece SSR ile geliştirilmiş projelere dahil olduğumuzda saçımızı başımızı daha az yoluyoruz. Yine de CSR’ya çok alışmış olan developerlar özellikle API isteklerinin sonuçlarını organize ederken browser’ın console’unu kullanamadıkları için SSR’a ilk bakışlarında yabancılık çekecekler.
Kullanıcı deneyimi
Aynı işi yapan, doğru düzgün geliştirimiş bir CSR ve SSR projesini kullanıcıya versek, muhtemelen aralarındaki farkı pek ayırt edemez ancak sayfalar yüklenirken neredeyse beklenmemesi, sayfaların içerisindeki component’ler ile birlikte çat diye hazır oluşu gibi detaylar düşünüldüğünde, kullanıcı da SSR’dan daha çok keyif alacaktır.
Bu makale yazılırken yer yer ChatGPT’den faydalanılmıştır.