Web vs macOS - Responsive Problem
WEB CHAOS
─────────────────────────────────────────
Browser A Browser B Browser C
┌─────────┐ ┌─────────┐ ┌─────────┐
│ ██ ██ │ │██ ██ │ │ ██ ██ │
│ ██ ██ │ │ ██ ██ │ │ ██ ██ │
└─────────┘ └─────────┘ └─────────┘
↓ ↓ ↓
Aynı CSS Farklı render Farklı render
+ Mobil, tablet, desktop
+ Retina, non-retina
+ Zoom levels
= NIGHTMARE
macOS CONTROLLED
─────────────────────────────────────────
Her Mac
┌─────────┐
│ ██ ██ │ ← Tek renderer (AppKit/SwiftUI)
│ ██ ██ │ ← Aynı sonuç her yerde
└─────────┘
Değişen sadece:
- Window size (user resize)
- Screen size (13" vs 27")
macOS Çözümü: Auto Layout / SwiftUI
AUTO LAYOUT (constraint-based)
─────────────────────────────────────────
┌─────────────────────────────┐
│ ┌────┐ ┌────┐ │
│ │ A │──20px────│ B │ │
│ └────┘ └────┘ │
│ │ │
│ 20px │
│ │ │
└─────────────────────────────┘
"A, B'nin 20px solunda"
"A, top'tan 20px"
→ Window büyürse constraint'ler korunur
SwiftUI (declarative)
─────────────────────────────────────────
HStack {
Text("A")
Spacer() ← Otomatik genişler
Text("B")
}
.padding(20)
→ Framework resize'ı halleder
Hala Var Olan Zorluklar
┌─────────────────────────────────────┐
│ WINDOW SIZE VARIATIONS │
│ │
│ Minimum: 400x300 │
│ Maximum: 2560x1440 (veya daha) │
│ │
│ Çözüm: min/max size + adaptive UI │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ SIDEBAR COLLAPSE │
│ │
│ Geniş: [Sidebar][ Content ] │
│ Dar: [☰][ Content ] │
│ │
│ Çözüm: NavigationSplitView │
└─────────────────────────────────────┘Last updated
Was this helpful?