<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Hijrah Frontend on Faiq Najib</title>
		<link>https://najib.id/series/hijrah-frontend/</link>
		<description>Recent content in Hijrah Frontend on Faiq Najib</description>
		<generator>Hugo</generator>
		<language>id-ID</language>
		
		
		
			<copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright>
		
		
			<lastBuildDate>Sun, 25 Oct 2026 20:06:14 +0700</lastBuildDate>
		
			<atom:link href="https://najib.id/series/hijrah-frontend/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Hijrah Frontend (5): Dua Sisi Satu Gedung</title>
				<link>https://najib.id/writing/2026/hijrah-frontend-05/</link>
				<pubDate>Wed, 23 Sep 2026 09:00:05 +0700</pubDate>
				<guid>https://najib.id/writing/2026/hijrah-frontend-05/</guid>
				<description>&lt;p&gt;Ini episode terakhir seri &lt;em&gt;frontend&lt;/em&gt;. Seperti &lt;a href=&#34;https://najib.id/writing/2026/hijrah-backend-09/&#34;&gt;seri sebelah&lt;/a&gt;, saya tidak mau menulis seolah semua masalah sudah beres. Saya cuma ingin mencatat apa yang selesai, apa yang belum disentuh, dan apa yang saya pelajari setelah ikut mengurus kedua sisi gedung ini.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cek-inventaris-dulu&#34;&gt;Cek Inventaris Dulu &lt;a href=&#34;#cek-inventaris-dulu&#34; class=&#34;tdln dimmer&#34;&gt;&lt;small&gt;#&lt;/small&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Empat episode lalu, saya mulai membongkar gedung &lt;em&gt;frontend&lt;/em&gt; warisan. Port-nya sekarang selesai, jadi saya catat dulu isinya:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;76 halaman dipindahkan dan tetap hidup.&lt;/strong&gt; Port 1:1 tanpa meninggalkan satu halaman pun. Semua &lt;em&gt;link&lt;/em&gt; internal antarhalaman masih menuju ke tempat yang benar.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dua &lt;em&gt;library&lt;/em&gt; UI tetap dipakai.&lt;/strong&gt; Ada 101 &lt;em&gt;file&lt;/em&gt; untuk yang mayoritas dan 13 untuk pemegang komponen kalender. Seperti sebelumnya, tidak ada &lt;em&gt;file&lt;/em&gt; yang memakai keduanya.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;194 bekas luka tipe sudah terukur.&lt;/strong&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; Ada 194 jaring pengaman kecil yang masih berupa angsuran, belum menjadi arsitektur.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tiga era &lt;em&gt;styling&lt;/em&gt; masih ada&lt;/strong&gt;,&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; satu &lt;em&gt;backup&lt;/em&gt; sudah dipensiunkan, dan &lt;em&gt;standardisasi&lt;/em&gt; menunggu giliran.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Angka-angka ini bukan tanda gedungnya sudah rapi. &lt;strong&gt;Pindahan selesai, renovasi belum.&lt;/strong&gt; Saya sempat mencampuradukkan dua hal itu, padahal jelas beda pekerjaan.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hijrah Frontend (4): Dua Library UI, Dua Era Penamaan</title>
				<link>https://najib.id/writing/2026/hijrah-frontend-04/</link>
				<pubDate>Wed, 23 Sep 2026 09:00:04 +0700</pubDate>
				<guid>https://najib.id/writing/2026/hijrah-frontend-04/</guid>
				<description>&lt;p&gt;Di &lt;a href=&#34;https://najib.id/writing/2026/hijrah-frontend-02/&#34;&gt;episode kedua&lt;/a&gt; saya sempat menyebut angkanya: satu &lt;em&gt;library&lt;/em&gt; UI dipakai di 101 &lt;em&gt;file&lt;/em&gt;, satunya di 13 saja. Kali ini saya bongkar penggunaannya lebih dekat. Ada dua hal yang bikin saya mengernyit, lalu tertawa sendiri di depan layar, hehe.&lt;/p&gt;&#xA;&lt;p&gt;Rupanya keduanya &lt;strong&gt;tidak pernah dipakai dalam &lt;em&gt;file&lt;/em&gt; yang sama&lt;/strong&gt;. Aneh juga, &lt;em&gt;library&lt;/em&gt; yang lebih jarang dipakai justru punya komponen yang paling sering dicari. Saya ceritakan.&lt;/p&gt;&#xA;&lt;h2 id=&#34;dua-library-batas-yang-tidak-tertulis&#34;&gt;Dua Library, Batas yang Tidak Tertulis &lt;a href=&#34;#dua-library-batas-yang-tidak-tertulis&#34; class=&#34;tdln dimmer&#34;&gt;&lt;small&gt;#&lt;/small&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Library&lt;/em&gt; pertama dipakai di lebih banyak halaman. Isinya &lt;em&gt;paginator&lt;/em&gt;, &lt;em&gt;button&lt;/em&gt;, &lt;em&gt;skeleton&lt;/em&gt;, &lt;em&gt;card&lt;/em&gt;, sampai &lt;em&gt;galleria&lt;/em&gt; gambar. Hampir semua halaman memakai komponen darinya; ada 101 &lt;em&gt;file&lt;/em&gt; yang memanggilnya.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hijrah Frontend (3): Type Chaos, Angka, String Kosong, dan Halaman yang Berbeda Pendapat</title>
				<link>https://najib.id/writing/2026/hijrah-frontend-03/</link>
				<pubDate>Wed, 23 Sep 2026 09:00:03 +0700</pubDate>
				<guid>https://najib.id/writing/2026/hijrah-frontend-03/</guid>
				<description>&lt;p&gt;Tiga halaman mengirim &lt;em&gt;field&lt;/em&gt; yang sama dengan cara berbeda. Ada yang mengirim angka, ada yang mengirim &lt;em&gt;string&lt;/em&gt; kosong kalau nilainya tidak ada, ada juga yang membungkus angka jadi &lt;em&gt;string&lt;/em&gt;. Kebiasaan ini bertahan bertahun-tahun, sampai penerimanya berubah jadi sistem yang tidak mau menebak.&lt;/p&gt;&#xA;&lt;p&gt;Begitulah &lt;em&gt;type chaos&lt;/em&gt; muncul. Tidak ada yang sengaja bikin, tapi bekasnya masih bisa dihitung di &lt;em&gt;repo&lt;/em&gt; kami.&lt;/p&gt;&#xA;&lt;h2 id=&#34;dulu-php-memaklumi&#34;&gt;Dulu, PHP Memaklumi &lt;a href=&#34;#dulu-php-memaklumi&#34; class=&#34;tdln dimmer&#34;&gt;&lt;small&gt;#&lt;/small&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Dulu penerimanya adalah PHP, bahasa yang sangat pemaaf soal tipe data. Kirim &lt;code&gt;&amp;quot;123&amp;quot;&lt;/code&gt;, dibaca sebagai 123. Kirim &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;, dianggap kosong. Kirim &lt;code&gt;null&lt;/code&gt;, seolah tidak terlihat. Selama bertahun-tahun, halaman-halaman itu tidak perlu memikirkan tipe karena bahasanya tidak mempermasalahkannya.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hijrah Frontend (2): Port Tipis dan Warisan yang Ikut Naik</title>
				<link>https://najib.id/writing/2026/hijrah-frontend-02/</link>
				<pubDate>Wed, 23 Sep 2026 09:00:02 +0700</pubDate>
				<guid>https://najib.id/writing/2026/hijrah-frontend-02/</guid>
				<description>&lt;p&gt;Pindahan di &lt;a href=&#34;https://najib.id/writing/2026/hijrah-frontend-01/&#34;&gt;episode pertama&lt;/a&gt; akhirnya selesai. Di hari serah terima, manifestnya cuma punya satu angka penting: &lt;strong&gt;tujuh puluh enam kotak masuk, tujuh puluh enam kotak keluar. Tidak ada halaman yang tertinggal.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tidak ada yang tertinggal karena memang begitu keputusan kami. Ada yang sengaja dibawa, ada yang ikut tanpa diundang, dan ada satu rencana besar yang akhirnya batal. Saya ceritakan satu-satu ya.&lt;/p&gt;&#xA;&lt;h2 id=&#34;kenapa-nol-halaman-ditinggalkan&#34;&gt;Kenapa Nol Halaman Ditinggalkan &lt;a href=&#34;#kenapa-nol-halaman-ditinggalkan&#34; class=&#34;tdln dimmer&#34;&gt;&lt;small&gt;#&lt;/small&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kalau pernah pindah rumah, pasti tahu rasa lega waktu bilang, &amp;ldquo;yang ini buang aja&amp;rdquo;. Migrasi &lt;em&gt;frontend&lt;/em&gt; punya godaan yang sama. Menghapus halaman rasanya seperti sekalian merapikan produk.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hijrah Frontend (1): Ketika Backend Engineer Disuruh Menyentuh Frontend</title>
				<link>https://najib.id/writing/2026/hijrah-frontend-01/</link>
				<pubDate>Wed, 23 Sep 2026 09:00:01 +0700</pubDate>
				<guid>https://najib.id/writing/2026/hijrah-frontend-01/</guid>
				<description>&lt;p&gt;Seri &lt;a href=&#34;https://najib.id/writing/2026/hijrah-backend-01/&#34;&gt;Hijrah Backend&lt;/a&gt; akhirnya kelar. Backend GPS sekarang jalan di Go, 14 modul domain sudah tertata, dan &lt;em&gt;endpoint&lt;/em&gt; yang dulu butuh 15 detik sekarang jauh lebih ngebut. Alhamdulillah.&lt;/p&gt;&#xA;&lt;p&gt;Nah, sekarang giliran gedung sebelah: &lt;em&gt;frontend&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Saya seorang &lt;em&gt;backend engineer&lt;/em&gt;. Sehari-hari saya berurusan dengan &lt;em&gt;query&lt;/em&gt;, &lt;em&gt;index&lt;/em&gt;, &lt;em&gt;parser&lt;/em&gt; paket biner, dan kesejahteraan &lt;em&gt;database&lt;/em&gt;. &lt;em&gt;Frontend&lt;/em&gt; biasanya hanya saya kunjungi seperlunya, seperti turis. Sampai akhirnya saya diminta ikut mengurusnya. Bukan sekadar mampir lagi, hehe~&lt;/p&gt;&#xA;&lt;h2 id=&#34;kesan-pertama-bau-spaghetti&#34;&gt;Kesan Pertama: Bau &lt;em&gt;Spaghetti&lt;/em&gt; &lt;a href=&#34;#kesan-pertama-bau-spaghetti&#34; class=&#34;tdln dimmer&#34;&gt;&lt;small&gt;#&lt;/small&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Saat membuka &lt;em&gt;frontend&lt;/em&gt; warisan itu, saya langsung melihat &lt;em&gt;spaghetti&lt;/em&gt; di mana-mana. Saya memang tidak jago &lt;em&gt;frontend&lt;/em&gt;, tapi sudah cukup lama baca kode orang untuk tahu mana yang &lt;em&gt;spaghetti&lt;/em&gt;. Tidak perlu jadi koki untuk tahu kalau sup sudah kelamaan nangkring di meja, kan? Kelihatan saja sudah cukup.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
