Alışveriş Sepetim

Masaüstü uygulamalarında WinUI 3'e derinlemesine bir bakış

XAML Islands, geliştiricilerin masaüstü (Win32) uygulamalarında UWP XAML kullanmalarını sağlayan ilk çözümümüzdü. XAML Islands'ın piyasaya sürülmesinden sonraki birkaç ay içinde, davranışsal içgörüler ve müşteri görüşmeleri, geliştiricilerin onu nasıl kullandığına dair bazı sinyaller verdi. Önemli sayıda uygulamanın tüm kullanıcı arayüzü için XAML kullandığını keşfettik; aslında, birçok uygulama WPF'nin Window ve Windows Forms'un Form sınıflarını yalnızca XAML'yi barındırma amacıyla kullanıyordu. Ek olarak, röportajlar, C++ Windows geliştiricilerinin MFC'nin yerine XAML ile ilgilendiğini ortaya koydu.
Bu, müşterilere daha fazla yardımcı olup olamayacağımızı düşünmemize neden oldu. Windows geliştiricilerinin ne beklediğine dair bir dizi hipotez listeledik ve bu hipotezleri doğrulamak/geçersiz kılmak için bir prototip oluşturduk. Bu doğrulama sürecinin sonucu çok aydınlatıcı oldu. Windows geliştiricileri, halihazırda kullanmakta oldukları masaüstü kodunu (.NET veya C++ Win32 biçiminde) yeniden kullanarak güzel, modern ve yenileyici uygulamalar oluşturmaya açlardı. Çoğu durumda, bu kodun güvenlik sanal alanının (AppContainer) dışında çalışması ve piyasadaki tüm Windows 10 sürümlerinde çalışması gerekiyordu. Bu yüzden WinUI 3'ü UWP uygulamalarına ek olarak masaüstü uygulamalarını destekleyecek şekilde genişlettik. WinUI 3.0 Önizleme 1, tüm kullanıcı arabiriminin pencereler, kontroller,
Ama bu kadar gevezelik yeter ve işe koyulalım! Bu blog gönderisinde WinUI 3 Preview 1 ve .NET ile bir masaüstü uygulaması oluşturmaya odaklanacağım ve gelecek gönderiler için C++'ı bırakacağım.
İlk adım, geliştirme makinenize WinUI3 Önizleme 1'i (veya varsa Önizleme 2'yi) yüklemektir. Proje şablonlarını içeren VSIX'i indirmek ve kurmak için bu bağlantıyı ziyaret etmenizi ve Ön Koşullar talimatlarını izlemenizi öneririm. Bundan sonra, C# ve .NET 5 için bir WinUI 3 masaüstü uygulaması oluşturma talimatlarını izleyin. F5 tuşuna basın, şöyle bir şey göreceksiniz:
Ekrandaki metin.
Bir satır kod yazmadan bu projeden öğrenebileceğiniz çok şey var. İlk göze çarpan şey, çözümde iki projenin olmasıdır. Biri Desktop WinUI 3 uygulamasının kendisi için, diğeri ise uygulamayı bir MSIX'e paketlemek içindir. Önizleme 1'de, uygulamanızı çalıştırmak için projenizi paketlemeniz gerekir. MSIX, önerilen paketleme teknolojimiz olmasına rağmen, dağıtım mekanizmasından bağımsız bir UI Çerçevesi yapmayı hedefliyoruz. Bu, Önizleme 1 bilinen sorunlar belgelerinde görebileceğiniz gibi, sonraki önizlemelerde ele alacağımız geçici bir sınırlamadır .
Ekrandaki metin.

.NET 5'i kucaklamak

WinUI 3 uygulama projesine çift tıklarsanız, Visual Studio proje dosyasını XML metin düzenleyicisiyle açar ve birkaç şeyi gözlemleyebilirsiniz. İlk olarak, C# Desktop WinUI 3 projeleri insan tarafından okunabilir/anlaşılabilir olması için SDK tarzı projeyi benimser İkincisi, Hedef Çerçeve .NET 5'tir. Desktop WinUI 3 , .NET ailesindeki bir sonraki büyük sürümle birlikte kullanılabilir Üçüncüsü, bu projenin WinUI 3 araçlarını ve çalışma zamanını çeken Microsoft.WinUI NuGet paketine bir referansı olduğunu görebilirsiniz.
[kod dili=”xml”]
WinExe
netcoreapp5.0
10.0.18362.0
10.0.17134.0

x86;x64
gerçek
win-x86;win-x64
win-$(Platform)

[/kod]
Araçlardan bahsetmişken, WinUI 3 yeni C#/WinRT projeksiyonlarını kullanır . WinUI 3 çerçevesi bir dizi WinRT bileşenidir ve WinRT, .NET'te bulunanlarla benzer türlere ve nesnelere sahip olsa da, bunlar doğal olarak uyumlu değildir. C#/WinRT projeksiyonları, .NET ve WinRT arasındaki birlikte çalışmayı yöneterek, bugün .NET uygulamanızda WinUI nesnelerini özgürce oluşturmanıza ve kullanmanıza olanak tanır.
WinUI 3 Nuget paket bağımlılık üzerinde C # / WinRT Nuget paketinin winrt.runtime.dll kütüphane ve cswinrt.exe aracı getiriyor. cswinrt.exe aracı, WinRT kitaplıklarını tanımlayan WinMD meta veri dosyalarını kullanır ve birlikte çalışma .NET 5 ve .NET Standard 2.0 C# kodu oluşturur. Bu birlikte çalışma kodu, winrt.runtime.dll kitaplığını kullanır. Tahmin edebileceğiniz gibi, cswinrt.exe tüm WinUI WinMD dosyalarını alır ve WinUI kitaplığı için C# birlikte çalışma kodu .NET 5 kodu oluşturur. Daha sonra bu dosyaları bir .NET kitaplığında derleyebilir (örn. csc.exe derleyicisini kullanarak) ve her .NET 5 Desktop WinUI uygulamasında kullanabilirsiniz. Neyse ki, bu kütüphaneyi zaten sizin için oluşturduk. Bu, Microsoft.WinUI.dll kitaplığıdır. Bu kitaplık, WinUI 3 NuGet Paketine dahildir.
 

13.8.2021

Diğer Haberler

  •  

PlatinMarket® E-Ticaret Sistemi İle Hazırlanmıştır.