Ana içeriğe geç
Frontend

Next.js performansı: görseller, kod ve önbellek

10 Ocak 2024Yaklaşık 2 dk okumaGüncelleme:
Web performansı için önbellek katmanları ve hızlı veri akışını anlatan illüstrasyon
Konuyu anlatan editoryal illüstrasyon.

Next.js, görsel optimizasyonu ve kod bölümleme gibi araçlar sunar. Sayfanın hızı yine de görsellerin boyutuna, gönderilen JavaScript'e, veri isteklerine ve önbellek kararlarına bağlıdır. Değişiklik yapmadan önce üretim sürümünü gerçek cihazlarda ölçün.

Görsel Optimizasyonu

Next.js Image bileşeni, uygun boyutta görsel sunmaya ve ekran dışında kalan görsellerin yüklenmesini ertelemeye yardımcı olur. Tarayıcı destekliyorsa WebP kullanılabilir; AVIF için images.formats ayarını yapılandırmanız gerekir. Görselin sayfada kaplayacağı alanı sizes ile belirtin.

Kod Bölümleme

Hemen gerekmeyen etkileşimli bileşenler için dinamik yüklemeyi değerlendirin. next/dynamic ile ssr: false seçeneği yalnızca istemci bileşenlerinde kullanılabilir. Sunucu tarafında gösterilmesi gereken içeriği sırf bu amaçla istemciye taşımayın.

Önbellek Stratejileri

Birden fazla katmanda doğru önbelleğe alma uygulayın:

  1. CDN önbelleği: Paylaşılabilir statik dosyalar ve uygun sayfa yanıtları için.
  2. Sunucudaki veri önbelleği: Aynı veriyi yeniden okumayı azaltmak için. Kullanıcıya özel veriyi ortak bir kayıt gibi saklamayın.
  3. İstemcideki veri önbelleği: SWR veya React Query, tarayıcıdaki isteklerin yeniden kullanılması ve arayüzün güncellenmesi için kullanılabilir. Bunlar sunucudaki API yanıtını kendiliğinden önbelleğe almaz.
  4. Statik sayfa üretimi: Sık değişmeyen içerikler için. Güncelleme gerektiğinde içeriğin ne zaman yeniden oluşturulacağını belirleyin.

Bir verinin değişmesi, farklı katmanlardaki bütün kopyalarının aynı anda yenilendiği anlamına gelmez. Veri önbelleği, üretilmiş sayfa ve tarayıcı görünümünü ayrı kontrol edin. Next.js sürümü ve yapılandırması varsayılan davranışları değiştirebilir; kullandığınız sürümün belgelerini ve üretim yanıtlarını birlikte inceleyin.

Server Components ile Performans

Sunucu bileşenlerinin kodu tarayıcıya gönderilmez. Veri okuma ve statik görünümü sunucuda tutmak JavaScript yükünü azaltabilir. İlk yanıtın süresini ayrıca ölçün; yavaş veri istekleri sayfanın açılmasını geciktirebilir.

Sonuç

Her değişiklikten sonra sayfa yüklenmesini ve etkileşimleri yeniden ölçün. Yerel geliştirme sunucusunun sonuçlarını üretim sürümüyle karıştırmayın; mobil cihaz ve yavaş bağlantı koşullarını da kontrol edin.

Bu rehberin kaynakları

← blue'og'a dön

bluedev Asistanı

Ürünleri ve çalışmalarımızı keşfedin.

Neyi çözmek istersiniz?

İhtiyacınızı yazın; ilgili ürünleri ve çalışmalarımızı kaynaklarıyla birlikte inceleyelim.

Yanıtlar kaynak kataloğundan hazırlanır. Yapay zekâ desteği yalnız izninizle kullanılır.

Diğer görevler ve ayarlar

İki ürünü karşılaştırabilir veya fikrinizi iletişim formuna aktarabileceğiniz bir ihtiyaç özetine dönüştürebilirsiniz.

Kaynak kataloğu

AI desteği şu anda kullanılamıyor. Doğrulanmış projeleri keşfedebilir ve proje özeti hazırlayabilirsiniz.

Bu site görüşmenizi kalıcı olarak saklamaz.Gizlilik