Örnek sorular
Mobile NavigationZorluk 1
Stack-tabanlı navigasyonda, navigasyon stack'i nedir?
- aZiyaret edilmiş olsun olmasın belleğe yüklenmiş her ekranın listesi
- bYeni bir ekrana girildiğinde onu tepeye ekleyen (push), geri gidildiğinde çıkaran (pop) sıralı bir koleksiyon✓
- cKullanıcının tek dokunuşla geçtiği, hiçbiri diğerinin üzerine yığılmayan sabit üst-seviye hedefler kümesi
- dKullanıcının en son bastığı düğmeye göre kendi içeriğini yeniden çizen tek bir ekran
Açıklama:Navigasyon stack'i ekranları son-giren-ilk-çıkar (LIFO) bir dizi olarak modeller: yeni ekran açılınca tepeye eklenir, geri gidilince tepedeki ekran çıkarılır ve altındaki görünür. (a) daha çok bir cache'i tarif eder; (c) stack değil tab navigasyonunu tarif eder; (d) hedeflerden oluşan bir stack değil, tek bir değişken görünümü tarif eder.
Mobile NavigationZorluk 1
Tab-tabanlı navigasyonu, stack-tabanlı push navigasyondan ayıran nedir?
- aAynı anda yalnızca bir hedef var olabilir, bir tab açmak öncekini kalıcı olarak değiştirir
- bHer hedefe, önce paylaşılan bir stack'ten mevcut ekranı çıkararak ulaşılır
- cBirkaç üst-seviye hedef yan yana durur, doğrudan geçilir, her biri durumunu korur✓
- dGeri gitme kavramı yoktur, yalnızca sabit bir sırayla bir sonraki tab'a ilerleme vardır
Açıklama:Tab'lar uygulamanın paralel üst-seviye bölümlerini temsil eder; tab değiştirmek geçmişte geri gitmek yerine doğrudan başka bir bölüme atlamaktır ve her tab genelde pasifken kendi durumunu korur. (a) ve (d) tab'ları tek bir hedef ya da katı ileri sıra olarak yanlış tarif eder; (b) tab'ları değil stack navigasyonunu tarif eder.
Mobile NavigationZorluk 2
Bir tab'ın kendi iç stack'ini barındırdığı nested navigasyonda, kullanıcı bir tab'ın içinde bir ekran push ettiğinde tipik olarak ne olur?
- aO tab'a ait stack büyür; diğer tab'lara ait stack'ler bundan etkilenmez✓
- bTüm tab'lar tek bir stack'i paylaşır, bu yüzden ekran aynı anda her tab'da görünür şekilde push edilir
- cNesting, bir stack'in yalnızca başka stack'ler içerebileceği, tek bir ekranı asla içeremeyeceği anlamına gelir
- dNesting yalnızca görsel bir stil tercihidir, tab değiştirirken neyin hatırlandığını etkilemez
Açıklama:Genellikle her tab, üst-seviye tab konteynerinin içine yerleştirilmiş bağımsız bir navigasyon stack'ine sahiptir; bu yüzden bir tab içinde push yapmak yalnızca o tab'ın kendi geçmişini değiştirir. (b) farklı bir mimari olan paylaşımlı-stack tasarımını tarif eder; (c) ve (d) nesting'in yapısal anlamını yanlış tarif eder.
Mobile NavigationZorluk 2
Bir kullanıcı stack üzerinde üç ekran derinlikte ve geri düğmesine/gestüre basıyor. Beklenen varsayılan davranış nedir?
- aHer zaman ara ekranları atlayarak kullanıcıyı uygulamanın ana tab'ına döndürür
- bMevcut ekranı çıkarır (pop) ve hemen altındaki ekranı gösterir✓
- cKaç ekran açık olursa olsun uygulamayı hemen kapatır
- dHiçbir yere gitmek yerine mevcut ekranı yeni veriyle yeniden yükler
Açıklama:Geri gitmenin standart sözleşmesi tek bir pop işlemidir: stack'in tepesini çıkar ve şimdi tepede olanı göster, tek adım tek adım. (a) ve (c) gerçek stack derinliğini atlar ya da yok sayar; (d) bir yenileme eylemini navigasyon eylemiyle karıştırır.
Mobile NavigationZorluk 2
Swipe-back (kaydırarak geri) gestürü, geri kontrolünün pop davranışıyla nasıl ilişkilidir?
- aAyrılınan ekranı kalıcı olarak siler, böylece o oturumda bir daha ziyaret edilemez
- bSon navigasyon adımını tersine çevirmek yerine yepyeni bir hedef açmış gibi davranır
- cYalnızca stack'in ilk ekranında kullanılabilir, başka hiçbir yerde değil
- dGeri kontrolüyle aynı pop işlemini gerçekleştirir, genelde yarıda bırakılıp iptal edilebilen bir geçişle✓
Açıklama:Swipe-back gestürü, geri kontrolünün tetiklediği aynı pop işlemi için alternatif bir girdi yöntemidir; genelde kullanıcının yarıda bırakıp iptal ederek mevcut ekranda kalabildiği sürüklenebilir bir geçiş olarak sunulur. (a), (b) ve (c) gestürün navigasyona nasıl eşlendiğiyle ilgisiz davranışlar tarif eder.
Mobile NavigationZorluk 1
Kavramsal düzeyde deep link nedir?
- aHangi URL'ye dokunulursa dokunulsun her zaman uygulamanın ana ekranını açan link
- bCihazın ana ekranına yerleştirilip uygulamayı başlatan kısayol simgesi
- cKullanıcıyı uygulama içinde belirli bir ekrana götürmesi amaçlanan bir URL ya da tanımlayıcı✓
- dUygulamanın verisini yenilemek için periyodik olarak yaptığı arka plan ağ isteği
Açıklama:Deep link'in amacı, uygulama içindeki bir hedef ekranı kodlamaktır; böylece açıldığında kullanıcı genel bir giriş noktası yerine o belirli ekrana iner. (a) deep link'in tüm amacıyla çelişir; (b) ve (d) ilgisiz kavramları (bir launcher kısayolu, arka plan senkron çağrısı) tarif eder.