01.01. Niye React?

Niye React sorusuna iyi cevap verebilmek için mevcut problemler bilinmeli ve React’ın önerdiği çözümler öğrenilmelidir. Bu bölümde, “Niye React?” sorunu madde madde incelenmiştir.

Bir uygulamada Javascript kodlarının artması: Javascript, web sitelerine canlılık katmak için tasarlanmış ancak büyük uygulama geliştirmek için tasarlanmamıştır. Javascript uygulamalarında büyüme ve kompleksliğin artması kütüphanelerin, birlikteliklerin ve çözümlerin oluşmasına sebebiyet vermiştir. Bu çözümlerden biri de React’tır. 

Kod okunurluğu: Bir React uygulamasındaki temel yapı taşı, bir form veya menü gibi web sayfadasındaki  bazı görsel özelliklerin bildirimsel bir açıklaması olan bileşendir (component). Bileşenlerin bildirimsel niteliği okunabilirliği arttırır.  Yani, bazı harici girdiler (özellikler – properties) göz önüne alındığında, çıktı iyi tanımlanmış ve deterministiktir.

Klasik DOM (Document Object Model) çok yavaş: Bir tarayıcı bir web sayfasını indirdikten sonra yorumlar ve HTML etiketlerinden bir DOM ağacı oluşturur. Javascript kodları ile bu ağaç üzerinden verilere ulaşma ve değiştirme şansımız vardır. Ancak, web sitesi büyüdükçe DOM yavaş bir çözüm olmaya başlar. React, etkili (efficient) uygulamalar yazmada bu engelle baş etmeyi amaçlar. React, bu probleme çözüm için sanal (virtual) DOM adında bellekte DOM’un temsil edilmesini sağlayan bir yapı sunar. Değişik sanal DOM üzerinde yapıldıktan sonra minimum değişiklikle DOM üzerinde değişiklik yapılır. Bu özellikle art arta yapılan çok fazla değişikliğin toplu şekilde yönetilmesine olanak sağlar ve bu sayede uygulama verimliliği artar.

Daha modüler bir yapı: React bileşenleri modülerdir. Kodu yeniden kullanılabilir ve test edilebilir hale getiren kalıtsal bir yapıya sahiptir.