Pengembang perangkat lunak Rushan memperkenalkan GeoIcons, pustaka ikon geografis berbasis web yang menyajikan 422 simbol siap pakai untuk kebutuhan pemetaan dan pelabelan wilayah. Pustaka ini hadir untuk ekosistem React, Vue, Angular, serta JavaScript murni dengan janji utama: tidak membebani ukuran bundel aplikasi berkat mekanisme tree-shaking.
Koleksi tersebut terdiri atas 255 ikon negara yang dinamai menurut kode ISO 3166 alpha-2 dan 167 ikon area meliputi region, benua, bentuk lahan, serta subdivisi. Total 422 aset tersedia saat peluncuran, dan pengembang berencana menambah subdivisi serta bendera di masa depan. Setiap ikon disajikan sebagai komponen SVG mandiri, sehingga tidak ada lembar sprite yang harus dihosting atau font ikon yang harus dimuat.
Masalah bundel raksasa kerap menghantui proyek web modern. Pustaka ikon konvensional sering mengirimkan seluruh katalog ke peramban pengguna meskipun hanya sebagian kecil yang ditampilkan. GeoIcons memecahkan itu dengan mengekspos setiap gambar sebagai ekspor bernama. Ketika seorang pengembang menulis import { Us, Fr, Jp } from '@geoicons/react/countries', alat bundling seperti Webpack atau Rollup hanya memasukkan tiga berkas tersebut. Sisa 419 ikon tidak menyentuh hasil build.
Kondisi ini berbeda dengan praktik umum di Indonesia, di mana banyak situs instansi atau startup logistik masih menyertakan paket flag berbasis font agar semua bendera negara tersedia. Pendekatan font memaksa pengguna memuat ratusan glif tak terpakai, memperlambat waktu muat di koneksi seluler yang tak merata. Kehadiran komponen berbasis ekspor bernama memberi alternatif yang lebih hemat tanpa mengorbankan fleksibilitas desain.
Sistem penamaan sengaja dibuat dapat ditebak. Negara menggunakan kode ISO dalam format PascalCase: Us, Fr, Jp, De, Br. Area memakai slug PascalCase seperti EuropeanUnionEu. Pengembang yang sudah familiar dengan standar ISO 3166 dapat langsung menulis impor tanpa membuka dokumentasi, dan fitur autolengkap editor akan menyelesaikan sisanya.
Pewarnaan ikon mengandalkan nilai currentColor, artinya warna mengikuti properti warna teks dari elemen pembungkus. Pengubahan ketebalan garis dilakukan via prop strokeWidth, sedangkan pengisian solid cukup dengan fill='currentColor'. Tidak diperlukan penimpaan CSS atau prop warna per ikon yang harus diteruskan ke komponen anak. Satu aset sama dapat dipakai di mode terang, mode gelap, maupun di atas tombol berwarna tanpa gaya tambahan.
Aksesibilitas menjadi perhatian sejak awal. Secara bawaan ikon bersifat dekoratif, namun penambahan atribut aria-label mengubahnya menjadi makna bagi pembaca layar. Di bawah tenda, setiap ikon menamai id elemen <title> dengan hook useId dari React, sehingga merender ikon sama dua kali di halaman tidak memicu duplikasi identitas. Hal ini selaras dengan regulasi aksesibilitas yang mulai diperhatikan oleh penyelenggara layanan publik di Indonesia.
Lisensi ganda diterapkan pada GeoIcons. Rilis ini bebas digunakan di bawah GPLv3 untuk proyek sumai terbuka dan proyek kompatibel, sementara lisensi komersial meliputi penggunaan tertutup. Ikon dirender identik pada kedua jalur lisensi. Jika terjadi penggunaan komersial tanpa lisensi, pustaka hanya mencatat peringatan konsol luring dan tidak memutus fungsi runtime. Bagi startup lokal, kebijakan ini memberi ruang uji coba tanpa risiko hukum mendadak, meski deploy produksi tetap wajib mematuhi ketentuan.
Pengembang menjelaskan bahwa pustaka ini sengaja tidak menyediakan registri pusat atau API berbasis string seperti <Icon name='us' />. 'Setiap ikon adalah ekspor bernama sendiri, sehingga bundler dapat membuang semua yang tidak pernah direferensikan,' tulisnya dalam dokumentasi. Pendekatan itu menempatkan tanggung jawab pemilihan aset pada tahap penulisan kode, bukan konfigurasi runtime.
Kemudahan tersebut diperkuat oleh struktur paket yang seragam lintas framework. Impor @geoicons/react, @geoicons/vue, @geoicons/angular, atau @geoicons/vanilla semuanya menyediakan nama berkas yang sama. Inti bersama disimpan di @geoicons/core agar pemeliharaan tidak divergen. Pengembang Indonesia yang bekerja di tim polyglot dapat berpindah framework tanpa mempelajari ulang nama ikon.
Ke depan, GeoIcons akan menambah subdivisi dan bendera negara, memperluas cakupan dari yang kini mencakup benua dan bentuk lahan. Jika kontribusi komunitas masuk, bukan tidak mungkin peta administratif tingkat provinsi Indonesia mendapatkan ikon sendiri. Hal ini akan sangat membantu portal berita lokal atau aplikasi pemantauan pemilu yang kerap membutuhkan simbol wilayah cepat tanpa mendesain dari nol.
Tren komponen ikon yang ramah bundel diprediksi makin dominan seiring standar web mendesak performa sebagai metrik peringkat pencarian. Untuk ekosistem teknologi Indonesia, alat seperti GeoIcons mendukung pembuatan aplikasi inklusif dan ringan di tengah beragam kemampuan perangkat pengguna. Pengembang domestik kini punya opsi menolak bloatware visual demi pengalaman yang lebih responsif.