Mobile-First — Desain dari Layar Kecil
Mobile-first berarti mendesain untuk layar mobile terlebih dahulu, lalu menambahkan complexity untuk layar yang lebih besar.
Mengapa Mobile-First?
- Majority traffic — di Indonesia, 70%+ traffic web dari mobile
- Constraint-driven — layar kecil memaksa kamu fokus pada yang penting
- Progressive enhancement — lebih mudah menambah dari mengurangi
- Performance — mobile-first cenderung lebih ringan
Content Priority
Di mobile, space sangat terbatas. Tentukan apa yang paling penting:
- Apa aksi utama user di halaman ini?
- Informasi apa yang paling dibutuhkan?
- Apa yang bisa disembunyikan atau dipindahkan?
Breakpoint Strategy
/* Mobile-first: base styles untuk mobile */
.container { padding: 1rem; }
.grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
/* Tablet */
@media (min-width: 768px) {
.container { padding: 2rem; }
.grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}
/* Desktop */
@media (min-width: 1024px) {
.container { max-width: 1200px; margin: 0 auto; }
.grid { grid-template-columns: repeat(3, 1fr); }
}
Common Responsive Patterns
- Stack → Grid — elemen yang vertikal di mobile menjadi horizontal di desktop
- Hamburger menu — navigasi disembunyikan di mobile
- Hide secondary content — sidebar disembunyikan di mobile
- Full-width → contained — konten full-width di mobile, max-width di desktop
- Touch → hover — hover effects diganti touch-friendly di mobile
Tips
- Test di device nyata — emulator tidak sama dengan device asli
- Font size minimal 16px di mobile — untuk readability dan mencegah iOS zoom
- Touch targets 44px+ — jari lebih besar dari cursor
- Avoid horizontal scroll — kecuali untuk carousel
- Performance budget — mobile biasanya koneksi lebih lambat
Tokopedia, Gojek, dan Traveloka semua mobile-first — pengalaman mobile mereka bahkan lebih polished dari desktop.