Web geliştirme dünyası sürekli bir evrim içinde. Her yeni teknoloji, daha hızlı, daha verimli ve daha kullanıcı dostu uygulamalar yaratma potansiyeli taşıyor. Peki, son zamanlarda adından sıkça söz ettiren Next.js 14 ve React Server Components (RSC) tam olarak ne vaat ediyor? Geleneksel yaklaşımları nasıl kökten değiştiriyor ve biz geliştiriciler için ne gibi fırsatlar sunuyor? Bu devrim niteliğindeki gelişmeleri derinlemesine inceleyerek, geleceğin web uygulamalarının temellerini birlikte atalım.
Eğer siz de web geliştirme alanında kendinizi güncel tutmak, performans odaklı projeler geliştirmek ve geliştirici deneyiminizi en üst seviyeye çıkarmak istiyorsanız, doğru yerdesiniz. Stajyer bir geliştirici olsanız da, deneyimli bir takım lideri olsanız da, freelance bir profesyonel olsanız da, bu makale sizin için. Next.js 14 ve React Server Components'ın getirdiği yenilikleri anlamak, projelerinize nasıl entegre edebileceğinizi öğrenmek ve bu yeni paradigmada nasıl başarılı olabileceğinizi keşfetmek için sabırsızlanıyoruz.
Bu kapsamlı rehberde, RSC'nin temel prensiplerinden başlayıp, Next.js 14'ün bu teknolojiyi nasıl sorunsuz bir şekilde entegre ettiğini adım adım inceleyeceğiz. Performans optimizasyonlarından veri çekme stratejilerine, state management'tan client-side etkileşimlere kadar pek çok konuyu ele alacağız. Hazırsanız, bu heyecan verici yolculuğa çıkalım!
React Server Components (RSC) Nedir ve Neden Bu Kadar Önemli?
React Server Components (RSC), React ekosisteminde yaşanan en önemli paradigma değişimlerinden biri olarak kabul ediliyor. Geleneksel React uygulamalarında, bileşenlerimiz genellikle tarayıcıda çalıştırılır (client-side rendering). Bu, JavaScript bundle'larının indirilmesi, parse edilmesi ve çalıştırılması anlamına gelir ki bu da ilk yüklenme süresini uzatabilir ve kullanıcının beklemesine neden olabilir. RSC ise bu denklemi değiştiriyor.
Temel fikir şu: Bazı React bileşenleri, sunucu tarafında render edilebilir. Bu, sunucunun HTML'i oluşturup tarayıcıya göndermesi ve tarayıcının bu HTML'i hızlıca gösterebilmesi anlamına gelir. Daha da önemlisi, bu sunucu bileşenleri doğrudan sunucuda çalışır, JavaScript bundle'larına dahil olmazlar ve bu da tarayıcıya gönderilen JavaScript miktarını önemli ölçüde azaltır. Bu durum, ilk sayfa yükleme sürelerinde dramatik bir iyileşme sağlar ve Lighthouse skorlarını adeta uçurur.
Peki, bu tam olarak nasıl çalışıyor? RSC'ler, sunucuda çalışmak üzere tasarlanmış bileşenlerdir. Bu bileşenler, doğrudan sunucu ortamında veri çekebilir, veritabanlarına erişebilir ve karmaşık işlemleri gerçekleştirebilir. Ardından, bu bileşenlerin render ettiği çıktılar, sunucu tarafından optimize edilmiş bir şekilde tarayıcıya gönderilir. Tarayıcı, bu çıktıyı alır ve mevcut DOM ile senkronize eder. Bu senkronizasyon süreci, React'in Virtual DOM mekanizması sayesinde oldukça verimlidir.
RSC'nin en büyük avantajlarından biri, bağımlılık yönetimidir. Sunucu bileşenlerinde kullandığınız kütüphaneler, tarayıcıya gönderilen bundle'a dahil edilmez. Bu, daha küçük JavaScript paketleri ve dolayısıyla daha hızlı yükleme süreleri demektir. Ayrıca, RSC'ler, API çağrılarını ve veri alımını daha basit ve verimli hale getirir. Sunucuda doğrudan veri çekebilme yeteneği, client-side'da fetch istekleri yapma ihtiyacını azaltır, bu da hem performansı artırır hem de geliştirme sürecini kolaylaştırır.
Ancak, RSC'ler her derde deva değil. Etkileşimli kullanıcı arayüzleri, animasyonlar ve sık sık state güncellemeleri gerektiren bileşenler için hala client-side React'e ihtiyacımız var. RSC'ler ve client-side React bileşenleri bir arada çalışarak hibrit bir mimari oluştururlar. Bu, geliştiricilere en iyi olanı seçme esnekliği sunar. Hangi bileşenin nerede çalışacağına karar vermek, projenizin performansını ve ölçeklenebilirliğini doğrudan etkiler. Bu ayrımı doğru yapmak, RSC devriminin anahtarıdır.
Next.js 14: React Server Components'ı Nasıl Kucaklıyor?
Next.js, React ekosisteminin önde gelen framework'lerinden biri olarak, yeni teknolojileri benimseme ve entegre etme konusunda her zaman öncü olmuştur. Next.js 14 ile birlikte, React Server Components'ın gücü artık daha erişilebilir ve entegre bir şekilde kullanıcılara sunuluyor. Vercel ekibi, RSC'yi framework'ün temel bir parçası haline getirerek, geliştiricilerin bu yeni mimarinin avantajlarından en üst düzeyde faydalanmasını sağlıyor.
Next.js 14'te, artık tüm bileşenler varsayılan olarak Server Components olarak kabul ediliyor. Bu, yeni bir proje başlattığınızda veya mevcut bir projede yeni bileşenler eklediğinizde, bu bileşenlerin sunucu tarafında çalışacağı anlamına geliyor. Bu varsayılan davranış, geliştiricileri daha performanslı ve sunucu odaklı düşünmeye teşvik ediyor. Elbette, eğer bir bileşenin istemci tarafında çalışmasını istiyorsanız, bunu açıkça belirtmeniz gerekiyor. Bu “use client” direktifi, geleneksel client-side React deneyimini sürdürmek isteyenler için bir kapı aralıyor.
Peki, bu varsayılan davranışın pratik faydaları neler? Bir kere, sunucu bileşenleri, sunucuda çalışırken veritabanı sorguları veya harici API çağrıları gibi ağır işlemleri gerçekleştirebilir. Bu işlemlerin sonuçları daha sonra optimize edilmiş bir şekilde istemciye gönderilir. Bu, istemci tarafında gereksiz JavaScript çalıştırma ihtiyacını ortadan kaldırır, bu da uygulamanın ilk yüklenme süresini önemli ölçüde azaltır. Lighthouse skorlarınızın tavan yaptığını görmek sizi şaşırtmasın!
Next.js 14'ün RSC entegrasyonu sadece performansla sınırlı değil. Geliştirici deneyimini de ciddi şekilde iyileştiriyor. Sunucu bileşenleri, doğrudan sunucu ortamında çalıştığı için, geliştiriciler artık client-side JavaScript'in karmaşıklığına takılmadan veri alımı ve işleme gibi görevleri daha kolay bir şekilde yapabilirler. Bu, daha temiz kod yazma ve daha hızlı geliştirme döngüleri anlamına gelir.
Ayrıca, Next.js'in App Router mimarisi, RSC'lerin doğal bir uzantısı olarak düşünülebilir. App Router, dosya tabanlı yönlendirme ve sunucu bileşenlerini kullanarak, daha modüler ve organize bir uygulama yapısı sunar. Bu mimari, RSC'lerin veri çekme ve render etme yetenekleriyle birleştiğinde, karmaşık uygulamaların bile daha yönetilebilir olmasını sağlar. Veri çekme işlemleri artık bileşenlerin içinde, hatta sunucu bileşenlerinin içinde yapılabilir, bu da kodunuzu daha okunabilir ve sürdürülebilir hale getirir.
Özetle, Next.js 14, React Server Components'ı yalnızca bir özellik olarak sunmakla kalmıyor, aynı zamanda onu framework'ün temel taşı haline getiriyor. Bu, geliştiricilerin daha hızlı, daha verimli ve daha ölçeklenebilir web uygulamaları oluşturmaları için güçlü bir temel sağlıyor. Bu yeni yaklaşımı benimsemek, geleceğin web geliştirme standartlarına uyum sağlamak anlamına geliyor.
Sunucu Bileşenleri ile Veri Çekme: Yeni ve Güçlü Yöntemler
Geleneksel client-side React uygulamalarında veri çekme genellikle useEffect hook'u ve fetch API'si ile useState hook'unu kullanarak yapılırdı. Bu yaklaşım işe yarasa da, ilk yüklenme sürelerini uzatabilir ve kullanıcı deneyimini olumsuz etkileyebilirdi. React Server Components (RSC) ve Next.js 14 ile birlikte, veri çekme yöntemlerimiz kökten değişiyor ve çok daha güçlü hale geliyor.
Sunucu bileşenlerinde veri çekmenin en büyük avantajı, bu işlemlerin istemciye gönderilen JavaScript bundle'ına dahil olmamasıdır. Yani, sunucu bileşeni render edilirken veri çekme işlemi sunucuda gerçekleşir ve sadece sonuçlar tarayıcıya gönderilir. Bu, uygulamanın ilk yüklenme süresini önemli ölçüde iyileştirir. Artık kullanıcılar, verilerin yüklenmesini beklemek zorunda kalmadan içeriği daha hızlı görebilirler.
Next.js 14'te, sunucu bileşenlerinde veri çekmek için özel olarak tasarlanmış yeni yaklaşımlar mevcuttur. En popüler yöntemlerden biri, bileşenlerin kendisi içinde doğrudan async/await kullanarak veri çekmektir. Örneğin:
async function Page() {
const posts = await fetch('https://api.example.com/posts').then(res => res.json());
return (
Blog Yazıları
{posts.map(post => (
- {post.title}
))}
);
}
export default Page;
Bu örnekte görüldüğü gibi, Page bileşeni artık async bir fonksiyon. İçinde doğrudan bir fetch isteği yapılıyor ve sonuçlar posts değişkenine atanıyor. Bu bileşen sunucu tarafında render edildiğinde, bu fetch isteği sunucuda çalışacak ve sonuçlar istemciye gönderilecektir. Bu, client-side'da useEffect ve useState ile yapılan veri çekme işleminden çok daha basittir ve daha performanslıdır.
Next.js 14 ayrıca, veri çekme işlemlerini yönetmek için daha gelişmiş mekanizmalar sunuyor. Örneğin, fetch API'si artık Next.js tarafından otomatik olarak cache edilebilir ve revalidasyon politikaları tanımlanabilir. Bu, verilerin güncelliğini korurken aynı zamanda performans optimizasyonlarından yararlanmanızı sağlar. Bu otomatik caching ve revalidasyon özellikleri, sunucu bileşenleriyle birlikte kullanıldığında, veri yönetimi konusunda geliştiricilere büyük bir kolaylık sağlıyor.
Bununla birlikte, her veri çekme işleminin sunucu bileşenlerinde yapılması gerekmez. Eğer bir bileşenin etkileşimli olması gerekiyorsa ve sık sık veri güncellemesi yapması gerekiyorsa, o bileşeni “use client” olarak işaretleyip client-side veri çekme yöntemlerini kullanmaya devam edebilirsiniz. Bu, geliştiricilere esneklik sağlar ve en uygun çözümü seçme imkanı sunar. RSC'ler, sunucu tarafında statik veri çekme ve sunucu tarafı renderlama için idealdir. Dinamik ve etkileşimli veri ihtiyaçları için ise client-side React hala güçlü bir seçenektir.
Sonuç olarak, Next.js 14'ün sunduğu sunucu bileşenleri ile veri çekme yöntemleri, web uygulamalarının performansını ve geliştirici deneyimini önemli ölçüde iyileştiriyor. Doğrudan async/await kullanımı, otomatik caching ve revalidasyon gibi özellikler, veri yönetimini daha basit, daha verimli ve daha hızlı hale getiriyor.
Sunucu Bileşenleri ve Client Bileşenleri Arasındaki Etkileşim Nasıl Yönetilir?
React Server Components (RSC) ve client-side React bileşenlerinin bir arada kullanıldığı hibrit uygulamalarda, bu iki dünya arasındaki etkileşimi doğru yönetmek kritik öneme sahiptir. Geliştiricilerin, hangi bileşenin nerede çalışacağına karar vermesi ve aralarındaki iletişimi sağlaması gerekir. Next.js 14, bu etkileşimi kolaylaştırmak için güçlü mekanizmalar sunar.
Öncelikle, “use client” direktifi, bir bileşenin ve onun altındaki tüm bileşenlerin client-side'da çalışmasını sağlar. Bu, etkileşimli UI elementleri, state yönetimi gerektiren bileşenler veya tarayıcı API'lerine erişmesi gereken bileşenler için kullanılır. Örneğin, bir butonun tıklama olayını işlemek veya bir form göndermek için client bileşenlerine ihtiyacınız olacaktır.
Peki, bir sunucu bileşeninden bir client bileşenine nasıl veri aktarılır? Bu oldukça basittir. Sunucu bileşenleri, client bileşenlerine props aracılığıyla veri geçirebilir. Bu props, sunucu bileşeni tarafından render edildikten sonra client bileşenine aktarılır. Bu, sunucu tarafında toplanan verilerin, istemci tarafında render edilecek interaktif bileşenlere sorunsuz bir şekilde iletilmesini sağlar.
Örnek olarak, bir sunucu bileşeni bir kullanıcı listesi alabilir ve bu listeyi bir client bileşenine prop olarak geçirebilir. Client bileşeni ise bu kullanıcı listesini alıp, etkileşimli bir liste görünümü oluşturabilir, her kullanıcı için detayları gösterme veya filtreleme gibi özellikler ekleyebilir.
// Server Component (örn: app/page.js)
import UserList from './UserList';
async function getUsers() {
const res = await fetch('https://api.example.com/users');
return res.json();
}
export default async function Page() {
const users = await getUsers();
return (
Kullanıcılar
{/* UserList bir Client Component'tır */}
);
}
// Client Component (örn: app/UserList.js)
'use client';
export default function UserList({ users }) {
return (
{users.map(user => (
- {user.name}
))}
);
}
Bu örnekte, Page sunucu bileşeni getUsers fonksiyonu ile kullanıcıları sunucu tarafında alır ve UserList adlı client bileşenine users prop'u aracılığıyla geçirir. UserList bileşeni ise “use client” direktifi ile işaretlenmiş olup, bu veriyi alıp client-side'da render eder.
Peki, bir client bileşeninden bir sunucu bileşenine nasıl iletişim kurulur? Bu, doğrudan bir çağrı ile mümkün değildir çünkü client bileşenleri sunucu ortamına erişemez. Ancak, bu ihtiyacı karşılamak için Event Handlers ve Server Actions gibi mekanizmalar devreye girer. Client bileşenlerindeki olaylar tetiklendiğinde, bu olaylar sunucu tarafında işlenebilir. Server Actions, client-side'dan sunucuya veri göndermek ve sunucu tarafında işlemler yapmak için kullanılan yeni ve güçlü bir özelliktir.
Server Actions, form gönderimleri gibi sunucu tarafında işlenmesi gereken işlemleri basitleştirir. Bir client bileşenindeki bir formu, doğrudan bir Server Action'a bağlayabilirsiniz. Bu Server Action, sunucu tarafında çalışır, veritabanı işlemlerini gerçekleştirir ve ardından sonucu client'a geri döndürebilir. Bu, hem güvenlik hem de performans açısından önemli avantajlar sağlar.
Bu hibrit mimari, geliştiricilere en iyi esnekliği sunar. Performans kritik olan kısımlar sunucu bileşenleri ile optimize edilirken, kullanıcı etkileşimi ve dinamik özellikler client bileşenleri ile ele alınır. Bu ayrımı doğru yapmak, modern web uygulamalarının temelini oluşturur.
Performans Optimizasyonları ve Geliştirici Deneyimi
Next.js 14 ve React Server Components (RSC) devrimi, yalnızca yeni bir mimari sunmakla kalmıyor, aynı zamanda performans optimizasyonları ve geliştirici deneyimini de kökten iyileştiriyor. Bu iki alan, modern web geliştirmenin en kritik unsurlarıdır ve RSC'ler bu konularda çığır açıyor.
Performans açısından bakıldığında, RSC'lerin en büyük vaadi, sunucu tarafında render etme yeteneğidir. Bu, JavaScript bundle'larının boyutunu önemli ölçüde azaltır. Çünkü, sunucu bileşenlerinde kullanılan kütüphaneler ve kodlar, tarayıcıya gönderilen JavaScript'e dahil edilmez. Sonuç olarak, ilk sayfa yüklenme süreleri dramatik bir şekilde kısalır. Lighthouse gibi performans ölçüm araçları, bu iyileşmeyi net bir şekilde gösterir. Daha hızlı yüklenen sayfalar, daha iyi kullanıcı deneyimi, daha yüksek dönüşüm oranları ve daha iyi SEO anlamına gelir.
Bununla birlikte, RSC'ler sadece ilk yüklenme süresini değil, aynı zamanda uygulamanın genel performansını da iyileştirir. Sunucu bileşenleri, veri çekme işlemlerini doğrudan sunucuda gerçekleştirebilir. Bu, client-side'da gereksiz API çağrılarını ve veri işleme yükünü azaltır. Ayrıca, Next.js'in otomatik caching ve revalidasyon özellikleri, sunucu bileşenlerinin render sonuçlarını cacheleyerek, tekrar tekrar aynı veriyi çekme ihtiyacını ortadan kaldırır. Bu, sunucu yükünü azaltır ve uygulamanın daha hızlı yanıt vermesini sağlar.
Geliştirici deneyimi açısından bakıldığında ise RSC'ler, karmaşıklığı azaltır. Sunucu bileşenleri, veri çekme ve sunucu tarafı işlemlerini daha basit bir şekilde yapmanıza olanak tanır. Artık, client-side'da useEffect ve useState ile uğraşmak yerine, doğrudan async/await ile veri çekebilir ve bileşenlerinizi daha okunabilir hale getirebilirsiniz. Bu, geliştirme sürecini hızlandırır ve daha az hata yapılmasına yardımcı olur.
Next.js 14'ün App Router mimarisi, RSC'lerin geliştirici deneyimini daha da ileri taşıyor. Dosya tabanlı yönlendirme, sunucu bileşenlerini ve client bileşenlerini organize etmeyi kolaylaştırır. Bu, daha modüler ve sürdürülebilir kod tabanları oluşturmanıza yardımcı olur. Ayrıca, Hot Module Replacement (HMR) gibi özellikler, geliştirme sırasında değişikliklerin anında görünmesini sağlayarak, geliştirme döngüsünü daha da hızlandırır.
Server Actions gibi yeni özellikler, client-side'dan sunucuya veri gönderme ve sunucu tarafında işlemler yapma sürecini basitleştirir. Bu, form gönderimleri ve veri güncellemeleri gibi işlemleri daha güvenli ve verimli hale getirir. Geliştiricilerin, sunucu ve istemci arasındaki iletişimi yönetmek için daha az çaba harcaması anlamına gelir.
Özetle, Next.js 14 ve React Server Components, hem performans hem de geliştirici deneyimi açısından önemli iyileştirmeler sunuyor. Daha hızlı yüklenen uygulamalar, daha az karmaşık kod ve daha akıcı bir geliştirme süreci, bu yeni devrimin temel faydalarıdır. Bu teknolojileri benimsemek, hem projelerinizi bir adım öne taşıyacak hem de geliştirme sürecinizi daha keyifli hale getirecektir.
Geleceğin Web Uygulamaları: Neler Beklemeli?
Next.js 14 ve React Server Components'ın getirdiği bu devrim niteliğindeki gelişmeler, web geliştirmenin geleceğine dair heyecan verici ipuçları veriyor. Bu yeni paradigmalar, sadece mevcut uygulamalarımızı daha iyi hale getirmekle kalmayacak, aynı zamanda daha önce hayal bile edemeyeceğimiz yeni türde uygulamaların geliştirilmesine de kapı aralayacak.
Öncelikle, performans odaklılık daha da artacak. Kullanıcılar, giderek daha hızlı ve daha akıcı deneyimler bekliyor. RSC'ler ve sunucu tarafı render etme, bu beklentileri karşılamak için en güçlü araçlarımızdan biri haline gelecek. Uygulamalarımız, ilk yüklenme sürelerinde milisaniyeler kazanacak ve kullanıcılar, içeriklere anında erişebilecek. Bu, özellikle mobil kullanıcılar için büyük bir fark yaratacak.
İkinci olarak, geliştirici deneyimi daha da iyileşecek. Karmaşıklık azalacak, kod daha okunabilir ve sürdürülebilir hale gelecek. Sunucu ve istemci arasındaki ayrım daha netleşecek ve geliştiriciler, hangi işin nerede yapılması gerektiği konusunda daha bilinçli kararlar alabilecekler. Bu, daha az hata, daha hızlı geliştirme döngüleri ve daha mutlu geliştiriciler anlamına gelecek.
Üçüncü olarak, veri yönetimi daha akıllı hale gelecek. Otomatik caching, revalidasyon ve sunucu tarafı veri çekme yetenekleri, verilerin güncelliğini korurken performansın en üst düzeyde tutulmasını sağlayacak. Bu, özellikle büyük ve dinamik veri setleriyle çalışan uygulamalar için devrim niteliğinde olacak.
Dördüncü olarak, hibrit mimariler standartlaşacak. Sunucu bileşenlerinin performansı ve client bileşenlerinin etkileşimliliği, en iyi dengeyi sunacak. Geliştiriciler, her bileşenin en uygun ortamda çalışmasını sağlayarak, uygulamalarının hem hızlı hem de kullanıcı dostu olmasını garanti edecekler. Bu, “monolitik” yaklaşımlardan uzaklaşarak, daha modüler ve ölçeklenebilir çözümlerin önünü açacak.
Son olarak, Server Actions gibi özellikler, sunucu tarafı işlemlerini daha güvenli ve erişilebilir hale getirecek. Bu, özellikle güvenlik kritik uygulamalar ve karmaşık iş akışları gerektiren projeler için büyük bir avantaj sağlayacak. Geliştiriciler, sunucu tarafı mantığını daha kolay bir şekilde uygulayabilecekler.
Kısacası, Next.js 14 ve React Server Components, web geliştirmenin geleceğini şekillendiren önemli kilometre taşlarıdır. Bu teknolojileri anlamak ve benimsemek, sadece mevcut projelerinizi optimize etmekle kalmayacak, aynı zamanda geleceğin yenilikçi ve yüksek performanslı web uygulamalarını inşa etme yeteneğinizi de artıracaktır. Bu heyecan verici yolculukta yer almak, kariyeriniz için harika bir yatırım olacaktır.
Sıkça Sorulan Sorular (SSS)
React Server Components (RSC) her durumda kullanılmalı mı?
Hayır, her durumda kullanılmamalıdır. RSC'ler, sunucu tarafında render edilmesi gereken, statik veri çeken ve performansın kritik olduğu bileşenler için idealdir. Etkileşimli UI elementleri, sık sık state güncellemeleri gerektiren bileşenler veya tarayıcı API'lerine erişmesi gereken bileşenler için “use client” direktifi ile client bileşenlerini kullanmaya devam etmek daha uygundur. Hibrit bir yaklaşım genellikle en iyi sonucu verir.
“use client” direktifi ne işe yarar?
“use client” direktifi, bir React bileşeninin ve onun altındaki tüm alt bileşenlerin istemci tarafında (tarayıcıda) çalışacağını belirtir. Bu, etkileşimli özellikler, state yönetimi veya tarayıcı API'lerine erişim gerektiren bileşenler için kullanılır. Bu direktif olmadan, Next.js 14'te bileşenler varsayılan olarak sunucu bileşeni olarak kabul edilir.
RSC'ler, SEO'yu nasıl etkiler?
RSC'ler, SEO'yu olumlu yönde etkiler. Sunucu tarafında render edilen içerik, arama motoru botları tarafından daha kolay taranabilir ve indekslenebilir. Ayrıca, RSC'lerin getirdiği performans iyileştirmeleri (daha hızlı yüklenme süreleri), Google gibi arama motorları tarafından bir sıralama faktörü olarak dikkate alındığı için SEO'yu doğrudan güçlendirir.
Server Actions ile client-side API çağrıları arasındaki fark nedir?
Server Actions, doğrudan sunucu tarafında çalışır ve sunucu mantığını (veritabanı işlemleri, kimlik doğrulama vb.) güvenli bir şekilde yürütmek için kullanılır. Client-side API çağrıları ise tarayıcıda çalışır ve genellikle veri almak veya sunucuya basit istekler göndermek için kullanılır. Server Actions, daha karmaşık ve güvenli sunucu işlemleri için daha uygundur.
Next.js 14'te RSC kullanmak zor mu?
Next.js 14, RSC'leri mümkün olduğunca entegre ve kullanımı kolay hale getirmiştir. Varsayılan olarak sunucu bileşenlerinin kullanılması ve “use client” direktifi ile istemci bileşenlerinin belirtilmesi, geliştiricilerin bu yeni mimariye adapte olmasını kolaylaştırır. Temel kavramları anladığınızda, RSC'leri kullanmak oldukça sezgiseldir.
