14 puan yazan GN⁺ 2023-08-16 | 21 yorum | WhatsApp'ta paylaş
  • Kullanıcı arayüzleri oluşturmak için yaygın olarak kullanılan JavaScript kütüphanesi React üzerine eleştirel bir değerlendirme ve alternatif önerileri.
  • React'in demode kaldığı eleştirisi yapılıyor; performans ve uyarlanabilirlik açısından yetersiz olduğuna dikkat çekiliyor.
  • Yazar, React ekosisteminin gereksiz yere büyük olduğunu ve React hooks'un artık çağın gerisinde kaldığını savunuyor.
  • Frontend'de render etme ve ölçeklendirmeye odaklanmanın gerekli olmadığı savunuluyor.
  • Sunucu tarafı render'ın artık benzersiz olmadığı ve çift yönlü veri bağlamanın kötü bir fikir olmadığı ileri sürülüyor.
  • Stil verme işleminin React'e kıyasla daha basit olduğu ve diğer framework'leri öğrenmenin zor olmadığı savunuluyor.
  • React alternatiflerinin sadece "yeni ve göz alıcı" olmadığı, olgunlaştıkları ve daha iyi performans sundukları savunuluyor.
  • Svelte, Vue, Solid, Fresh, Astro, Preact, Qwik gibi başka framework'leri denemeniz öneriliyor.
  • Yazarın kişisel favorisi Svelte; React'ten daha kolay öğrenildiğini ve daha iyi performans sunduğunu savunuyor.
  • Svelte, kullanılmayan kodu derleme sırasında kaldırarak daha küçük bundle'lar üreten bir derleyicidir.
  • Svelte'in meta framework'ü SvelteKit; statik, sunucu render'ı ve edge dağıtımı destekleyen çeşitli ve güçlü bir yapı sunuyor.
  • Vue, React'ten daha iyi performans ve daha UI odaklı bir yaklaşım sunuyor; JSX yerine temel HTML'ye daha yakın bir şablon dili kullanıyor.
  • Solid, React'in daha yüksek performanslı bir sürümü olarak; karmaşıklığı, performans sorunlarını ve boilerplate'i ortadan kaldırıyor. Kendi meta framework'ü SolidStart'ı sunuyor.
  • Fresh, Deno üzerinde kurulu, ada mimarisi kullanan bir sunucu render'lı frontend framework'üdür. Minimum JavaScript ve hızlı dinamik içerik yükleme sunar.
  • Astro, dinamik sunucu tarafı özelliklere sahip yüksek performanslı bir statik site üreticisidir. Varsayılan olarak hiç JavaScript kullanmaz ve çeşitli frontend framework'leriyle uyumludur.
  • Preact, React'in daha hafif ve hızlı bir sürümüdür; React'te bulunmayan bazı üstün özellikler kazanmıştır.
  • Qwik, sunucu render'lı React'e benzer kod sunan yeni bir yaklaşımdır ve çok sayıda etkileşimin olduğu projeler için iyi bir seçimdir.
  • Lit, Stencil, Polymer gibi web component kütüphaneleri; aynı component'i birden fazla ortamda yeniden kullanmak veya framework değişikliğine hazırlıklı olmak isteyen projeler için öneriliyor.
  • Yazar, teknoloji sektörünün React'ten sonra yeni bir şeye geçerek teknoloji benimsemede bir sıçrama daha yapabileceğini öne sürüyor.

21 yorum

 
linrise 2023-08-17

Bu yazı, saygısız bir genç çalışanın “Üstat~ artık pek bir numaranız kalmadı, emekli olsanıza?” dediği bir metin gibi duruyor; bu yüzden de bayağı küçümseyici.

 
moderator 2023-08-17

Konu hakkında hararet yükseliyor gibi görünüyor.
Lütfen site kullanım kuralları içindeki yorum yapma bölümünü kontrol edin.

Lütfen nazik ve ölçülü konuşun.
Lütfen yazının yazarını hedef almayın.
Bir itirazınız varsa, yalnızca o içeriği yazın.

 
cosine20 2023-08-17

