İşte sayılar
- min + gzip 26k
- gzip 90k
- orijinal 450 + k
React, dokümantasyonunda pek çok özelliğe sahip değildir. Neden bu kadar büyük?
Hafif DOM'nin uygulanması olduğunu hissediyorum. Ama emin olmak istiyorum.
İşte sayılar
React, dokümantasyonunda pek çok özelliğe sahip değildir. Neden bu kadar büyük?
Hafif DOM'nin uygulanması olduğunu hissediyorum. Ama emin olmak istiyorum.
React biraz var! React'ın en büyük nonobvious bölümü muhtemelen olay sistemi - React yalnızca kendi olaylarını gönderen ve bubbling'i uygulamakla kalmaz, aynı zamanda tarayıcılar arasındaki ortak olayları normalleştirir, böylece bu konuda endişelenmenize gerek kalmaz. Örneğin, SelectEventPlugin sağlayan bir yerleşik "eklenti"
onSelect Tüm tarayıcılarda aynı şekilde davranan olay.
sanal DOM Uygulamada iyi bir miktar kod alınıyor; performans optimizasyonu için çok fazla çaba harcamaktadır, bu nedenle, unremified sürümü şunları içerir: ReactPerfrender performansının ölçülmesi için bir araçtır. DOM'ı güncellemede React, herhangi bir giriş seçimini sürdürmek ve mevcut kaydırma konumunu aynı tutmak gibi bazı kullanışlı şeyler de yapar.
React ayrıca kolundaki birkaç başka numaraya da sahiptir. En iyilerinden biri, bir tarayıcı ortamınız olmasa bile bir HTML dizgisine bir bileşenin oluşturulmasını tam olarak desteklemesidir, böylece JS yüklenmeden önce bile çalışan bir sayfayı aşağıya gönderebilirsiniz.
React'ı karşı ile karşılaştırmak nedir?
react-15.0.2.min.js olduğu
43k (gzipped)ama jQuery 33k iken
ember-2.6.0.prod.js olduğu
363k (also gzipped). Açıkçası bu çerçeveler tam olarak aynı şeyleri yapmıyorlar ama çok fazla örtüşüyorlar, bu yüzden karşılaştırmanın makul olduğunu düşünüyorum.
İndirme boyutu konusunda endişeleniyorsanız, JS kodunun buna katkıda bulunmasından endişe etmem. Şu anda Stack Overflow sayfamın sağ tarafında gördüğüm bir reklam var:
İndirme boyutu 95k - Ben bir sayfada bir görüntü dahil olmak üzere iki kez düşünemem çünkü (performans hakkında endişeliysem bile) genellikle daha fazla performansla ilgili daha fazla düzeltme yapmak için performansla ilgili birçok şey vardır.
Kısacası, React'ın o kadar büyük olduğunu ve ne kadar büyüklükte olduğunu size yardımcı olmak için pek çok küçük şeyden geldiğini düşünmüyorum. React'un küçük API'sini React'ın kodunun küçük olması için bir neden olarak görüyorsunuz, ancak daha iyi bir soru, "React'un API'si sizin için yaptığınız her şey için çok basit olabilir mi?"
… Ama bu tamamen ayrı bir soru. :) Umarım sorunuza cevap verdim - eğer yapmazsam büyümek için mutluyum.
Düşünceler bir çift .. Ben onun boyutu ile aynı endişeleri bazı vardı, ama kullanmadan, şaka, ben 5MB boyutu ise bunu kullanırdım. Bu sadece iyi. Bununla birlikte, mümkün olduğu kadar diğer kütüphanelere bağımlılıkları azaltmaya karar verdim. İki şey için jquery kullanıyordum .. ajax ve otomatik ajax yanıtı ve istek (handSend, vb) istek üzerine bir belirteç giriş yaptıktan sonra bir yanıt olduğunda işlemek sonra her ajax isteğinden önce Yetkilendirme üstbilgisine ekledi emin olun gönderme. Bunu süper küçük basit bir yerel javascript ile değiştirdim. Harika çalışıyor. Ayrıca, _underscore kullanmaya çalışıyordum. Bunu daha küçük ve daha hızlı olan lodash ile değiştirdim, ancak şu anda kullanmıyorum, ancak tamamen kaldırabilirim.
İşte, google'da birçoğu, jQuery üzerinden yerel JS'yi kullanan bazı alternatiflerin bulunduğunu öğrendim.