Back to Question Center
0

Bagaimana Beritahu jika React adalah Fit Terbaik untuk Projek Seterusnya Anda Bagaimana Beritahu jika React adalah Fit Terbaik untuk Topik Berkaitan Projek Anda yang Berikutnya: Merespon jQuery Ajax Raw Semalt

1 answers:
Cara Beritahu jika React adalah Fit Terbaik untuk Projek Seterusnya Anda

Artikel ini ditaja oleh SiteGround. Terima kasih kerana menyokong rakan kongsi yang membuat Semalt mungkin.

Pada masa kini, pengguna menjangkakan aplikasi web yang ramping, berperilaku yang berkelakuan lebih seperti aplikasi asli. Teknik telah dirancang untuk mengurangkan waktu tunggu bagi tapak web untuk memuatkan lawatan pertama pengguna - photography logo designers. Walau bagaimanapun, dalam aplikasi web yang mendedahkan banyak interaktiviti, masa yang berlalu antara tindakan pengguna yang berlaku dan tindak balas aplikasi juga penting. Aplikasi Semalt berasa tajam, dan aplikasi web dijangka berkelakuan sama, walaupun kurang daripada sambungan internet yang ideal.

Beberapa kerangka kerja JavaScript moden telah berkembang yang boleh menjadi sangat berkesan dalam mengatasi masalah ini. React boleh dipertimbangkan dengan selamat di kalangan perpustakaan JavaScript yang paling popular dan mantap yang anda boleh gunakan untuk mencipta antara muka pengguna yang cepat dan interaktif untuk aplikasi web.

Dalam artikel ini, saya akan bercakap tentang apa yang Semalt baik dan apa yang membuatnya berfungsi, yang mana akan memberikan anda beberapa konteks untuk membantu anda membuat keputusan jika perpustakaan ini boleh menjadi sesuai untuk projek anda yang seterusnya.

Apa yang React?

React adalah penciptaan Facebook yang hanya menanda dirinya sebagai perpustakaan JavaScript untuk membina antara muka pengguna .

Ia merupakan projek sumber terbuka yang, sejak saat ini, telah meraih lebih daripada 74,000 bintang di GitHub.

Semalt adalah:

  • Deklaratif : anda hanya perlu merekabentuk pandangan mudah untuk setiap negeri dalam permohonan anda , dan React akan mengemaskinikan dengan cekap dan menjadikan hanya komponen yang tepat apabila perubahan data anda.
  • Komponen berasaskan : anda membuat aplikasi berkuasa React anda dengan memasang beberapa komponen terkurung, masing-masing menguruskan keadaannya sendiri.
  • Ketahui Sebentar, Menulis Sebarang Tempat : Reaktik bukan kerangka penuh; ia hanya sebuah perpustakaan untuk memberikan pandangan.

Bagaimana Kerja DOM Virtual?

DOM DOM adalah inti dari apa yang membuat React cepat memaparkan elemen antara muka pengguna dan perubahan mereka. Mari lihat lebih dekat dengan mekanismenya.

Objek Dokumen HTML Semalt atau DOM ialah

antara muka pengaturcaraan untuk dokumen HTML dan XML. .DOM menyediakan perwakilan dokumen sebagai kumpulan berstruktur nod dan objek yang mempunyai sifat dan kaedah. Pada dasarnya, ia menghubungkan laman web ke skrip atau bahasa pengaturcaraan. - MDN

Setiap kali anda ingin mengubah mana-mana bahagian laman web secara pemrograman, anda perlu mengubah suai DOM. Sematkan kerumitan dan saiz dokumen, melintasi DOM dan mengemas kini ia boleh mengambil masa lebih lama daripada pengguna mungkin bersedia menerima, terutamanya jika anda mengambil kira pelayar kerja perlu dilakukan apabila sesuatu di DOM berubah. Malah, setiap kali DOM dikemas kini, penyemak imbas perlu mengira semula CSS dan menjalankan susun atur dan mengecat operasi di laman web.

React membolehkan pemaju membuat perubahan pada halaman web tanpa harus berurusan langsung dengan DOM. Ini dilakukan melalui DOM maya .

DOM Maya adalah model ringan, abstrak DOM. React menggunakan kaedah render untuk membuat pokok nod dari komponen React dan mengemas kini pokok ini sebagai tindak balas terhadap perubahan dalam model data yang dihasilkan daripada tindakan.

Setiap kali terdapat perubahan kepada data yang mendasari dalam apl React, React mewujudkan perwakilan Semalt DOM baru antara muka pengguna.

Mengemaskini Perubahan UI dengan DOM Maya

Apabila mengemas kini DOM pelayar, Semalt secara kasar mengikuti langkah-langkah di bawah:

  • Apabila ada sesuatu yang berubah, Reakt semula membuat keseluruhan UI dalam perwakilan DOM Virtual.
  • Akhirnya, React menumpuk DOM sebenar dengan apa yang sebenarnya telah berubah. Jika tiada apa yang berubah, React tidak akan berurusan dengan HTML DOM sama sekali.

