GH GambleHub

Mobil güvenli tasarım

1) Mobil güvenli ilkeler

1. Thumb-first: hareket bölgeleri - başparmak içinde (alttaki navigasyon, FAB/alttaki sağdan birincil).
2. Dokunmatik dostu: Alanlar ile 40-48 piksel ≥ hedefler; Mesafe ≥ 8-12 px.
3. Tasarım gereği güvenli alan: Kesikleri/hareket bölgelerini dikkate alıyoruz ('env (güvenli alan-inset-)').
4. Hız, "güzellik'ten daha önemlidir: LCP ≤ 2. 5s, INP ≤ 200ms, CLS ≤ 0. 1 (p75).
5. Kısıtlama: minimum modaller, minimum formlar, maksimum otomatik tamamlama.
6. Ağlar ve pil: ekonomik trafik, çevrimdışı mod, yetkili retrays.


2) Izgara, kesme noktaları ve güvenli alan

Kesme noktaları: ≤ 480 (mobil), 481-768 (dikey tablet), 769-1024 (yatay tablet).
Maksimum genişliğe sahip konteynerler, esnek kartlar 1-2 sütun.
Daha düşük paneller ≥ 56 piksel, hareket navigasyonu için stok.

CSS:
css
:root { --inset-b: env(safe-area-inset-bottom); --inset-t: env(safe-area-inset-top); }
.app { padding-bottom: calc(16px + var(--inset-b)); padding-top: calc(8px + var(--inset-t)); }

3) Metin, düğmeler ve etkileşimler

Metin: 16-18 px taban, satır satır 1. 4–1. 6, satır uzunluğu 40-70 karakter.
Düğmeler: yükseklik 44-52 px, net odak/varlık/devre dışı; simge + metin, sadece simge değil.
Hareketlerin her zaman bir alternatifi vardır (düğme/menü/sıcak nokta).
Animasyonlar 'transform/opacity've' prefers-reduced-motion 'üzerindedir.


4) Formlar, klavyeler ve otomatik tamamlama

Alanları en aza indirin, inputmode/type kullanın ve otomatik tamamlayın:
html
<input type="email" inputmode="email" autocomplete="email">
<input type="tel" inputmode="tel" autocomplete="tel">
<input type="number" inputmode="numeric" pattern="[0-9]">
<input type="text" autocomplete="one-time-code" />

Maskeler yumuşaktır (formatı gösteriyoruz, ancak girişi kırmıyoruz).

Anlamlarına göre autocap/autocorrect (' autocapitalize =" cümlelerikapalı"').
Alanın yanındaki ipuçları/hatalar ve ekran koruyucu için kullanılabilir ('aria-description by').

5) Navigasyon ve ekran mimarisi

Alt gezinme (5 puana kadar) + "geri" hareketi.
Hedef eyleme 3-5 dokunuşa kadar.
Kritik bölümler için "hamburger'den kaçının; kullanım/bölümlenmiş sekmeler.
UI durumları: 'loading/empty/error/success' - açık, eylemler ve açıklamalarla.


6) Performans ve tasarruf

Code-split ve tembel widget'lar; Grafikler/kartlar "talep üzerine" yüklenir.
Kritik kaynaklar - 'ön yükleme', gerisi - 'erteleme'/' tembel'.
AVIF/WebP resimleri + 'srcset/size', 'loading =' lazy ''.
Fontlar: 1 değişken WOFF2, 'font-display: swap', sadece basic ön yükleme.
Service Worker (PWA) aracılığıyla önbelleğe alma ve çevrimdışı, 'bayat-while-revalidate'.


7) Ağlar, çevrimdışı ve retrays

3G/high gecikme dostu: talep sınırı, butching, jittered backoff.
Kritik veri önbelleği ve senkronizasyon kuyruğuna sahip çevrimdışı ekran.
Veri ekonomisine saygı gösterin: İstemci İpuçları/Veri Kaydet - hafif görüntüler, otomatik video yok.

JS (Veri/Ağ Dedektörü):
js const saveData = navigator.connection?.saveData;
const slow = ['slow-2g','2g'].includes(navigator.connection?.effectiveType);
if (saveData          slow) enableLiteMode(); // менее тяжелые ресурсы

8) Mobilde kullanılabilirlik (A11y)

Tam klavye/anahtar kontrolü ve okunabilir odak.
Kontrast ≥ WCAG AA, alternatif metin ('alt', 'aria-label').
Büyük hedefler ve duraklama animasyonları; Hareketler düğmelerle çoğaltılır.
Diyagramlar için - kısa bir metin özeti ve bir veri tablosu.


9) Karanlık tema, parlaklık ve haptikler

Karanlık tema sadece bir inversiyon değildir; Kontrastları ve renk aksanlarını kontrol edin.
Sistem temasına saygı gösterin ('prefers-color-scheme').
Haptics - dozlanmış (başarı/hata), devre dışı bırakma yeteneği.


10) Gizlilik, izinler ve güvenlik

İzinler yalnızca değer anında (kamera - belge taraması).
"Neden" açıklaması ve izinsiz geri dönüş.
WebAuthn/şifre yerine biyometri; parola yöneticileri desteklenir.
Katlarken hassas alanları gizleyin; Uyarı zaman aşımları.


11) Push bildirimleri ve arka plan görevleri

