Evrensel Uygulamalardaki kusurlar

Okuma zamanı simgesi 4 dk. okuman


Okuyucular MSpoweruser'ı desteklemeye yardımcı olur. Bağlantılarımız aracılığıyla satın alırsanız komisyon alabiliriz. Araç İpucu Simgesi

MSPoweruser'ın editör ekibini ayakta tutmasına nasıl yardımcı olabileceğinizi öğrenmek için açıklama sayfamızı okuyun. Daha fazla

Microsoft, geliştiricileri uygulamalarını Evrensel uygulamalara geçirmeye teşvik etmeye başladı, ancak bazı geliştiriciler hala ikna olmadı. Bir süre önce geliştiricilerden evrensel uygulamaların fizibilitesi ve neden henüz dünyayı ateşe vermedikleri hakkında alıntı yapan bir başyazı yazdım. Bugün başka bir geliştirici, evrensel uygulamalarla ilgili deneyimleriyle ilgili bir makale yayınladı (izinle burada yeniden üreteceğiz)

 

Windows Phone 8.1 XAML ve Universal Apps, çözümü olmayanlar da dahil olmak üzere birçok sorunu olan WinRT API'lerini içeriyordu. Ama önce, sadece “Evrensel Uygulamalar” adından bahsedelim. Açıkçası pek çok kullanıcının kullanmadığı veya umursamadığı iki platformu hedefleyen evrensel bir şey olarak adlandırmanın oldukça kibirli olduğunu düşünüyorum. Ayrıca, yalnızca Windows platformlarını düşünürseniz, bu uygulamalar da evrensel değildir, çünkü en yaygın kullanılan Windows sürümlerini (7 ve XP) hedefleyemezler. Ama ben dalıyorum.

Bir süre önce yaptığım noktayı burada ortaya koyuyor. Ne WP8.1 ne de W8.1, geliştiricilerin her ikisi için de geliştirmeleri için henüz yeterli değeri sağlamıyor çünkü dediğim gibi “Windows HAS kullanıcıları var, ancak bu kullanıcılar mutlaka uygulama istemiyor. Windows Phone kullanıcıları uygulamalar istiyor ama çok fazla yok” .

Ancak geliştiricilerin 8.1 WinPRT uygulamalarına geçmesini engelleyen tek şey kullanıcılar değil. Teknik sorunlar da var:

 

Daha karmaşık API'ler

Windows Phone 8.1 için arka planda ses çalma API'si berbat, başka bir şey var mı? Emin. BackgroundDownloader başka bir örnektir. Silverlight'ta oldukça sınırlı bir BackgroundDownloader vardı ama işe yaradı. Universal Apps'ta, bazı yeni özelliklere sahip yeni bir BackgroundDownloader var ve bazı temel özellikler eksik. Örneğin, Silverlight'ta her indirmenin bir Etiketi olabilir, burada herhangi bir veriyi saklayabilirsiniz, böylece indirme bittiğinde (hangi ticari kuruluşa ait olduğu vb.) hakkında bir şeyler bilirsiniz. Artık Evrensel Uygulamalarda değil. Etiket yoktur, bu nedenle tüm indirmeler için kendi dizin türünüzü oluşturmanız ve yönetmeniz gerekir, böylece bunları işletme varlıklarınızla gerçekten eşleştirebilirsiniz. Bir sıkıntı, ama yönetemeyeceğin bir şey değil, değil mi?

Blogdaki bir yorumcu ayrıca Camera apisinin Silverlight apileri kadar iyi olmadığını ve 8.1 apisinin lens entegrasyonundan yoksun olduğu söylendi.

WP8.1'deki Kamera API'si de korkunç derecede iyi durumda. Önizleme çerçevelerini almanın bir yolu yok. Silverlight API ile bir etkinliğe abone olabilir ve düşük çözünürlüklü kareleri birden çok fps hızında ZXing'e aktarabilirsiniz. WinRT'de yapabileceğiniz en iyi şey, bazen flaşla arka arkaya birçok fotoğraf çekmek ve saniyede yaklaşık 0.8 kare taramak.

Performans ayrıca 8.1'e 8.0'da artırılan düzgün kaydırma elde etmek için gereken iş miktarıyla da darbe alıyor.

Performans

Silverlight'ta, verileri görüntülemek için genellikle LongListSelector'ı kullandım ve iki sütunlu bir düzen oluşturmam gerektiğinde onu WrapPanel ile birlikte kullandım. LongListSelector gitti, Evrensel Uygulamalarda GridView'ı Windows Phone'da da kullanmanız gerekiyor. Veya ListView'i kendi yazdığınız veya bir yere indirdiğiniz özel bir sarma paneli ile kullanabilirsiniz, ancak sanallaştırmayı düzgün bir şekilde yapmak biraz çaba gerektirir.

Bu nedenle, tutarlı hale getirmek için hem Windows Phone 8.1 hem de Windows 8.1'de GridView kullanıyorsunuz. Görüntülü onlarca öğe ekleyin ve performans gerçekten düşmeye başlar. Gri yer tutucular görünecek ve daha da önemlisi, asla kaybolmaz. Görüntülere ihtiyaç duymazsınız, GridView'a yalnızca yaklaşık 300 metin öğesi ekleyin ve kaydırma sırasında gri yer tutucular gösterilmeye başlar.

Bu yazının amacı Microsoft'u eleştirmek değil, geliştiricilerin neden henüz evrensel uygulamalar oluşturmaya istekli olmayabileceklerini açıklamaktır. Kesinlikle daha iyi bir yöntem değiller, bazı alanlarda bir yükseltme ve diğerlerinde bir düşüş (Windows Phone kullanıcıları bu hissi iyi biliyor). Microsoft geliştiricileri çekmek istiyorsa, şu anda olduğundan daha hızlı çalışması gerekiyor, "yakında" ve "önümüzdeki aylarda", geçimlerinin "yakında" "dün" olmasına bağlı olan insanlar için çekici değil. Neyse ki, bunun değişebileceğine dair işaretler var. WP 8.1.1 bazı yeni api'ler getirdi (sınırlı olsa da) ve 8.1.2'nin (şimdi gizli bir gönderide) geliştiricilerin yeni harika uygulamalar oluşturmasına izin verdiği söyleniyor. Microsoft gelecekte değişiyor olabilir ve bu harika. Ancak şu anda evrensel uygulamalar yapmak için baskı altında olan birçok geliştirici için gelecek buraya yeterince erken gelemez.

Buraya aldığınız snippet'lerden daha fazlası için tam parçayı okuyun okuyun. Daha detaylı parçam için bkz. .

Konular hakkında daha fazla bilgi: geliştiriciler, Evrensel Uygulamalar, , Windows 10

Yorum bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlenmişlerdir. *