Mobil uygulama tasarımında dikkat edilmesi gerekenler

İşletim bağlamı ve mobil aygıtların fiziksel özellikleri dikkatli bir şekilde yapılmış kodlama ve tasarım gerektirir. Örneğin, mümkün olduğu kadar hızlı yürütülmesini sağlamak için kodu düzenlemek çok önemlidir. Kod en iyileştirmesi yalnızca bir noktaya kadar devam edebilir. Cihaz kısıtlamaları dahilinde çalışan akıllı tasarım ayrıca, görsel sunumunuzun, oluşturma sistemini aşırı derecede yormasını önlemeye yardımcı olabilir.

Kod

Kodunuzun daha hızlı çalışmasını sağlamak her zaman faydalıyken, birçok aygıttaki daha düşük işlemci hızı yan kod yazarken harcanan sürenin faydalarını artırır. Ek olarak, mobil aygıtlar neredeyse her zaman pil gücüyle çalışır. Aynı sonuca daha az işlem ile ulaşmak daha az pil kullanır.

Tasarım

Uygulamanızın kullanıcı deneyimi tasarımını yaparken, küçük ekran boyutu, dokunmatik ekran etkileşim modu gibi faktörler ve cep telefonu kullanıcısının sürekli değişen ortamı bile düşünülmelidir.

Kod ve tasarım bir arada

Uygulamanızda animasyon kullanılıyorsa, görüntü oluşturmanın en iyi duruma getirilmesi çok önemlidir. Ancak, tek başına kodu en iyi duruma getirmek genellikle yeterli değildir. Uygulamanın görsel yönlerini kodun bunları verimli bir şekilde oluşturmasına izin verecek şekilde tasarlamalısınız.

Önemli en iyi duruma getirme teknikleri Flash Platform için İçeriği En İyi Duruma Getirme kılavuzunda açıklanmıştır. Kılavuzdaki teknikler tüm Flash ve AIR içeriği için geçerlidir, ancak mobil aygıtlarda düzgün bir şekilde çalışan uygulamalar geliştirmek için gereklidir.

Uygulama yaşam döngüsü

Uygulamanız odağı başka bir uygulama nedeniyle kaybettiğinde, AIR kare hızını saniye başına 4 kareye düşürür ve grafik oluşturmayı durdurur. Bu kare hızının altında, ağ akışı ve yuva bağlantıları kesilir. Uygulamanız bu tür bağlantılar kullanmıyorsa, kare hızını daha da azaltabilirsiniz.

Uygun olduğunda, ses oynatımını durdurmalı ve dinleyicileri coğrafi konum ve akselerometre sensörlerine kaldırmalısınız. AIR NativeApplication nesnesi activate ve deactivate olaylarını gönderir. Bu olayları etkin ve arka plan durumu arasındaki geçişi yönetmek için kullanın.

Birçok mobil işletim sistemi uyarı vermeden arka plan uygulamalarını sonlandırır. Uygulama durumunu sıkça kaydederek, uygulamanız arka plandan etkin duruma dönerken veya tekrardan başlatılırken kendini kabul edilebilir bir duruma döndürebilmelidir.

Bilgi yoğunluğu

Mobil aygıtların fiziksel boyutu masaüstündekinden küçük olsa da, piksel yoğunluğu (inç başına piksel sayısı) daha yüksektir. Aynı font boyutu mobil aygıtta masaüstü bilgisayardakinden fiziksel olarak daha küçük olan harfler üretir. Okunabilirliği sağlamak için genellikle daha büyük yazı tipi kullanmanız gerekir. Genel olarak, 14 nokta kolaylıkla okunabilen en küçük font boyutudur.

Mobil aygıtlar çoğunlukla hareket halinde ve zayıf aydınlatma koşulları altında kullanılır. Ekranda ne kadar bilgiyi gerçekçi bir şekilde okunaklı olarak görüntüleyebileceğinizi düşünün. Bir masaüstünde aynı piksel boyutlarına sahip bir ekranda görüntüleyebileceğinizden daha az olacaktır.

Ayrıca, kullanıcı ekrana dokunurken kullanıcının parmağının ve elinin ekranın bir kısmının görünmesini engellediğini göz önünde bulundurun. Etkileşimli öğeleri, kullanıcıların anlık bir dokunmadan daha fazla etkileşim kurmaları gerekiyorsa ekranın yanlarına ve altına yerleştirin.

Metin girişi

Birçok aygıt metin girişi için sanal klavye kullanır. Sanal klavyeler ekranın bir parçasını görünmez hale getirir ve genellikle kullanımı zordur. Keyboard olaylarına güvenmekten kaçının (yazılım tuşları dışında).

Giriş metni alanlarını kullanmanın alternatiflerini uygulamayı düşünün. Örneğin, kullanıcının sayısal bir değer girmesini sağlamak için bir metin alanı gerekmez. Değeri arttırmak veya azaltmak için iki düğme verebilirsiniz.

Yazılım tuşları

Mobil aygıtlar çeşitli sayıda yazılım tuşu içerir. Yazılım tuşları farklı işlevlere sahip olmak üzere programlanabilir düğmelerdir. Uygulamanızda bu tuşlar için platform kurallarını izleyin.

Ekran yönlendirme değişiklikleri

Mobil içeriği dikey veya yatay yönde görüntülenebilir. Uygulamanızın ekran yönlendirme değişikliklerini nasıl işleme koyacağını düşünün. Daha fazla bilgi için bkz. Sahne alanı yönlendirmesi.

Ekran karartma

AIR video oynatılırken ekranın kararmasını otomatik olarak engellemez. Aygıtın güç tasarrufu moduna girip girmeyeceğini kontrol etmek için AIR NativeApplication nesnesinin systemIdleMode özelliğini kullanabilirsiniz. (Bazı platformlarda bu özelliğinin çalışması için uygun izinleri istemeniz gerekir.)