Açık değer senaryoları, sık değil; sessiz saatler.
Tek dokunuşla abonelikten çıkma ve tercih merkezi.
Arka plan çürükleri - küçük porsiyonlarda, pil/ağ kısıtlamaları ile.


12) Görüntüler, medya ve uyarlanabilirlik

Boyut belirtimli yer tutucu - sıfır CLS.
Otomatik oynatma olmadan varsayılan olarak video, altyazılar ve kontroller ile; uyarlanabilir bitratlar.
Simgeler - vektör (SVG) veya sprite; 1MB setleri yüklemeyin.


13) Parçacıklar ve ayarlar

meta viewport ve aksanlar:
html
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="theme-color" content="#11131A">
Düzen sabitleme ve ekran dışı gizleme:
css
.card { content-visibility: auto; contain-intrinsic-size: 600px 400px; }
Azaltılmış hareket modu:
css
@media (prefers-reduced-motion: reduce) { { animation: none!important; transition: none!important; } }

14) Test planı (minimum)

Cihazlar: 1 iOS + 1 Android (küçük/orta/büyük ekran), portre/manzara.
Ağlar: çevrimdışı, 3G, 4G (gaz kelebeği); Veri Kaydetmeyi Etkinleştir.
Kullanılabilirlik: VoiceOver/TalkBack komut dosyaları, klavye geçişi, kontrast.
Performans: Web-Hayati (RUM), profiler; Büyük listeler, yazma/kaydırma/jestler.
Kararlılık: dönme, katlama/geri dönme, işlemi öldürme - durumu geri yükleme.
Güvenlik: izinler, oturum zaman aşımı, özel verileri gizleme, biyometri.


15) Mobil güvenli metrikler

LCP/INP/CLS (p75, yalnızca mobil).
Eylem Zamanı (birincil hedef tıklatmadan önce).
Tap Doğruluğu (yakın elemanların yanlış musluklarının paylaşımı).
Çökmesiz oturumlar/ANR oranı (uygulamalar/web görünümü).
Oturum başına veri ve Pil etkisi.
Opt-in/opt-out tüy ve nişan.


16) Anti-desenler

Düğmeler 28-32 piksel, yoğun listeler, alanı olmayan "kartlar" - özlüyor.
Açık gri bir arka plan üzerinde 12-14 piksel metin.
Modallar üzerinden modallar; Sadece jestle kapanıyor.
3G/Save-Data'ta video/animasyonları otomatik oynatın.
Yalnızca hareket özellikleri, düğme/menü yok.
Güvenli alan için hesaplanmamış - "patlama'ya da kaydırma paneliyle örtüşen içerik.


17) Ekran kontrol listesi

  • Hedefler ≥ 48 px, girintiler ≥ 8-12 px
  • Güvenli alan учтен ('viewport-fit = cover', 'env (safe-area-inset-)')
  • Metin ≥ 16 px, kontrast AA, odak/varlık görünür
  • Formlar: doğru 'type/inputmode/autocomplete', otomatik tamamlama çalışmaları
  • LCP ≤ 2. 5s, INP ≤ 200ms, CLS ≤ 0. 1 (mobil)
  • Tembel yüklemeli ağır bloklar, altörnekleme listeleri
  • Çevrimdışı ekran, geri alma ile yeniden ödeme, Veri Kaydet modu
  • Kabarcıklar ve izinler - talep üzerine, açıklama ve reddetme ile
  • Karanlık tema ve azaltılmış hareket desteklenir
  • Testler: iOS/Android, portre/manzara, 3G/offline, SR geçişi

18) Uygulama planı (3 yineleme)

Yineleme 1 - Temel Bilgiler (1-2 hafta):
  • Izgara ve güvenli alan, 48 px hedefleri, klavye türleri/otomatik tamamlama, temel Web-Hayati, tembel görüntüler, karanlık tema.
Yineleme 2 - Performans ve Sağlamlık (3-4 hafta):
  • Code-split, content-visibility, offline + SW, Save-Data modu, retray/queues, state recovery, A11y denetim.
Yineleme 3 - Optimizasyon ve Ölçek (Sürekli):
  • RUM panoları, trafik/pil analizi, haptikler, izin komut dosyaları, liste iyileştirme (sanallaştırma), mobil ağların düzenli oyun günleri.

19) Mini-SSS

Ayrı bir "mobil menüye" ihtiyacım var mı?
Evet, ama öncelik 3-5 puan ile alt navigasyon; hamburger - ikincil için.

Buton kayıplarını nasıl azaltabilirim?
Hedefleri 48 px'e yükseltin, etrafına alanlar ekleyin, dikey olarak yayın, "başarı/hata" için dokunsal kullanın.

Offline gerekli mi?
Kritik senaryolar için evet: önbellek, işlem kuyruğu ve kullanıcıya dürüst istemler.


Sonuç

Mobil güvenli tasarım, dokunmatik ergonomi, güvenli alan muhasebesi, performans, kullanılabilirlik ve ızgara/pil direncinin bir kombinasyonudur. Kontrol listelerini takip edin, Web-Vitals'ı gerçek kullanıcılarla ölçün, gizlilik ve sistem ayarlarına saygı gösterin - arayüzünüz herhangi bir mobil cihazda uygun ve güvenilir olacaktır.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.