Ini angkanya
- min + gzip 26k
- gzip 90k
- asli 450 + k
Dan React tidak memiliki banyak fitur dalam dokumentasinya. Mengapa begitu besar?
Saya merasa ini adalah penerapan DOM ringan. Tapi saya ingin memastikan.
Ini angkanya
Dan React tidak memiliki banyak fitur dalam dokumentasinya. Mengapa begitu besar?
Saya merasa ini adalah penerapan DOM ringan. Tapi saya ingin memastikan.
Jawaban:
React cukup berhasil! Bagian terbesar yang tidak terlihat dari React mungkin adalah sistem event - React tidak hanya mengimplementasikan event dispatching dan bubble-nya sendiri, tapi juga menormalkan event umum di seluruh browser sehingga Anda tidak perlu terlalu khawatir tentang itu. Misalnya, SelectEventPlugin adalah "plugin" peristiwa bawaan yang menyediakan onSelect
peristiwa yang berperilaku sama di semua browser.
The DOM maya pelaksanaan tidak mengambil jumlah yang layak kode juga; banyak upaya dihabiskan untuk pengoptimalan kinerja, itulah sebabnya versi yang tidak diperkecil menyertakan ReactPerf , yang merupakan alat untuk mengukur kinerja rendering. Dalam memperbarui DOM, React juga melakukan beberapa hal mudah untuk Anda seperti mempertahankan pemilihan input apa pun dan menjaga posisi scroll saat ini tetap sama.
React juga memiliki beberapa trik lain. Salah satu yang paling keren adalah ia sepenuhnya mendukung rendering komponen ke string HTML bahkan jika Anda tidak memiliki lingkungan browser, sehingga Anda dapat menurunkan halaman yang berfungsi bahkan sebelum JS dimuat.
Apa yang Anda bandingkan dengan React? react-15.0.2.min.js
adalah 43k (gzipped)
, tetapi jQuery adalah 33k sementara ember-2.6.0.prod.js
itu 363k (also gzipped)
. Jelas kerangka kerja ini tidak melakukan hal yang persis sama tetapi mereka memiliki banyak tumpang tindih, jadi menurut saya perbandingannya masuk akal.
Jika Anda khawatir tentang ukuran unduhan, saya tidak akan terlalu khawatir tentang kontribusi kode JS untuk itu. Berikut adalah iklan yang saya lihat di sisi kanan halaman Stack Overflow saya sekarang:
Ukuran downloadnya adalah 95k - Saya tidak akan berpikir dua kali untuk memasukkan gambar seperti itu ke dalam halaman karena (meskipun saya khawatir tentang performa) biasanya ada begitu banyak hal terkait performa yang harus diperbaiki yang lebih menguntungkan.
Singkatnya, menurut saya React tidak sebesar itu, dan ukuran React berasal dari banyak hal kecil yang dilakukannya untuk membantu Anda. Anda mengutip API kecil React sebagai alasan bahwa kode React harus kecil, tetapi pertanyaan yang lebih baik mungkin adalah, "Bagaimana API React bisa menjadi begitu sederhana mengingat semua hal yang dilakukannya untuk Anda?"
… Tapi itu pertanyaan yang sama sekali berbeda. :) Harap saya menjawab pertanyaan Anda - senang untuk memperluas jika saya tidak melakukannya.
Beberapa pemikiran .. Saya memiliki beberapa masalah yang sama dengan ukurannya, tetapi setelah menggunakannya, bukan lelucon, saya akan menggunakannya jika ukurannya 5MB. Itu bagus. Karena itu, saya memutuskan untuk mengurangi ketergantungan pada perpustakaan lain sebanyak mungkin. Saya menggunakan jquery untuk dua hal .. ajax dan respons ajax otomatis dan penanganan permintaan (beforeSend, dll) yang akan menangani ketika token berada dalam respons setelah login, dan kemudian memastikan setiap permintaan ajax menambahkannya ke header Otorisasi sebelumnya mengirim. Saya mengganti ini dengan sedikit javascript asli yang sangat kecil. Bekerja dengan baik. Juga, saya mencoba menggunakan _underscore. Saya telah menggantinya dengan lodash, yang lebih kecil dan lebih cepat, meskipun saat ini saya tidak menggunakannya jadi boleh menghapusnya sama sekali.
Berikut adalah satu artikel, dari sekian banyak artikel di Google, yang saya temukan memiliki beberapa alternatif menggunakan native JS daripada jquery.
http://www.sitepoint.com/jquery-vs-raw-javascript-1-dom-forms/