UI/UX Tasarım Prensipleri: Kullanıcı Dostu Arayüzler
Başarılı dijital ürünler için temel UI/UX tasarım prensipleri ve en iyi uygulamalar.

UI/UX Tasarım Prensipleri: Kullanıcı Dostu Arayüzler
Başarılı bir dijital ürün için teknik yetenekler kadar tasarım da önemlidir. Bu kapsamlı rehberde, kullanıcı deneyimi (UX) ve kullanıcı arayüzü (UI) tasarımının temel prensiplerini inceleyeceğiz.
UI ve UX Arasındaki Fark
User Interface (UI)
- Görsel tasarım ve estetik
- Renk paleti, tipografi, ikonlar
- Layout ve grid sistemleri
- Etkileşim elementleri (butonlar, formlar)
User Experience (UX)
- Kullanıcı yolculuğu ve akışı
- Bilgi mimarisi
- Kullanılabilirlik ve erişilebilirlik
- Kullanıcı araştırması ve testleri
"İyi tasarım görünmez. Kullanıcılar ne kadar az düşünürse, tasarım o kadar başarılıdır."
Temel UX Tasarım Prensipleri
1. Kullanıcı Odaklı Tasarım
Her tasarım kararı kullanıcı ihtiyaçları doğrultusunda alınmalıdır.
✓ Kullanıcı araştırması yapın
✓ Persona ve user journey map oluşturun
✓ Kullanıcı testleri gerçekleştirin
✓ Geri bildirim toplayın ve iterasyon yapın
2. Tutarlılık (Consistency)
Tutarlı tasarım, kullanıcı öğrenme süresini azaltır.
Görsel Tutarlılık:
- Aynı renk paleti
- Tutarlı tipografi
- Benzer UI elementleri
Fonksiyonel Tutarlılık:
- Benzer işlevler için aynı pattern'lar
- Tahmin edilebilir davranışlar
- Standart etkileşim modelleri
3. Hiyerarşi ve Önceliklendirme
Bilgiyi önem sırasına göre düzenleyin:
/* Görsel hiyerarşi örneği */
.heading-1 {
font-size: 48px;
font-weight: 700;
color: #1a1a1a;
}
.heading-2 {
font-size: 32px;
font-weight: 600;
color: #333333;
}
.body-text {
font-size: 16px;
font-weight: 400;
color: #666666;
line-height: 1.6;
}
4. Feedback ve Response
Kullanıcı her etkileşimde geri bildirim almalıdır:
- Loading States: İşlem devam ediyor
- Success Messages: İşlem başarılı
- Error Messages: Problem var, çözüm sunuluyor
- Empty States: İçerik yok, ne yapılacak?
// React örneği: Button states
function SubmitButton({ isLoading, isSuccess, onClick }) {
if (isLoading) return <button disabled>Gönderiliyor...</button>;
if (isSuccess) return <button disabled>✓ Gönderildi!</button>;
return <button onClick={onClick}>Gönder</button>;
}
5. Basitlik ve Minimal Tasarım
"Less is more" - Mies van der Rohe
Gereksiz Elementleri Kaldırın:
- Her element bir amaca hizmet etmeli
- Beyaz alan (white space) kullanın
- Bilişsel yükü azaltın
UI Tasarım İlkeleri
Renk Teorisi
Renk Psikolojisi
- Mavi: Güven, profesyonellik (bankalar, kurumsal)
- Kırmızı: Aciliyet, dikkat (CTA butonlar, uyarılar)
- Yeşil: Başarı, doğa, büyüme
- Turuncu: Enerji, dostluk, harekete geçirme
- Mor: Lüks, yaratıcılık
60-30-10 Kuralı
:root {
/* 60% - Dominant renk (arka plan) */
--primary-bg: #f8f9fa;
/* 30% - İkincil renk (bölümler, kartlar) */
--secondary-bg: #ffffff;
/* 10% - Vurgu rengi (butonlar, linkler) */
--accent: #2563eb;
}
Tipografi
Font Seçimi
Sans-serif fontlar: Modern, temiz görünüm
- Inter, Roboto, Open Sans
Serif fontlar: Geleneksel, profesyonel
- Merriweather, Playfair Display
Typographic Scale
/* Modular Scale - 1.250 (Major Third) */
.text-xs { font-size: 0.64rem; } /* 10.24px */
.text-sm { font-size: 0.8rem; } /* 12.8px */
.text-base { font-size: 1rem; } /* 16px */
.text-lg { font-size: 1.25rem; } /* 20px */
.text-xl { font-size: 1.563rem; } /* 25px */
.text-2xl { font-size: 1.953rem; } /* 31.25px */
.text-3xl { font-size: 2.441rem; } /* 39px */
Okunabilirlik
.readable-text {
font-size: 16px;
line-height: 1.6; /* Satır yüksekliği */
max-width: 65ch; /* Optimal satır uzunluğu */
letter-spacing: 0.02em; /* Harf aralığı */
}
Layout ve Grid Sistemleri
12 Sütunlu Grid
.container {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 24px;
max-width: 1200px;
margin: 0 auto;
}
.col-6 {
grid-column: span 6; /* Yarım genişlik */
}
.col-4 {
grid-column: span 4; /* Üçte bir genişlik */
}
Spacing System
8pt Grid System:
:root {
--space-1: 0.5rem; /* 8px */
--space-2: 1rem; /* 16px */
--space-3: 1.5rem; /* 24px */
--space-4: 2rem; /* 32px */
--space-5: 3rem; /* 48px */
--space-6: 4rem; /* 64px */
}
Responsive Design
Mobile-First Approach
/* Mobile varsayılan */
.card {
padding: 16px;
font-size: 14px;
}
/* Tablet ve üzeri */
@media (min-width: 768px) {
.card {
padding: 24px;
font-size: 16px;
}
}
/* Desktop */
@media (min-width: 1024px) {
.card {
padding: 32px;
font-size: 18px;
}
}
Breakpoint Stratejisi
const breakpoints = {
mobile: '320px',
tablet: '768px',
laptop: '1024px',
desktop: '1280px',
wide: '1536px'
};
Etkileşim Tasarımı
Micro-interactions
Küçük animasyonlar kullanıcı deneyimini zenginleştirir:
.button {
transition: all 0.3s ease;
transform: translateY(0);
}
.button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.button:active {
transform: translateY(0);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
Loading States
// Skeleton loading örneği
function SkeletonCard() {
return (
<div className="skeleton">
<div className="skeleton-image" />
<div className="skeleton-title" />
<div className="skeleton-text" />
</div>
);
}
@keyframes shimmer {
0% { background-position: -1000px 0; }
100% { background-position: 1000px 0; }
}
.skeleton > * {
animation: shimmer 2s infinite;
background: linear-gradient(
90deg,
#f0f0f0 25%,
#e0e0e0 50%,
#f0f0f0 75%
);
background-size: 1000px 100%;
}
Erişilebilirlik (Accessibility)
WCAG İlkeleri
- Perceivable: İçerik algılanabilir olmalı
- Operable: Arayüz kullanılabilir olmalı
- Understandable: İçerik anlaşılabilir olmalı
- Robust: Farklı teknolojilerle uyumlu olmalı
Renk Kontrastı
/* WCAG AA standardı: 4.5:1 kontrast oranı */
.text-normal {
color: #333333; /* Koyu gri */
background-color: #ffffff; /* Beyaz */
/* Kontrast oranı: 12.63:1 ✓ */
}
/* Büyük metin için: 3:1 yeterli */
.text-large {
font-size: 24px;
color: #666666;
background-color: #ffffff;
/* Kontrast oranı: 5.74:1 ✓ */
}
Semantic HTML ve ARIA
<!-- Erişilebilir form örneği -->
<form role="form" aria-labelledby="form-title">
<h2 id="form-title">İletişim Formu</h2>
<label for="name">
İsim *
<input
type="text"
id="name"
name="name"
required
aria-required="true"
aria-describedby="name-error"
/>
<span id="name-error" role="alert" aria-live="polite">
<!-- Hata mesajı buraya -->
</span>
</label>
<button type="submit" aria-label="Formu gönder">
Gönder
</button>
</form>
Design Systems
Neden Design System?
- Tutarlılık: Tüm uygulamada aynı stil
- Verimlilik: Hızlı geliştirme
- Ölçeklenebilirlik: Kolay bakım ve güncelleme
- İşbirliği: Tasarımcı ve developer arasında ortak dil
Temel Bileşenler
// Button Component
export function Button({
variant = 'primary',
size = 'medium',
children,
...props
}) {
const baseStyles = 'rounded-lg font-medium transition';
const variants = {
primary: 'bg-blue-600 text-white hover:bg-blue-700',
secondary: 'bg-gray-200 text-gray-800 hover:bg-gray-300',
outline: 'border-2 border-blue-600 text-blue-600 hover:bg-blue-50'
};
const sizes = {
small: 'px-3 py-1.5 text-sm',
medium: 'px-4 py-2 text-base',
large: 'px-6 py-3 text-lg'
};
return (
<button
className={`${baseStyles} ${variants[variant]} ${sizes[size]}`}
{...props}
>
{children}
</button>
);
}
UX Araştırma Metodları
1. User Interviews
Kullanıcılarla birebir görüşmeler:
- 5-7 kullanıcı yeterli (Nielsen)
- Açık uçlu sorular
- Gerçek davranışları gözlemle
2. Usability Testing
Test Senaryosu Örneği:
1. Ana sayfadan blog yazılarını bulun
2. "React" kategorisindeki yazıları filtreleyin
3. İlk yazıyı okuyun ve yorumlayın
4. Yazıyı sosyal medyada paylaşın
3. A/B Testing
// A/B test implementasyonu
function Homepage() {
const variant = useABTest('homepage-cta', ['variant-a', 'variant-b']);
return (
<div>
{variant === 'variant-a' ? (
<button className="bg-blue-600">Hemen Başla</button>
) : (
<button className="bg-green-600">Ücretsiz Dene</button>
)}
</div>
);
}
4. Heatmaps ve Analytics
Kullanıcı davranışlarını analiz edin:
- Tıklama haritaları
- Scroll depth
- Session recordings
- Conversion funnels
Mobile UX Best Practices
Touch Targets
.touch-target {
/* Minimum 44x44 px (Apple HIG) */
/* Minimum 48x48 px (Material Design) */
min-width: 48px;
min-height: 48px;
padding: 12px;
}
Thumb Zone
Mobil ekranlarda kolay erişilebilir alanlar:
// Bottom navigation örneği
function MobileNav() {
return (
<nav className="fixed bottom-0 w-full bg-white border-t">
<div className="flex justify-around py-2">
<NavButton icon="home" label="Ana Sayfa" />
<NavButton icon="search" label="Ara" />
<NavButton icon="user" label="Profil" />
</div>
</nav>
);
}
Dark Mode Tasarımı
:root {
/* Light mode */
--bg-primary: #ffffff;
--text-primary: #1a1a1a;
}
[data-theme="dark"] {
/* Dark mode */
--bg-primary: #1a1a1a;
--text-primary: #ffffff;
}
body {
background-color: var(--bg-primary);
color: var(--text-primary);
transition: background-color 0.3s, color 0.3s;
}
CodeBros UI/UX Yaklaşımı
CodeBros olarak tasarım sürecimizde:
✅ Kullanıcı Araştırması: Derinlemesine kullanıcı analizi ✅ Prototipleme: Figma ile interactive prototypes ✅ Usability Testing: Gerçek kullanıcılarla testler ✅ Iterative Design: Sürekli iyileştirme ✅ Design System: Tutarlı ve ölçeklenebilir tasarım ✅ Accessibility First: Herkes için erişilebilir tasarım
Kaynaklar ve Araçlar
Tasarım Araçları
- Figma: UI/UX tasarım ve prototipleme
- Adobe XD: Tasarım ve prototip
- Sketch: macOS için tasarım aracı
Renk Paleti Araçları
- Coolors.co
- Adobe Color
- ColorHunt
Typography
- Google Fonts
- Font Pair
- Type Scale
İkon Kütüphaneleri
- Heroicons
- Lucide Icons
- Font Awesome
Sonuç
Başarılı bir UI/UX tasarımı, teknik beceriler, kullanıcı empati si ve sürekli iterasyon gerektirir. CodeBros ekibi olarak, kullanıcı odaklı tasarım felsefesiyle projelerinizi hayata geçiriyoruz.
Tasarım ve geliştirme hizmetlerimiz için iletişime geçin!
Etiketler: #UIUX #WebDesign #UserExperience #InterfaceDesign #Accessibility #DesignSystem #CodeBros