Ben kişisel olarak sadece JS gibi bir dilin sunucu geliştirme dili olarak kullanılmasını pek doğru bulmuyorum.
Bu aralar TS tabanlı olanlar da çok ama sonuçta ortaya çıkan şey yine JS oluyor... Python da öyle, JavaScript de öyle; dil açısından gerçekten pek hoşuma gitmiyor ama galiba sunduğu pratiklik yüzünden çok kullanılıyorlar.
Sanki dilin demokratikleşmesi gibi bir his var.

 
roxie 2023-08-17

Vercel bunu kan, ter ve emekle ortaya koymuşken, insanların bunu fazla doğal ve önemsiz bir şeymiş gibi görmesi pek hoş değil.

 
secret3056 2023-08-16

Okuldayken, sözdizimi hatalarını bile yakalamayan bir editörle cehennem gibi servlet yazdığım günleri hatırlayınca, React olsun Svelte olsun her şeye minnet duyuyorum.....

 
bichi 2023-08-16

Şunu bunu deneyince React'in artıları ve eksileri görünüyor ama React iyi, JSX güçlü, hooks'a yönelik olumsuz görüşlere karşı çıkmak biraz körü körüne bir din gibi geliyor.

 
alucard 2023-08-16

Bunun JSX değil, ifade gücü açısından avantajlı olduğunu yazdım.. hooks konusunda da, asıl metni gerçekten okuyunca hooks kalıbının kendisini eleştirmediğini, sadece artık React’e özgü bir güçlü yan olmaktan çıktığı düzeyinde yazdığını gördüm. Buna katılabiliriz. Çeviri o şekilde olunca ben yanlış anlamışım.
Peki, bu yüzden yorum yazan kişinin tespit ettiği güçlü noktanın ne olduğunu somut olarak yazabilir misiniz?

 
bichi 2023-08-16

Kütüphane ya da framework’lerin sadece avantajları olup hiç dezavantajları olmadığını düşünmüyorsunuzdur herhalde, değil mi? Kullanırken React’ın dezavantajları gibi şeyleri hiç fark etmediniz mi acaba? Özellikle dezavantaj yazmamı istediğinize göre galiba bugüne kadar hiç hissetmemişsiniz? Avantaj ve dezavantaj denen şeyin, avantajlarının da olduğu anlamına geldiğini biliyorsunuzdur, değil mi? Avantajı çok ama dezavantajı da çok. Bunlardan biri dün okuduğum bir şeydi ama linkini bilmiyorum: server component’lerde context’i sadece server component içinde kullanabiliyormuşsunuz. Bu yüzden de js-in-css kullanılamıyormuş. Ben bunu bizzat denemediğim için gerçekten bir dezavantaj diyebilir miyim emin değilim haha. Hook mu? Bence gerçekten çığır açan bir fikir sunuyordu. Ama şimdi ise haha React’tan daha akıllı ve kullanımı daha rahat olan signal var; yazının içinde de geçiyor.

 
alucard 2023-08-17

Evet haha iyi dinledim.

 
cookiet 2023-08-16

Bu arada geride kalan angular da var, ahh.

 
alucard 2023-08-16

Kesinlikle katılmıyorum; JSX, HTML'e göre ifade gücü açısından avantajlı olduğu için bilerek kullanılıyor.
Çift yönlü veri bağlamanın baştan beri kötü bir fikir olduğu yönündeki genel kanının neden bir anda tersine döndüğü de bana tuhaf geliyor.. ayrıca
Gereksiz yere büyük ekosistemden kasıt ne acaba? Bir de hooks artık demode olmuş deniyor..
Açıkçası, bunu gerçekten bir programcının yazıp yazmadığından bile şüpheliyim.

 
kuroneko 2023-08-16

Oldukça mantıklı gelen epey nokta var gibi görünüyor. Hâlâ React kullanıyor olsam da...

 
[Bu yorum gizlendi.]
 
beingbook 2023-08-16

Teknik olarak hangi trade-off'ların olduğunu somut biçimde açıklamak yerine yalnızca performansın düşük olduğunu iddia etmek pek ikna edici görünmüyor. Örneğin React dışındaki island implementasyonlarında öncelik tabanlı yükleme gibi şeyler mümkün olmuyor.

 
laracool 2023-08-16

