Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulamaları sıfırdan yeniden yazmak yerine en son Windows özelliklerini mevcut kaynak koduyla tümleştirerek mevcut masaüstü uygulamalarını modernleştirmenin birçok yolu vardır. Bu öğreticide, şu özellikleri kullanarak mevcut bir WPF iş kolu uygulamasını modernleştirmenin çeşitli yollarını keşfedeceğiz:
- .NET Çekirdek 3
- XAML Adaları ile UWP XAML denetimleri
- Uyarlamalı Kartlar ve Windows bildirimleri
- MSIX dağıtımı
Bu kılavuz, aşağıdaki geliştirme becerilerini gerektirir.
- WPF ile Windows masaüstü uygulamaları geliştirme deneyimi.
- C# ve XAML hakkında temel bilgiler.
- UWP hakkında temel bilgiler.
Genel Bakış
Bu öğretici, Contoso Expenses adlı basit bir WPF iş kolu uygulamasının kodunu sağlar. Eğitimin kurgusal senaryosunda Contoso Expenses, Contoso Corporation yöneticileri tarafından kendilerine sunulan giderleri izlemek için kullanılan bir iç uygulamadır. Yöneticiler artık dokunmatik özellikli cihazlarla donatılmıştır ve Contoso Expenses uygulamasını fare veya klavye olmadan kullanmak istiyorlar. Ne yazık ki uygulamanın geçerli sürümü dokunmaya uygun değildir.
Contoso, çalışanların gider raporlarını daha verimli bir şekilde oluşturmasını sağlamak için bu uygulamayı yeni Windows özellikleriyle modernleştirmek istiyor. Özelliklerin çoğu yeni bir UWP uygulaması oluşturularak kolayca uygulanabilir. Ancak mevcut uygulama karmaşıktır ve farklı ekiplerin uzun yıllar boyunca geliştirmesinin sonucudur. Bu nedenle, yeni bir teknolojiyle sıfırdan yeniden yazmak bir seçenek değildir. Ekip, mevcut kod tabanına yeni özellikler eklemek için en iyi yaklaşımı arıyor.
Eğitimin başında, Contoso Expenses .NET Framework 4.7.2'yi hedef alır ve aşağıdaki üçüncü taraf kitaplıkları kullanılır:
- MVVM deseni için temel bir uygulama olan MVVM Light.
- Unity, bağımlılık enjeksiyon kapsayıcısı.
- LiteDb, verileri depolamak için ekli bir NoSQL çözümüdür.
- Bogus, sahte veri oluşturma aracı.
Öğreticide Contoso Expenses'ı yeni Windows özellikleriyle geliştireceksiniz:
- Var olan bir WPF uygulamasını .NET Core 3.0'a geçirin. Bu, gelecekte yeni ve önemli senaryolar açacaktır.
- XAML Adaları'nı, Windows Community Toolkit tarafından sağlanan InkCanvas ve MapControl sarmalanmış denetimlerini barındırmak için kullanın.
- Herhangi bir standart UWP XAML denetimini (bu örnekte bir CalendarView) barındırmak için XAML Adaları kullanın.
- Uyarlamalı Kartlar ve Windows bildirimlerini uygulamayla tümleştirin.
- Uygulamayı MSIX ile paketleyin ve Azure DevOps'ta bir CI/CD işlem hattı ayarlayın; böylece uygulamanın yeni sürümlerini kullanıma sunulduğu anda test edenlere ve kullanıcılara otomatik olarak teslim edebilirsiniz.
Önkoşullar
Bu eğitimi gerçekleştirmek için geliştirme bilgisayarınızda şu önkoşulların yüklü olması gerekir.
- Windows 10, sürüm 1903 (derleme 18362) veya sonraki bir sürüm.
- Visual Studio 2019 .
- .NET Core 3 SDK (en son sürümü yükleyin).
Visual Studio 2019 ile aşağıdaki iş yüklerini ve isteğe bağlı özellikleri yüklediğinizden emin olun:
- .NET Desktop Geliştirme
- Evrensel Windows Platformu geliştirme
- Windows SDK (10.0.18362.0 veya üzeri)
Contoso Expenses örnek uygulamasını alma
Öğreticiye başlamadan önce Contoso Expenses uygulamasının kaynak kodunu indirin ve kodu Visual Studio'da derleyebileceğinizden emin olun.
- uygulama kaynak kodunu appConsult WinAppsModernization atölye deposu
Yayınlar sekmesinden indirin. Doğrudan bağlantı https://github.com/microsoft/AppConsult-WinAppsModernizationWorkshop/releases. - Zip dosyasını açın ve tüm içeriği C:\ sürücünüzün köküne ayıklayın. C:\WinAppsModernizationWorkshop adlı bir klasör oluşturur.
- Visual Studio 2019'ı açın ve C:\WinAppsModernizationWorkshop\Lab\Exercise1\01-Start\ContosoExpenses\ContosoExpenses.sln dosyasına çift tıklayarak çözümü açın.
- Başlangıç düğmesine veya CTRL + F5 tuşlarına basarak Contoso Expenses WPF projesi oluşturabildiğinizi, çalıştırabildiğinizi ve hatalarını ayıklayabildiğinizi doğrulayın.
Başlayın
Contoso Expenses örnek uygulamasının kaynak kodunu edindikten ve Visual Studio'da derleyebileceğinizi onayladıktan sonra öğreticiyi başlatmaya hazırsınız demektir:
- Bölüm 1: Contoso Expenses uygulamasını .NET Core 3'e geçirme
- Bölüm 2: XAML Adaları kullanarak UWP InkCanvas denetimi ekleme
- Bölüm 3: XAML Adaları kullanarak UWP CalendarView denetimi ekleme
- Bölüm 4: Windows 10 kullanıcı etkinlikleri ve bildirimleri ekleme
- Bölüm 5: MSIX ile paketleme ve dağıtma
Önemli kavramlar
Aşağıdaki bölümler, bu öğreticide ele alınan bazı önemli kavramlar için arka plan sağlar. Bu kavramları zaten biliyorsanız bu bölümü atlayabilirsiniz.
Evrensel Windows Platformu (UWP)
Windows 8'de Microsoft, Windows Çalışma Zamanı'nın (WinRT) bir parçası olarak yeni bir API kümesi kullanıma sunulmuştur. .NET Framework'ten farklı olarak WinRT, doğrudan uygulamalara sunulan yerel bir API katmanıdır. WinRT ayrıca geliştiricilerin C++'a ek olarak C# ve JavaScript gibi dilleri kullanarak etkileşim kurmasına olanak sağlamak için çalışma zamanının üzerine eklenen katmanlar olan dil projeksiyonlarını da kullanıma sunar. Projeksiyonlar, geliştiricilerin .NET Framework ile uygulama oluştururken edindikleri C# ve XAML bilgilerinden yararlanan WinRT'nin üzerinde uygulamalar oluşturmasına olanak tanır.
Windows 10'da Microsoft, WinRT üzerinde oluşturulan Evrensel Windows Platformu'nun (UWP) tanıtımını yaptı. UWP'nin en önemli özelliği, her cihaz platformunda ortak bir API kümesi sunmasıdır: Uygulama masaüstünde, Xbox One'da veya HoloLens'te çalışıyorsa aynı API'leri kullanabilirsiniz.
Bundan sonra, Zaman Çizelgesi, Project Rome ve Windows Hello gibi özellikler de dahil olmak üzere yeni Windows özelliklerinin çoğu WinRT API'leri aracılığıyla kullanıma sunulur.
MSIX paketleme
MSIX , Windows uygulamaları için modern paketleme modelidir. MSIX, UWP uygulamalarının yanı sıra Win32, WPF, Windows Forms, Java, Electron ve daha fazlası gibi teknolojileri kullanarak masaüstü uygulamaları derlemeyi destekler. Bir masaüstü uygulamasını MSIX paketinde paketlediğinizde, uygulamanızı Microsoft Store'da yayımlayabilirsiniz. Masaüstü uygulamanız yüklendiğinde paket kimliğini de alır ve bu da masaüstü uygulamanızın daha geniş bir WinRT API'leri kümesi kullanmasını sağlar.
Daha fazla bilgi için şu makalelere bakın:
XAML Adaları
Windows 10, sürüm 1903'den başlayarak, XAML Adaları adlı bir özelliği kullanarak UWP olmayan masaüstü uygulamalarında UWP denetimlerini barındırabilirsiniz. Bu özellik yalnızca UWP denetimleri aracılığıyla kullanılabilen en son Windows kullanıcı arabirimi özellikleriyle mevcut masaüstü uygulamalarınızın genel görünümünü ve işlevselliğini geliştirmenizi sağlar. Bu, Windows Ink gibi UWP özelliklerini ve mevcut WPF, Windows Forms ve C++ Win32 uygulamalarınızda Fluent Design System'i destekleyen denetimleri kullanabileceğiniz anlamına gelir.
Daha fazla bilgi için bkz. masaüstü uygulamalarında (XAML Adaları) UWP denetimleri. Bu öğretici, iki farklı XAML Adası denetimi türünü kullanma işleminde size yol gösterir:
Windows Topluluk Araç Seti'nde InkCanvas ve MapControl. Bu WPF denetimleri, ilgili UWP denetimlerinin arabirimini ve işlevselliğini sarmalar ve Visual Studio tasarımcısındaki diğer WPF denetimleri gibi kullanılabilir.
UWP Takvim görünümü denetimi. Bu, Windows Topluluk Araç Seti'ndeki WindowsXamlHost denetimini kullanarak barındıracağınız standart bir UWP denetimidir.
.NET Çekirdek 3
.NET Core , tam .NET Framework'ün platformlar arası, basit ve kolayca genişletilebilir bir sürümünü uygulayan açık kaynak bir çerçevedir. .NET Framework'ün tamamıyla karşılaştırıldığında, .NET Core başlangıç süresi çok daha hızlıdır ve API'lerin çoğu iyileştirilmiştir.
İlk birkaç sürümünde .NET Core'un odak noktası web veya arka uç uygulamalarını desteklemekti. .NET Core ile Windows, Linux veya Docker kapsayıcıları gibi mikro hizmet mimarilerinde barındırılabilen ölçeklenebilir web uygulamaları veya API'leri kolayca oluşturabilirsiniz.
.NET Core 3, .NET Core'un en son sürümüdür. Bu sürümün en önemli özelliği, Windows Forms ve WPF uygulamaları da dahil olmak üzere Windows masaüstü uygulamaları için destektir. .NET Core 3'te yeni ve mevcut Windows masaüstü uygulamalarını çalıştırabilir ve .NET Core'un sunduğu tüm avantajların keyfini çıkarabilirsiniz. XAML Adaları'nda barındırılan UWP denetimleri, .NET Core 3'ü hedefleyen Windows Forms ve WPF uygulamalarında da kullanılabilir.
Uyarı
WPF ve Windows Forms platformlar arası hale gelmiyor ve Linux ve MacOS üzerinde WPF veya Windows Forms çalıştıramazsınız. WPF ve Windows Forms'un kullanıcı arabirimi bileşenleri hala Windows işleme sistemine bağımlıdır.
Daha fazla bilgi için bkz. .NET Core 3.0'daki yenilikler.
Windows developer