Aynı uygulamada hem Windows 10 UWP'yi hem de Windows Phone 8.1'i nasıl hedefleyebilirim?


18

Arka fon

Geliştiricinin bakış açısından, Windows 10'un ana satış noktası yeni Universal * Windows Platformu'dur (UWP) .

* Burada "Evrensel" gerçekten "Windows 10 çalıştıran tüm aygıtlar için evrensel" anlamına gelir, "yalnızca Windows 10 değil, aynı zamanda Windows 8.1 ve belki Windows 7 çalıştıran aygıtlar için evrensel değildir ". Yani bir UWP uygulaması oluşturuyorsanız, gerçekten sadece bir "Windows 10 uygulaması" oluşturuyorsunuz. UWP uygulamalar olacak değil , hatta Windows 8.1'de ve Windows Phone 8.1 cihazlar üzerinde çalışacak hepsi de geriye dönük olarak uyumlu değiliz yani.

2015'in 3. çeyreğinden itibaren, Windows 10 bilgisayarlar ve IoT cihazları için kullanılabilir . Windows 10 Mobile'ın halka açılması en az birkaç ay daha sürecek, ancak muhtemelen bir yıldan fazla olmayacak. Bu, Windows Phone 8.1'in bir süre daha kalacağı anlamına gelir.

Soru

Bir Windows Phone uygulaması geliştirmeye başlamak üzereyim ve uygulamayı önümüzdeki ay içinde yayınlamayı planlıyorum çünkü oldukça basit bir uygulama. Windows 10 Mobile yakında yükseltilmeyeceğinden, dünyadaki cihazların yükseltilmesine izin vermeyin, şimdilik Windows Phone 8.1'i hedeflemeliyim. O olmayacak çünkü Ancak, bu çok daha önce Windows 10 Cep rulo dışarı, ben merak ediyorum o Windows 10 UWP dağıtım için benim çözüm hazırlamak için akıllıca olurdu eğer sıra sıra (ayrıca beni sağlayacak olan Windows Phone 8.1 8.1'i desteklediğim sürece desteklemeye devam edin).

Bir UWP projesini ve 8.1 projesini aynı çözümde gruplayabildiğimi ve Visual Studio'daki Windows 8.1 Universal şablonuyla yapılan bir Paylaşılan proje aracılığıyla kaynak dosyaları ve varlıkları paylaşabileceğimi görüyorum. Ben doğru yolda mıyım? Eğer öyleyse, her şeyin (XAML dahil, ideal olarak her iki platformda da aynı veya en azından benzer UI'ye sahip olmasını istiyorum) sağlamak için izlemem gereken ek kurallar var mı?

Alternatif olarak, şimdilik Windows 10 Mobile için endişelenemedim ve bir 8.1 projesi ile başlayabilirim ve daha sonra UWP'ye taşıyabilirim , ancak 8.1'i terk etmeyi planlamadığım için hala uygulamamın her iki sürümünü de korumak zorunda kalacağım. kullanıcıları hemen. Bu durumda hala özellik / XAML paritesi hakkında endişelenmem gerekir.


3
Bir güncelleme olarak, devam ettim ve Paylaşılan bir proje, bir UWP projesi ve bir WP8.1 projesinden oluşan bir çözüm oluşturdum. Ne yaptığımı bildiğimden emin olduktan sonra bir cevapta detaylandıracağım ...
BoltClock

Bu konudaki keşifleriniz hakkında paylaşmak istediğiniz güncellemeler var mı? Bu yaklaşımın sizin için nasıl çalıştığını bilmekle gerçekten ilgileniyorum.
Nelson Reis

3
@ Nelson Reis: Uygulamamı WP8.1 (harika!) İçin göndermeye çalışıyorum, bu yüzden henüz UWP uygulamasında çalışmaya başlamamıştım. Ama yakında yapacağım. Şimdiye kadar, WP8.1 tarafında işler oldukça iyi çalışıyor.
BoltClock

Sadece güncellemeyle ilgileniyorum. WP8.1 ve UWP'nin gelişimi nasıl geçti? (50 puandan daha azım var, bu yüzden yorum yapamam) Bunun nedeni, çapraz platform uygulaması geliştirmeye başlamam ve şu anda hangi teknolojilerin kullanılacağına karar vermem. ( programmers.stackexchange.com/questions/314850/… )
makons

2
Hey, üzgünüm, bu çok uzun sürüyor. Benim UWP uygulamamda geliştirme geliyor, bu yüzden önümüzdeki birkaç hafta içinde paylaşacağım bir şey olacak.
BoltClock

Yanıtlar:


2

Yorumlarınızdan birinde söylediğiniz gibi, bu konuda en iyi yol, paylaşılan bir proje kullanmak ve ona birkaç kafa eklemektir. Senin durumunda bir Windows telefonu 8.1 kafa ve bir uwp kafa. Bu pozisyon ayrıca bir MVA'da Jerry Nixon ve Andy Wigley tarafından ifade edildi (sanırım bu , ancak o zamandan beri güncellendi), uwp'ye 8.1 uygulamalarını taşıma bölümünde.

Paylaşılan projenizde, uwp ile çalışan kodu ve telefon 8.1'i ayırt etmek için koşullu derleme yönergelerini kullanmanız gerekebilir. (Evrensel Windows 8.1 / telefon 8.1 uygulamaları oluştururken olduğu gibi)


1

Uygulamanızın özel Windows özelliğinin nasıl olması gerektiğine bağlı olarak, Xamarin gibi yalnızca Windows için değil, aynı kod tabanında iOS ve Android yazmanıza olanak tanıyan bir platformla gidebilirsiniz .


1

Deneyimlerime göre: PCL kütüphanelerine bazı yardımcılar / mantık / vb. Yerleştirmeye değer. Ardından, PCL'yi sıfır değişiklikle kullanabilen iki proje (sırasıyla UWP ve WP8 için) oluşturabilirsiniz. Ayrıca, hizmetleri paylaşabilir, modelleri ve modelleri görüntüleyebilirsiniz (çok az # koşullu derleme satırı varsa).

Paylaşmaya değmeyecek tek şey, çok fazla şeyin değiştirilmesi / koşullandırılması gerektiği için kullanıcı arayüzü ile ilgili personeldir (bu nedenle, hemen hemen aynı olsalar bile, UWP ve WP8'in her biri için ayrı düzenler hazırlamak çok daha kolaydır).

PS UWP ve WP8.1 Silverlight için yaptım

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.