2016-02-25 42 views
18

XAML'in Blend ile birlikte UI tasarımı için kullanıldığını biliyorum. XAML'in WPF, Mağaza Uygulaması, Telefon Uygulaması veya UWA için nasıl devreye girdiği gibi pek çok terimle kafam karıştı. Morever, WPF, Mağaza Uygulaması, Telefon Uygulaması ve UWA arasındaki fark nedir. Eski Masaüstü Projesi artık WPF veya Mağaza Uygulaması veya UWA tarafından kullanılmayacak ve değiştirilmeyecek mi?XAML vs WPF vs Store App vs Phone App vs UWA

+4

Tarih böyle devam eder. WPF ilk önce XAML kullanıyordu. Daha sonra, MSFT'yi uzaya yollayan ve Mağaza Uygulamaları için sadece XAML olarak adlandırdıkları şeyi döndüren WINRT geldi. Sadece google WPF DEAD? Telefon APPS XAML'yi de kullanabilir ama kendi Silverlight gibi bir platform türü.Bu boşlukları kapatmak için UWA geldi ve artık kimsenin umurunda değil, çünkü MSFT, Windows 8 ile her şeyi ele geçirdi ve hepsini bir araya getirmeye çalışıyor ve bunu yapmakta başarısız oluyorlar. BTW ihtiyacınız yok Blend hiç. –

+1

Wiki makalemi faydalı bulabilirsiniz: [UWP ve WPF] (https://github.com/jbe2277/waf/wiki/UWP-vs.-WPF) – jbe

cevap

44

.NET 2000'de yayımlandığında, Windows için masaüstü uygulamaları yapmak üzere WinForms'i kullanabilirsiniz. Yönetilen kodda Windows API'sini silerek 'yerel' denetimlere (yani, WinForms dosyasındaki bir Düğme, gerçekten user32.dll'den bir Windows Düğme denetimi) erişim sağlar. Bunlar, Windows 10'a kadar dahil olmak üzere, uygun .NET framework sürümüne sahip olan herhangi bir Windows sürümünde çalışabilir.

2006'da, WPF, WinForms'a bir alternatif olan serbest bırakıldı. WPF, kullanıcı arabirimi öğelerini bildirmek için XML'e dayalı bir dil olan XAML'yi kullanır. Basit bir WPF uygulamasında, .xaml dosyası GUI'yi açıklar ve kod arkasındaki dosya mantığı açıklar. DirectX, pencerede .xaml'de anlatılanları çizmek için kullanılır.

Winforms gibi, WPF kullanılarak yapılan programlar, Windows 10 da dahil olmak üzere, uygun .NET framework sürümüne sahip olan Windows'un herhangi bir sürümünde çalışabilir. XAML kullanımı tamamen isteğe bağlıdır. XAML kullanarak açıkladığınız kullanıcı arabirimi öğeleri, .NET dili C# veya VisualBasic.NET kullanarak da yapılabilir. Ancak XAML kullanmak genellikle daha basittir. Bakınız To XAML or not to XAML (MSDN Blogs). XAML (Wikipedia) itibaren

: XAML olarak

basitçe XML dayanmaktadır, geliştiriciler ve tasarımcılar derleme gerektirmeden kendi aralarında serbestçe düzenleme içeriği paylaşmak ve edebiliyoruz.

~ 2012'den Windows 8 ile birlikte, metro/modern/windows-8/windows-store-apps adı verilen yeni bir uygulama türü oluşturulabilir. Bu uygulamalar, GUI'yi tanımlamak için XAML kullandıkları için WPF'ye benzer. Bu uygulamalar sadece Windows 8, 8.1 ve Windows 10'da çalıştırılabilir. Windows 8.1 bazı geliştirmeler ve özellikler ekledi ancak çoğunlukla aynı kaldı. Aynı teknoloji, Windows Phone için uygulamalar yapmak için kullanıldı.

Microsoft, Windows 10'un piyasaya sürülmesiyle, farklı aygıt türlerini (masaüstü/mobil/xbox/IoT/hologram) hedeflemek için aynı kod tabanını kullanabileceğiniz UWP (Evrensel Windows Platformu) üretti. UWP için yapılan bu uygulamalar önceki Windows 8/8.1 uygulamalarına benzer. Daha önce olduğu gibi, GUI'yi tanımlamak için XAML kullanılır.

Sadece Windows Mağazası uygulamaları için geriye dönük uyumluluğu yoktur. Zaman çizelgesi Windows 8 ->Windows 8.1 -> - gider. UWP yapılan bir uygulama sadece, Windows 10 çalıştırmak ve Windows 8.1 yapılan bir uygulama Windows koşamam olabilir 8.

+1

Cevabınız için teşekkür ederiz. Yani, uygulamanızı Windows 8.1 için çeşitli aygıtlarda (PC/Tablet/Telefon) çalıştırmak istiyorsam, Windows 8.1'in Evrensel proje şablonuyla gitmem gerekiyor. Ve Windows 10 için UWP proje şablonuna gitmem gerekiyor, değil mi? –

+2

Evet, doğru. Not Windows 8.1, UWP olarak 'evrensel' değildir, çünkü yalnızca Windows 8.1 masaüstü ve Windows 8.1 Phone arasında kaynak paylaşımı yapabilir. UWP'de tüm form faktörleri için aynı kod tabanı kullanılır. –

+2

eğer yanılıyorsam düzeltin, ama XAML'in WPF'de olduğu gibi winRT'de aynı olmadığını düşünüyorum. – mFeinstein

0
ederim stopbyte bu tartışma iplik atıfta tavsiye ederim

, bu çok daha fazla ayrıntı ve explanation of the concepts behind WPF, UWP And WinRT sahiptir .

WinForms'a gelince, şu an tarih olduğuna inanıyorum. Neredeyse WPF tarafından değiştirildi. Microsoft'un Windows Forms geliştirmeyi durdurduğuna inanıyorum ve muhtemelen bunu sürdürmeyi de bıraktı.

+0

Winformlar kesinlikle "geçmiş" değildir. Birçok üçüncü taraf tedarikçiden (DevExpress, Syncfusion, Telerik, Infragistics, ComponentOne, Dart, vb.) Ve hala gelişen forumlardan ana destek almaktadır. Ve, hiçbir suç, ama yetkili olmayan "Ben inanıyorum" ile cevaplar-tipi factoidler cevaplar arayan insanlar için çok az ilgili. – Jazimov