React
React Server Components, Problemler, React Ekosistemindeki Kütüphanelere Etkisi
Son dönemde React ekosisteminde RSC’ nin getirdikleri ve etkileri çok sık tartışılıyor ve farklı platformlarda dile getiriliyor. Bu yazıda çevremde gördüklerimi toparlamaya çalışacağım
React’ın güçlü olmasının nedenlerinden biridi Open Source Community ve bu ekiplerin geliştirdiği kütüphane zenginliği ve çeşitliliği. Peki RSC(React Server Components) mevcut kütüphanelere etkisi nedir ?
React ekosisteminde React Server Component etkisi ile kütüphane geliştiren bir çok kişiden farklı problemleri ve gelecek konusundaki belirsizliği ilgili rahatsızlıkları değişik sosyal medya platformlarından duymaya başladık.
React burada legacy(mevcut) çalışan bir çok kodu etkileyebilecek ciddi bir paradigma değişikliğine gidiyor aslında. Bu değişim React Hook’ lara benzer gibi gözüksede aslında çok daha farklı ve yapısal bir durum. Hooklar ile birlikte eski Class Componentları’ da kullanabildiğimiz ve daha etkilerinin az hissedildiği daha yavaş yavaş geçilen bir API değişikliğiydi Hooks’lar. RSC’de durumlar biraz daha farklı.
React’ın başından beri yaptığı DX(Developer Experience) sağlayarak uygulama geliştiricilerini Component-Based (Bileşen Temelli) bir geliştirme altyapısı sunarak Rendering ve Interaction Handling çözmesiydi.
RSC ile birlikte işler değişti. Nasıl ?
React Proje Oluşturma Araçları
Öncelikle artık React proje altyapısını hızlı oluşturmamızı sağlayan CRA’dan vazgeçilmiş, artık bir React proje altyapısı oluşturacaksanız Next, Remix, Gatsby gibi Framework’ lerin öne çıkarıldığı bir ortama geçtik. Dokümantasyonda gizlenmiş olarak Vite yer alıyor 😃
Bu arada CRA(Create React App) tarafını bir nevi öldürdüler. Tabi burası ile daha hala ClientSide uygulama geliştiriciler React projelerini üretiyor ama belli bir süre sonrasında bu kısmında devam etmeyeceği açık..
Bu konuda daha detaylı bilgi için CRA (Create React App) Neden Sonlandırıldı (Bir Nevi Öldürüldü) ? blog yazısını okuyabilirsiniz.
Aslında CRA’nın kaldırılacağı 2021 sonlarından itibaren belli.
State Management Kütüphaneleri
Gelin bir de durumu State Management kütüphane geliştiricileri açısından inceleyelim.
React Query(TanStack/query) kütüphanesinin bakımından sorumlu Dominik aşağıdaki blog yazısını okursanız RSC’ sonrasında React Query’nin karşılaştığı sorunlar ve geleceği konusundaki endişelerini anlattığı yazıları
Apollo, Redux Toolkit ve RTKQuery maintainer olarak destek veren Lenz Weber, in RSC hakkında düşünceleri ve problemli noktalara değindiği yazısına aşağıdan erişebilirsiniz.
My take on the current React & Server Components controversy
Routing Kütüphanelerine Etkisi
React Router ve Remix Geliştirici Ryan Florance RSC ‘nin entegrasyonu konusunda çok dikkatli olmaları gerektiğini , daha hala üzerinde çalışmalar, deneyler yaptıklarını anlatıyor.
Tanner Linsley → Tan Stack Router konusunda ve bu kısmı RSC uyumlu hale getirmesi için bir takım standartların ortaya daha belirgin şeklinde çıkması gerektiğini belirtiyor. , Solid ve Astro Framework geliştiricilerinin RSC bakışlarını bu video dan görebilirsiniz.
RSC’nin Ne Olduğu / Ne Olmadığının Tartışması
Her yerde çevrenizde RSC (React Server Component) ne olup olmadığı ile ilgili tartışmaları görebilirsiniz.
Birisi diyor RSC çıktısı → Programdır, bir başkası diyor VDOM Serializationıdır…
Sonuç
Benim anladığım
- RSC konusu üzerinde biz daha çok konuşuruz. RSC nin gelecek anlamında bir çok avantajı olduğu gibi mevcut kodların çalışmadında da bir çok probleme yol açabilecek gibi gözüküyor.
- Mental düşünme şekli ve paradigmalarımız değişecek
- RSC Standartların ve buna uygun kütüphane geliştirmesinin oturması biraz zaman alacak.
- 3rd Party Legacy kod ve kütüphanelerde useClient kullanmayı unutmayın, React arkaplanda farklı farklı hatalar atabilir.
- Mevcut kütüphaneler gelecekte kullanmama korkusu yaşamaya başladı.
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke (frontend ecosystem) tıklayabilirsiniz.
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke (react server component) tıklayabilirsiniz.
LearnReactUI.dev
React Ekosisteminde kendi kariyerinizi daha ileriye götürmek için LearnReactUI.dev sitesine üye olmayı unutmayın. Bu site piyasada çalışan(real-world) Web Uygulaması geliştirmek isteyen React geliştiricileri için oluşturulmuş bir web sitesidir.