Ini adalah pekerjaan di mana kita perlu memikirkan secara mendalam tentang alat yang kita pilih dan alasannya, jadi saya telah mengategorikan semua komponen web yang (bagi saya) terasa seperti “alat yang tepat untuk pekerjaan itu”. Daftar Anda mungkin berbeda, saya ingin membacanya. Karena saya tidak ingin ini menjadi 100% propaganda, saya juga akan membahas beberapa bagian komponen Web yang kurang bagus.
bagian yang bagus
Berikut ini adalah daftar situasi yang tidak lengkap di mana menurut saya komponen Web adalah pilihan yang baik.
- Untuk simpul daun – Elemen web sangat bagus untuk simpul daun.
- Untuk komponen presentasi yang membungkus komponen lainnya –
elemen berguna untuk ini, tetapi Anda dapat menulis kelas CSS dasar sebagai gantinya. Aturan pertama komponen web adalah: Tidak semuanya harus menjadi komponen Web. - Untuk membangun sistem desain – mereka melakukan hal yang sama.
- Untuk meningkatkan HTML biasa secara bertahap – sangat bagus dalam hal itu.
- Ketika Anda ingin melihat kode sumber – kebanyakan orang tidak lagi peduli tentang hal ini tetapi melakukan debug
my-button
Membandingkandiv.spf50
Dan Anda tidak harus bergantung pada pemetaan sumber. - Saat Anda ingin membangun situs web tanpa alat pembangunan – Alat pembangunan biasanya bukan titik awal untuk sebagian besar proyek komponen web.
- Saat membangun proyek satu kali – Seperti halnya komponen “tanpa pembangunan”, menghilangkan ketergantungan dapat mengurangi beban pemeliharaan jangka panjang ketika Anda harus kembali ke proyek berminggu-minggu, berbulan-bulan, atau bertahun-tahun kemudian.
- Untuk pembuatan prototipe – lebih merupakan diskusi tanpa pembuatan, tetapi jika Anda perlu memulai dan menjalankannya dengan cepat, elemen web akan diskalakan.
- Saat Anda perlu menjaga konfigurasi memori tetap rendah – Saya pikir Anda akan menemukan bahwa rata-rata kinerja minimum untuk elemen web jauh lebih rendah, yang membuatnya menjadi sangat cepat.
- Saat Anda membutuhkan enkapsulasi gaya – IMHO Web Elements sedikit Juga Hebat dalam hal ini, tapi ada baiknya mengetahui bahwa aplikasi gaya Shadow DOM juga sangat cepat.
- Saat Anda memerlukan pembaruan templat atom dalam jumlah kecil – beberapa (tidak semua) pustaka komponen web menggunakan literal templat yang diberi tag html, yang dapat memberi Anda pembuatan templat seperti JSX tanpa memerlukan konverter atau kompiler. Teks template markup juga sangat cepat, diperbarui secara atom melalui rendering ulang komponen penuh.
- Komponen Web bagus bila komponen Anda harus ada di seluruh tumpukan teknologi yang berbeda – jika perusahaan Anda mengizinkan departemen memilih tumpukan teknologinya sendiri atau perusahaan Anda mengakuisisi perusahaan lain dan Anda memerlukan konsistensi UI di antara pilihan proyek.
- Saat Anda mendemonstrasikan penggunaan pola bantu, animasi, atau Trik CSS, mengapa tidak mengemasnya dalam komponen Web sehingga orang dapat mengambilnya dan memasukkannya ke dalam proyek mereka? Anak-anak anjing ini sangat mudah didistribusikan.
- Saat Anda membuat widget penyematan pihak ketiga – jika Anda membutuhkan pedas
Komponen Web dapat melakukan hal ini, dan enkapsulasi gaya Shadow DOM mungkin memudahkan Anda menggunakan lebih sedikit kode.
- Bila Anda ingin membangun aplikasi berukuran besar – Anda dapat membangun Photoshop menggunakan komponen web. Perusahaan menggunakan komponen Web setiap hari untuk membangun aplikasi. Mereka menggunakan Shadow DOM.
- Bila Anda memiliki desainer yang dapat membuat kode – sebagian besar desainer tidak memiliki minat atau kemampuan untuk membuat seluruh lingkungan pengembangan, namun Anda mungkin dapat meyakinkan beberapa orang untuk menulis HTML di CodePen. Jika desainer Anda tertarik untuk menyiapkan lingkungan pengembangan lokal, bayarlah mereka lebih banyak.
Bagian yang tidak begitu bagus
Tidak ada teknologi yang sempurna, jadi ada beberapa sisi kasar di sini dengan elemen web di mana orang sering mengalami masalah, atau di mana menurut saya itu bukan abstraksi terbaik.
- Shadow DOM – Saya pikir pertemuan pertama semua orang dengan Shadow DOM berakhir dengan bencana. Ini bisa membingungkan, dan bahkan orang pintar yang saya kenal pun tersinggung karenanya. Saya dapat mengatakan bahwa semakin sering Anda menggunakannya, semakin intuitif jadinya, tetapi Shadow DOM memang memiliki beberapa kendala yang membuat frustrasi.
- SSR – Anda dapat menggunakan Shadow DOM deklaratif ke elemen web SSR, tetapi tidak banyak dokumentasi yang membuat saya percaya bahwa itu kikuk, terlalu khusus untuk perpustakaan, atau keduanya. Jika hal ini tidak memungkinkan bagi Anda, periksa Boost, yang dapat melakukan hal ini secara langsung.
- Halaman – Anda dapat menggunakan elemen Web sebagai abstraksi tingkat halaman dan memanfaatkan beberapa jenis router berdasarkan elemen Web… tetapi Anda lebih baik membuatnya tetap sederhana dan menggunakan HTML yang dihasilkan server sebagai abstraksi tingkat halaman.
- Aksesibilitas – Ada beberapa masalah lama dengan ARIA lintas-root (misalnya, mengaitkan tag dalam file dengan input dalam shadow root). Ada solusinya, tapi kabar baiknya adalah
referencetarget
Diluncurkan di Chromium dan memperbaiki masalah ini. Semoga browser lain segera menerimanya. - Membuat Kompiler untuk Kerangka JS Anda – Ini adalah artikel yang sama sekali berbeda, tetapi saya dapat mengatakan bahwa saya telah melakukan diskusi kelompok komunitas selama sekitar tiga tahun selama beberapa minggu terakhir. Semoga tanggung jawab dan kemajuan ombudsman terjadi disini.
Seperti biasa, jarak tempuh Anda mungkin berbeda-beda. Pada akhirnya, teknologi yang Anda pilih mungkin bergantung pada apa yang populer pada saat itu dan apa yang disukai orang-orang memikirkan Selesaikan masalah mereka dan apa yang membuat tim serta pengambil keputusan Anda merasa nyaman saat itu. Artinya, di tahun 2024 kita tuan rumahmeskipun terdapat keterbatasan yang jelas, menurut saya ini adalah skenario di mana elemen Web sangat cocok.