Rangka Kerja memudahkan Pembangunan untuk Jurutera dan ini adalah percubaan saya untuk hanya berfungsi di Sebalik Tabir ReactJS.
Saya telah mula menggunakan ReactJS. Yup, saya betul-betul ada. Ia seperti mimpi yang ditangguhkan selama 2 tahun apabila saya berminat dengan Reka Bentuk UI / UX dan Pembangunan Hadapan sebelum saya menyelami Sains Data. ( Saya masih bersemangat seperti 2 tahun lalu.)
Saya kini seorang Pelatih di sebuah syarikat (yang menggelarkan diri mereka sebagai permulaan kerana, budayanya lebih kepada pemula berbanding syarikat ) dan hari ini, pada hari pertama saya, saya langsung tiada apa-apa untuk dilakukan sejak itu, TL saya ( Ketua Pasukan ) tidak datang ke pejabat kerana dia sibuk dengan beberapa mesyuarat.
Adakah saya membiarkan masa dia terlepas dari tangan saya. Sama sekali tidak.
Kebarangkalian saya mendapat tugas / projek untuk menguji kemahiran analisis Data saya adalah agak rendah. Oleh itu saya terpaksa mengotorkan tangan saya dalam pembangunan. Saya dapat merasakan bahawa ini mungkin masa terbaik untuk bermula dengan ReactJS.
React ialah kata kerja ( pun intended ). Tetapi dalam konteks teknologi pembangunan, "Perpustakaan untuk web dan antara muka pengguna asli", menuntut tapak web rasmi ReactJS.
Sekarang jika anda telah menggunakan ekosistem pembangunan, anda pasti pernah mendengar tentang 2 pesaing lain atau lebih tepatnya adik-beradik ReactJS, iaitu Angular dan VueJS.
Berikut ialah perbandingan ringkas 3 daripada teknologi Front-End yang paling popular.
Core Concept | Library focused on UI | Full-fledged framework | Progressive framework |
---|---|---|---|
Data Binding | One-way data flow | Two-way data binding | Two-way data binding (optional) |
Component Structure | Custom components | Directives and components | Components |
Learning Curve | Moderate | Steep | Gentle |
Performance | High (Virtual DOM) | Can be slower due to two-way data binding | High (Optimized rendering) |
Scalability | Excellent, suitable for large-scale apps | Strong support for large-scale enterprise apps | Good scalability, but might require additional libraries for complex projects |
Community and Ecosystem | Largest community, rich ecosystem | Large community, strong ecosystem | Growing community, good ecosystem |
Flexibility | High, can be used with other libraries/frameworks | Less flexible due to rigid structure | Flexible, can be used incrementally |
Berikut ialah masalah yang anda akan hadapi jika anda menggunakan:
Kesukaran Mengekalkan Aplikasi Besar:
HTML biasa dan JS tidak mempunyai pendekatan berstruktur untuk menyusun kod.
Aplikasi yang kompleks boleh membawa kepada kusut logik dan manipulasi UI dalam pendengar acara dan fail skrip.
Ini menjadikannya sukar untuk memahami, mengubah suai dan menyahpepijat kod semasa aplikasi berkembang.
Manipulasi DOM yang tidak cekap:
Memanipulasi DOM dalam JS secara langsung boleh menjadi tidak cekap.
Setiap perubahan keadaan mungkin mencetuskan pemaparan semula lengkap struktur HTML, walaupun untuk kemas kini UI kecil.
Ini boleh menyebabkan kesesakan prestasi apabila kerumitan aplikasi meningkat.
Kebolehgunaan Semula Terhad:
Membina komponen UI boleh guna semula dengan HTML biasa dan JS boleh menyusahkan.
Anda mungkin akhirnya menyalin dan menampal coretan kod merentas bahagian berlainan aplikasi anda.
Ini menyukarkan untuk mengekalkan konsistensi dan melaksanakan perubahan dengan cekap.
Pengurusan Negeri yang Kompleks:
Menguruskan keadaan aplikasi (data yang mengawal tingkah laku UI) menjadi sukar dengan HTML biasa dan JS.
Menjejaki perubahan data dan kemas kini UI yang sepadan boleh menjadi kucar-kacir dan terdedah kepada ralat, terutamanya untuk aliran data yang kompleks.
ReactJS menangani batasan ini dengan menawarkan seni bina berasaskan komponen, DOM maya untuk kemas kini yang cekap dan ekosistem yang kaya untuk mengurus UI yang kompleks dan keadaan aplikasi.
Kebolehselenggaraan yang Diperbaiki:
Prestasi Dipertingkat:
Kebolehgunaan Kod:
Apabila saya mencipta komponen pertama saya, saya bertanya kepada diri sendiri, "Apakah sebenarnya" ini? Adakah HTML atau JS?
Saya telah membenamkan JS ke dalam HTML melalui
Saya mencuba dan menulis HTML di dalam fail JS projek bukan React dan meneka perkara yang tidak berjaya.
Kemudian saya mengetahui bahawa sintaks khas ini ( HTML seperti dalam fail JS ) dipanggil sebagai JSX JavaScript XML dan merupakan sambungan JavaScript.
Jika kod yang difahami oleh penyemak imbas akhirnya adalah HTML biasa dan JS, ini bermakna terdapat beberapa operasi yang dilakukan pada JSX ( gula sintaktik untuk membina aplikasi kompleks dengan mudah ) yang kami tulis.
Operasi Behind The Scenes ini sendiri dipanggil Proses Bina.
Idea peringkat tinggi proses binaan adalah untuk mengubah kod pembangunan anda kepada versi yang dioptimumkan sedia untuk digunakan dalam persekitaran pengeluaran.
Walaupun alat dan konfigurasi tertentu mungkin berbeza-beza bergantung pada susunan teknologi, konsep dan matlamat umum proses binaan digunakan secara universal merentas pembangunan web bahagian hadapan.
Kami telah mengetahui bahawa idea peringkat tinggi tetap sama tetapi beberapa fasa dalam Proses Binaan Reaksi adalah seperti berikut:
Pengikat seperti Webpack mengambil semua fail berasingan ini dan menggabungkannya menjadi bilangan berkas yang dioptimumkan yang lebih kecil.
Transpilasi:
Minifikasi:
Pengoptimuman:
Mod Pengeluaran:
Sebaliknya, mod pengeluaran memfokuskan pada pengoptimuman dengan mendayakan pengurangan, gegaran pokok dan peningkatan prestasi lain.
react-scripts ialah pakej dalaman yang digunakan oleh Create React App (CRA) untuk mengendalikan fungsi belakang tabir dalam projek React.
Ia tidak berinteraksi secara langsung dengan pembangun pada kebanyakan masa, tetapi ia penting untuk kecekapan pembangunan.
Berikut ialah skrip reaksi yang bertanggungjawab:
3 daripada tugas paling penting yang dilakukan oleh skrip reaksi adalah seperti berikut yang akan kami fahami dengan lebih terperinci:
Himpunan:
Transpilasi:
Minifikasi:
Begini cara minifikasi berfungsi:
Mengalih Keluar Aksara Yang Tidak Diperlukan:
Memendekkan Pembolehubah dan Nama Fungsi:
Mengalih Keluar Komen:
Ini adalah pembelajaran hanya 1 hari yang diringkaskan.
Saya akan dapat membina lebih daripada ini, jika saya menggunakan alat GenAI. Saya melakukan alatan GenAI sama ada tetapi untuk tujuan pembelajaran.
Saya percaya dengan mengemukakan set soalan yang betul ini dan kemudian memahami konsep secara mendalam akan membezakan anda daripada orang yang mengautomasikan pembangunan.
Dalam temu bual, pemahaman dan kejelasan konsep yang dicari, bukannya kelajuan pengekodan anda kerana, sama ada ia akan diautomatikkan pada satu tahap.
Oleh itu, satu-satunya X-Factor anda sebagai kejuruteraan perisian yang hebat terletak pada pengetahuan anda untuk sekurang-kurangnya mengesahkan dan mengesahkan sama ada hasil model GenAI memenuhi keperluan teknologi anda atau tidak.
Jika anda berpendapat bahawa kandungan saya berharga atau mempunyai sebarang maklum balas,
izinkan saya dengan menghubungi pemegang media sosial berikut yang anda akan temui dalam profil saya dan yang berikut:
LinkedIn: https://www.linkedin.com/in/shrinivasv73/
Twitter (X): https://twitter.com/shrinivasv73
Instagram: https://www.instagram.com/shrinivasv73/
E-mel: shrinivasv73@gmail.com
? Ini ialah Shrinivas, Menandatangani Jawatan!
Atas ialah kandungan terperinci Apakah Proses Bina dalam React (atau dalam mana-mana rangka kerja untuk perkara itu? ). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!