Gelen telefon çağrıları

Kullanıcı arama yaptığında veya çağrı aldığında AIR otomatik olarak sesi kapatır. Android'de, uygulamanız arka plandayken sesi oynatıyorsa, uygulama tanımlayıcısında Android READ_PHONE_STATE iznini ayarlamanız gerekir. Aksi halde, Android çalışma zamanının telefon çağrılarını algılamasını ve sesi otomatik olarak kapatmasını engeller. Bkz. Android izinleri.

Vuruş hedefleri

Düğmeleri ve kullanıcının tıklattığı diğer kullanıcı arabirimi öğelerini tasarlarken vuruş hedeflerinin boyutunu düşünün. Bu öğeleri dokunmatik bir ekranın bir parmak ile rahatça etkinleştirilebileceği büyüklükte oluşturun. Ayrıca, hedefler arasında yeterince boşluk olduğundan emin olun. Tipik yüksek dpi'li bir telefon ekranı için vuruş hedef alanı her iki tarafta yaklaşık 44 piksele 57 piksel olmalıdır.

Uygulama paketi yükleme boyutu

Mobil aygıtlar genellikle uygulamaları ve verileri yüklemek için masaüstü bilgisayarlardan çok daha az alana sahiptir. Kullanılmayan varlıkları ve kütüphaneleri kaldırarak paket boyutunu en aza indirin.

Android'de, uygulama paketi uygulama yüklendiğinde ayrı dosyalara açılmaz. Bunun yerine, varlıklara erişildiğinde varlıklar geçici bir depoya sıkıştırılır. Bu sıkıştırılmış varlık depolamasının kapladığı alanı en aza indirmek için varlıklar tamamen yüklendiğinde dosyayı ve URL akışlarını kapatın.

Dosya sistemi erişimi

Farklı mobil işletim sistemleri farklı dosya sistemi kısıtlamaları uygular ve bu kısıtlamalar masaüstü işletim sistemleri tarafından uygulananlardan farklı olma eğilimindedir. Bu nedenle dosyaları ve verileri kaydetme yerleri platformdan platforma değişebilir.

Dosya sistemlerindeki farklılığın bir sonucu, AIR File sınıfı tarafından sağlanan yaygın dizinlerin kısayollarının her zaman kullanılabilir olmamasıdır. Aşağıdaki tablo, hangi kısayolların Android ve iOS'de kullanılabileceğini gösterir:

 

Android

iOS

File.applicationDirectory

URL (yerel yol değil) aracılığıyla salt okunur

Salt okunur

File.applicationStorageDirectory

Kullanılabilir

Kullanılabilir

File.cacheDirectory

Kullanılabilir

Kullanılabilir

File.desktopDirectory

Sd kartın kökü

Kullanılamaz

File.documentsDirectory

Sd kartın kökü

Kullanılabilir

File.userDirectory

Sd kartın kökü

Kullanılamaz

File.createTempDirectory()

Kullanılabilir

Kullanılabilir

File.createTempFile()

Kullanılabilir

Kullanılabilir

iOS uygulamalarına yönelik Apple talimatlarında, farklı durumlardaki dosyalar için hangi depolama konumlarının kullanılması gerektiği ile ilgili belirli kurallar sağlanır. Örneğin, talimatlardan biri şu şekildedir: Yalnızca kullanıcı girişli veriler veya farklı şekilde yeniden oluşturulamayan ya da yeniden indirilemeyen veriler içeren dosyalar, uzaktan yedekleme için atanan bir dizine depolanmalıdır. Yedekleme ve önbelleğe alma konusunda Apple talimatlarına nasıl uyulacağı ile ilgili bilgi için bkz. Dosya yedeklemeyi ve önbelleğe almayı denetleme.

UI bileşenleri

Adobe, Flex çerçevesinin mobil aygıtlar için en iyi duruma getirilmiş bir sürümünü geliştirmiştir. Daha fazla bilgi için bkz. Flex ve Flash Builder ile Mobil Uygulamalar Geliştirme.

Mobil uygulamalar için uygun olan topluluk bileşeni projeleri de mevcuttur. Bunlar şunları içerir:

Stage 3D hızlandırmalı grafik oluşturma

AIR 3.2'den itibaren mobil için AIR Stage 3D hızlandırmalı grafik oluşturmayı desteklemektedir. Stage3D ActionScript API'leri gelişmiş 2B ve 3B özellikleri sağlayan bir düşük düzey GPU hızlandırmalı API kümesidir. Bu düşük düzey API'ler geliştiricilere önemli performans kazançları için GPU donanım hızlandırmasından faydalanma esnekliğini sağlar. Ayrıca Stage3D ActionScript API'lerini destekleyen oyun motorlarını da kullanabilirsiniz.

Daha fazla bilgi için bkz. Oyun motorları, 3B ve Stage 3D.

Video düzgünleştirme

Performansı geliştirmek için AIR'de video düzgünleştirme devre dışıdır.

Yerel özellikler

Birçok mobil platform, standart AIR API ile henüz erişilebilir olmayan özellikleri sağlamaktadır. AIR 3'ten itibaren, AIR'yi yerel kod kütüphanelerinizle genişletebilirsiniz. Bu yerel uzantı kütüphaneleri işletim sisteminde kullanılabilir olan veya hatta belirli bir aygıta özgü olan özelliklere erişebilir. Yerel uzantılar, iOS'taki C'ye ve Java'ya veya Android'deki C'ye yazılabilir. Yerel uzantıları geliştirme ile ilgili bilgi için Adobe AIR yerel uzantılarına giriş bölümüne bakın.