Server Side Rendering
Kullanıcıların sunucuya gönderdiği isteğin sunucu tarafında işlendiği ve çıktının tarayıcıya iletildiği yönteme Server Side Rendering denir. Kısaca tarayıcının yapacağı işi sunucuda yapmak olarak açıklanır.
Server Side Rendering, Google tarafından desteklenen bir yapıdır. Server Side Rendering kendi içerisinde kütüphaneler bulundurur. Sadece bazı durumlarda ek sistemlere ihtiyaç duyarlar.
Server Side Rendering Nasıl Çalışır?
Server Side Rendering yönteminde sunucu tarafından gelen bağlanma isteklerine, HTML yanıtı gönderilir. HTML yanıtı geri gönderilirken JavaScript kodları aktif değildir ancak JavaScript dosyaları çalışmasa bile içerik kullanıcı tarafından okunabilir. Sadece bu durumda sayfa JavaScript kodlarının sağladığı dinamiklere sahip değildir. Tarayıcı bu aşamadan sonra HTML dosyasını okumaya ve ayrıştırmaya başlar. Daha sonra JavaScript kodları devreye girer ve sayfa JavaScript kütüphanesinin sağladığı dinamik avantajları kullanmaya başlar.
Server Side Rendering Avantajları
- SSR'nin en büyük avantajı SEO’yu desteklemesidir. Tüm sayfalar ayrı bir şekilde render edilir ve içeriği HTML olarak gönderdiği için arama motoru botları içeriği daha rahat okur.
- Tüm sayfalar taranır, dizine eklenir ve her sayfa için ayrı ayrı, özel meta çalışmaları yapılır.
- Web sitelerinin hızlı açılması, kullanıcı deneyimi açısından oldukça önemli bir kriterdir. Tüm arama motorlarının bir ölçeği de web site sayfa hızı veya açılma hızıdır. SSR sayfaların daha hızlı yüklenmesini sağlayarak kullanıcı deneyimini iyileştirir. Bu da ziyaretçilerin internet sitesine girmesini sağlar.
- SSR’in önemli avantajlarından biri de ilk yükleme sırasında Client Side Rendering’de olduğu gibi kullanıcıyı boş bir sayfada bekletmemektir. Sayfalar hızlıca dolar.
- Daha az JavaScript bağımlılığı mevcuttur.
- Kullanıcının cihazı güncel olmasa bile sayfanın yüklenmesine yardımcı olur.
Server Side Rendering Dezavantajları
- Sunucuya giden istek sayısı fazladır. Bu da sunucuda daha fazla yük anlamına gelir.
- Sunucu maliyetleri yüksektir.
- Hızın önemli olduğu, saniyelik verilerin aktığı uygulamalarda etkileşimi Client Side Rendering kadar iyi değildir.
- Sayfalar arası gezinme yavaştır çünkü her gezinmede tüm sayfalar tekrardan yüklenir.
Server Side Rendering Ne Zaman Tercih Edilmelidir?
Hedef kitlenin çok olmadığı, az sayıda sayfanın ve özelliklerin olduğu basit arayüzlü projelerde kullanılır.
Server Side Rendering Frameworkleri
Frameworkler web geliştirme işlemlerini basitleştirmek için araçlar ve kitaplıklar sunar. Sunucu taraflı bir framework kullanmak geliştiricilerin işlerini çok daha kolaylaştırır. Peki, hangi frameworkler SSR’i destekler?
Angular Universal
Angular, Google tarafından geliştirilen, TypeScript ile yazılmış, açık kaynaklı, SPA(Single Page Application) uygulama yapılmasına olanak sağlayan JavaScript framework’üdür.
Angular Universal paketinin kullanımıyla beraber kullanıcılar, sunucu taraflı uygulamalar oluşturabilir.
NextJS
Next.js, sunucu tarafı web siteleri oluşturmak için kullanılan bir frameworktür. React ile birlikte çalışır.
Ekspres JS
Express JS, Node.js için kullanılan hızlı, ücretsiz ve yüksek performanslı bir sunucu taraflı web frameworküdür.
Ayrıca, Vue için Nuxt.js ve Quasar gibi frameworkler de vardır .
Sunucu Taraflı Frameworkler Nasıl Seçilir?
Projede kullanılacak sunucu taraflı framework seçerken göz önünde bulundurulması gereken önemli faktörler şunlardır:
1- Öğrenme kolaylığı: Sunucu taraflı framework seçerken dikkat edilecek faktörlerden biri, frameworkü öğrenmenin ve kullanmanın ne kadar kolay olduğudur.
2- Üretkenlik: Kullanılacak frameworkün üretkenliğini de önemli faktörlerden bir tanesidir. Burada projeye uygunluğa göre frameworkü seçmek en doğru yöntemdir.
3- Güvenlik: Sunucu taraflı bir framework seçerken göz önünde bulundurması gereken en önemli konulardan birisi güvenliktir. Projede önemli ve hassas veriler varsa, güvenli, siber saldırıları engelleyen, güvenlik risklerini ve veri gizliliği tehditlerini ortadan kaldıran bir framework seçilmesi gerekir.