Elektronik devlet framework’ünde farklı bir şey ortaya çıkmadığı sürece... React’in ülkede güçlü olması kaçınılmaz.

 
[Bu yorum gizlendi.]
 
bohaesoju 2023-08-16

Bilemiyorum. React’e alternatif olarak fazla sayıda kütüphane sunuyor gibi görünüyor.
Kapsamlı biçimde her şeyi değerlendirdiğimizde, React’ten daha üstün yönlerini öne çıkarmaları gerekmez mi diye düşünüyorum.

 
tequila 2023-08-16

Vue ve Nuxt gerçekten çok iyi, ama ülkede konumları dar olduğu için üzücü. Svelte ise... konumundan bahsetmenin bile mümkün olmadığı bir durumda (hıçkırık)...

 
[Bu yorum gizlendi.]
 
bichi 2023-08-16

10.000 kere doğru söz

 
GN⁺ 2023-08-16
Hacker News görüşleri
  • Bazı geliştiriciler, Vue’nun şablon dilini JSX’e kıyasla temel HTML’e daha yakın buldukları ve şablon dosyalarında koşul ve döngü yazmayı kolaylaştırdığı için tercih ediyor.
  • React’te filter, map, reduce gibi dil yapılarının kullanılmasının, bazılarına workaround’lardan daha rahat geldiği düşünülüyor.
  • Bir geliştirici, React’ten çıkıp server-side rendering frontend ve vanilla JS kullandığı deneyimini paylaşarak bunun bakımını daha kolay bulduğunu söylüyor.
  • Bazı kişiler, DOM’un zaten React içinde üçüncü taraf kütüphaneleri entegre etmek için güvenilir bir yol sunduğunu düşündüklerinden Web Components’ı abartılmış buluyor.
  • React’in popülerliği programlama modelinden kaynaklanıyor; JSX ise hâlâ JS uygulamalarının UI kısmını JS kısmına doğrudan entegre etmenin en iyi yollarından biri olarak görülüyor.
  • İş açısından bakıldığında, React gibi sektör standardı araçlara bağlı kalmak daha kolay işe alım ve daha büyük bir ekosistem sağlıyor, ayrıca her şeyi sıfırdan kurma ihtiyacını azaltıyor.
  • React Hooks, class component lifecycle method’lara göre büyük bir iyileştirme olarak görülüyor ve daha temiz, daha güçlü kod sağlıyor.
  • Bazı geliştiriciler React’in function component ve Hooks yaklaşımını bir hata olarak görüyor; bunun da kod tabanını daha az bakımı yapılabilir ve anlaşılması daha zor hale getirdiğini düşünüyor.
  • React, diğer framework’lere göre daha temel bir araç olarak değerlendiriliyor ve imperative yaklaşımdan daha functional bir paradigmaya geçişi temsil ediyor.
  • Google’ın Web Components spesifikasyonunu hazırlaması için Alex Russel’a ödeme yaptığına dair makaleden yapılan alıntı, Web Components ile React arasındaki doğrudan rekabet nedeniyle taraflı kabul ediliyor.
  • Bazı geliştiriciler, web programcılarının “kendi başına yapma” ve pratik yöntemlerle karmaşık sistemler kurma becerisini kaybettiğini, React gibi framework’lerin de çoğu zaman gereğinden fazla kullanıldığını düşünüyor.
  • Makalenin yazarı, örnek vermeden mevcut çözümler arasındaki tarih ve farklara dair yeterli uzmanlık ya da anlayış göstermemekle eleştiriliyor.
  • Bazı kişiler, geliştiricilerin render performansı konusunda endişelenmesine gerek olmadığı yönündeki makale iddiasına katılıyor ve React’in geliştiricileri useMemo ve useCallback gibi özellikleri kullanmaya zorlamasını sorguluyor.
  • Bazı kişiler, geliştiricilerin yalnızca React geliştiricisine dönüşüp başka yolları göremez hale geldiği yönündeki makale iddiasına katılıyor; React’in component, state ve Hooks gibi tanımları öne çıkararak temel programlama kavramlarına dair anlayışı zayıflattığını düşünüyor.