𝗙𝗿𝗼𝗻𝘁𝗲𝗻𝗱 𝗜𝘁𝘂 𝗠𝘂𝗱𝗮𝗵… 𝗦𝗲𝗵𝗶𝗻𝗴𝗴𝗮 𝗔𝗻𝗱𝗮 𝗕𝗲𝗻𝗮𝗿-𝗯𝗲𝗻𝗮𝗿 𝗠𝗲𝗺𝗯𝗶𝗻𝗮 𝗦𝗲𝘀𝘂𝗮𝘁𝘂
Orang ramai beranggapan pembangunan frontend itu mudah.
Mereka berkata perkara seperti:
- Ia hanyalah sebuah skrin.
- Backend melakukan kerja yang sebenar.
- AI boleh membinanya.
- Gunakan sahaja perpustakaan komponen.
- Ia hanyalah sebuah kotak semak (checkbox).
Setiap pembangun frontend tahu bagaimana cerita ini berakhir. Sebuah kotak semak yang ringkas boleh merosakkan seluruh minggu anda.
Saya mempelajari perkara ini dengan cara yang sukar di pekerjaan terakhir saya. Kami membina sebuah platform untuk sebuah firma audit. Seorang Pengurus Projek meminta sebuah kotak semak pada papan pemuka (dashboard). Dia berkata ia hanya akan mengambil masa dua jam. Dia malah memberi saya masa sehari suntuk untuk mengujinya.
Saya fikir dia sangat pemurah. Saya silap.
Kotak semak tersebut bukanlah elemen UI yang ringkas. Ia mempunyai peraturan yang ketat:
- Ia hanya muncul untuk jenis pelanggan tertentu.
- Ia hanya dipaparkan jika projek memenuhi ambang hasil (revenue threshold).
- Ia hanya muncul jika projek tersebut aktif.
- Ia hanya dipaparkan jika perunding memiliki projek tersebut.
Kemudian, logiknya semakin berkembang. Menanda kotak tersebut mencetuskan satu permintaan (request). Permintaan itu memerlukan kelulusan daripada pengurus. Ini memerlukan:
- Endpoint API baharu.
- Aliran kerja kelulusan yang kompleks.
- Pengendalian ralat dan keadaan pemuatan (loading states).
- Sistem pemberitahuan baharu.
Keadaan menjadi lebih buruk. Pengurus tidak mahu permintaan dibiarkan tanpa tindakan. Kotak semak itu perlu disembunyikan jika pengurus tidak dalam talian. Kami terpaksa melaksanakan penjejakan kehadiran masa nyata (real-time presence tracking).
Tiba-tiba, kami perlu menguruskan:
- Model pangkalan data.
- Sambungan socket.
- Penyinkronan data masa nyata.
- Race conditions.
Kami menghabiskan masa tiga puluh jam untuk satu kotak semak.
Kami tidak menghabiskan masa tiga puluh jam untuk melukis sebuah kotak. Kami menghabiskan masa tiga puluh jam untuk menterjemah peraturan perniagaan ke dalam kod.
Kerumitan frontend datang daripada keperluan manusia. Anda mesti menyelesaikan masalah untuk:
- Pengguna luar talian.
- Klik serentak.
- Perubahan kebenaran (permission).
- Respons API yang perlahan.
- Socket yang terputus.
Perpustakaan komponen seperti ShadCN sangat bagus. AI sangat membantu untuk susun atur (layouts). Tetapi ia tidak menyelesaikan masalah perniagaan. Sebuah perpustakaan memberi anda kotak semak. Ia tidak memberitahu anda siapa yang melihatnya atau bagaimana aliran kelulusan berlaku.
Bahagian yang sukar bukanlah piksel. Bahagian yang sukar adalah memahami apa maksud kotak tersebut.
Frontend adalah tentang menterjemah kekacauan manusia kepada sesuatu yang boleh diklik oleh orang ramai. Hasil kerja yang terbaik kelihatan mudah kerana seseorang telah menghabiskan masa berhari-hari untuk menjadikannya terasa ringkas.
Apakah cerita "kotak semak ringkas" anda?
Sumber: https://dev.to/mdazlaanzubair/frontend-is-easy-until-you-actually-build-something-20fb