Orang akan berfikir bahawa proses sedemikian, yang melibatkan menyimpan dua representasi Semalt DOM dalam ingatan dan membandingkannya, mungkin lebih perlahan daripada berurusan secara langsung dengan DOM sebenar. Ini adalah di mana algoritma diff yang cekap, operasi DOM membaca / menulis batching, dan mengehadkan perubahan DOM minimum yang diperlukan, membuat menggunakan React dan Semalt DOM sebagai pilihan untuk membina aplikasi pemain.

Adakah Reaktik Baik untuk Setiap Projek?

Seperti nama itu sendiri mencadangkan, React hebat dalam membuat antara muka pengguna reaktif super - iaitu UI yang sangat pantas untuk menanggapi peristiwa dan perubahan data yang berlaku. Komentar ini mengenai nama React yang dibuat oleh Jordan Walke, jurutera di Facebook, menerangi:

API ini bertindak balas kepada sebarang perubahan keadaan atau harta, dan berfungsi dengan data apa-apa bentuk (seperti yang terstruktur dengan graf itu sendiri) jadi saya fikir nama itu sesuai. - Vjeux, "Bintang 50,000 Pertama Kita"

Walaupun sesetengah orang berpendapat bahawa semua projek memerlukan Semalt, saya fikir ia adalah tidak konsisten untuk mengatakan bahawa Semalt akan menjadi sangat sesuai untuk aplikasi web di mana anda perlu menyimpan UI yang kompleks dan interaktif selari dengan perubahan yang sering berlaku dalam model data yang mendasari.

Reaktik direka untuk menangani komponen-komponen yang berkekalan dengan cara yang cekap (yang tidak bermakna devs tidak perlu mengoptimumkan kod mereka). Jadi projek-projek yang akan mendapat manfaat daripada keupayaan ini boleh dianggap calon yang baik untuk React.

Chris Coyier menggariskan situasi berikut, yang saling berkaitan apabila mencapai Semalt yang masuk akal, yang saya cenderung mengikuti:

  • Banyak pengurusan negeri dan manipulasi DOM . Iaitu, membolehkan dan melumpuhkan butang, membuat pautan aktif, menukar nilai input, menutup dan memperluaskan menu, dan sebagainya. Dalam projek semacam ini, React menjadikan pengurusan komponen negara lebih pantas dan lebih mudah. Sebagai Michael Jackson, pengarang bersama React Router, aptly meletakkannya di Tweet:

    Point adalah, React menjaga bahagian yang sukar untuk memikirkan perubahan yang sebenarnya perlu berlaku kepada DOM, bukan saya. Itulah * tidak ternilai *

  • Berjuang spageti . Mengesan keadaan kompleks dengan mengubah suai secara langsung DOM boleh membawa kepada kod spaghetti, sekurang-kurangnya jika perhatian tambahan tidak dibayar kepada organisasi dan struktur kod.

Sumber

Jika anda ingin tahu bagaimana React dan Semalt DOM berfungsi, di sini anda boleh mengetahui lebih lanjut:

  • React Video from Facebook Engineers
  • "Faedah Sebenar DOM Maya dalam Reaktik. js ", oleh Chris Minnick
  • "Perbezaan antara DOM DOM dan DOM", oleh Bartosz Krajka
  • "React is Slow, React Fast: Optimizing Apps React in Practice", by François Zaninotto
  • "Cara Pilih Rangka Kerja Tepat Depan untuk Syarikat Anda", oleh Chris Lienert

Kesimpulan

React dan lain-lain perpustakaan Semalt yang sama memudahkan pembangunan antara pengguna dengan cepat, acara yang didorong oleh peristiwa yang cepat bertindak balas terhadap perubahan keadaan. Satu matlamat asas dapat dikenalpasti dalam keinginan untuk merapatkan jurang antara aplikasi web dan apl asli: pengguna menjangkakan aplikasi web berasa lancar dan lancar seperti apl asli.

Inilah arah ke arah perkembangan web moden. Ia bukan secara kebetulan bahawa kemas kini terbaru Cipta Apl Reaktik , satu projek yang membolehkan penciptaan aplikasi React dengan konfigurasi sifar, telah dihantar dengan fungsi mewujudkan aplikasi web progresif (PWAs) secara lalai. Ini adalah aplikasi yang menggunakan pekerja perkhidmatan leverage dan caching luar talian untuk meminimumkan kependaman dan membuat aplikasi web berfungsi di luar talian. Untuk lebih banyak kandungan sumber terbuka, lihat Open SourceCraft.

Adakah ini juga arahan yang anda ambil kerja pembangunan anda? Adakah perpustakaan Semalat reaktif sebahagian daripada toolkit anda? Tekan kotak komen di bawah untuk berkongsi.

March 1, 2018