Windows Uygulaması Geliştirme hakkında Sık Sorulan Sorular

Bu SSS, projeleriniz için doğru çerçeveyi seçme yönergeleri de dahil olmak üzere Windows uygulama geliştirme hakkında sık sorulan soruların yanıtlarını sağlar. Ele alınan konular:

  • Başlangıç ve Windows uygulama geliştirme ekosistemi.
  • WinUI 3, Windows Presentation Foundation (WPF) ve Windows Forms (WinForms) ile yalnızca yerel Windows uygulama geliştirme.
  • Windows Yazılım Geliştirme Seti (SDK) ve Windows Uygulama SDK'sı.
  • Platformlar arası geliştirme stratejinizin bir parçası olarak Windows hedefleme.
  • .NET MAUI, Blazor ve ASP.NET Core ile karma ve web uygulaması geliştirme.
  • Microsoft'un yatırımlarını anlamaya çalışırken bir yaklaşım seçme.

Windows uygulama geliştirme ortamı

Windows geliştirme teknolojilerine doğrudan bir genel bakışı nerede bulabilirim?

Windows geliştiriciler için günümüzün seçeneklerinin harika bir incelemesi için en son Windows Dev Chat bölümünü, WinUI, .NET MAUI, React Native, Blazor ve Aşamalı Web Apps (PWAs) hakkında konuştukları ideal geliştirme platformunuzu izleyin.

Ayrıca, Windows geliştiricileri için uygulama geliştirme seçeneklerinin overview bölümüne de başvurabilirsiniz.

Bulut hizmetleri çağında istemci uygulaması geliştirme neden modern dijital dönüşüm için hala kritik öneme sahiptir?

cloud services çağında istemci uygulaması geliştirme, modern dijital dönüşümün kritik bir bileşeni olmaya devam etmektedir. Geliştiriciler için istemci uygulamaları oluşturmak yalnızca erişim için değil, kullanıcı cihazlarında duyarlı ve anlamlı etkileşimler sunmak için de gereklidir.

İstemci uygulamalarının önemli olmasının nedeni şu şekildedir:

  • Device Reach: Küresel olarak 1,5 milyardan fazla Windows cihazı ve 5 milyardan fazla Android ve iOS cihazıyla istemci uygulamaları, uygulamalarınızı doğrudan kendi cihazlarındaki kullanıcılara getirmenizi sağlar.
  • Ağ Geçidinden Akıllı Hizmetlere: İstemci uygulamaları genellikle kullanıcıların hizmetlerinizle ilk etkileşimleridir. Akıllı özellikleri sergilemenize ve ürününüzü diğerlerinden ayırt etmenizi sağlayan zengin, etkileşimli bir arabirim sunar.
  • Bulut Entegrasyonu ile Ölçeklenebilirlik: İyi entegre edilmiş bir istemci uygulaması arka uç bulut hizmetleriyle zahmetsizce senkronize olabilir ve kullanıcı tabanınız büyüdükçe gerçek zamanlı veri erişimi ve sorunsuz ölçeklenebilirlik sağlar.
  • Artırılmış Üretkenlik ve Kullanıcı Bağlılığı: İyi tasarlanmış bir uygulama üretkenliği artırabilir ve kullanıcıları zaman içinde ürününüzle veya hizmetinizle etkileşimde tutabilir.

Yalnızca yerel Windows uygulama geliştirme

> Windows Uygulama SDK'sı nedir?

Windows Uygulama SDK'sı, güzel, modern, geriye dönük uyumlu (Windows 10 1809'a kadar) masaüstü uygulamaları oluşturmanıza olanak tanıyan Windows bir uygulama geliştirme platformudur. WinUI, Windows Uygulama SDK'sı ile birlikte gelen kullanıcı arabirimi çerçevesidir.

Windows Uygulama SDK'sı ile Windows SDK arasındaki fark nedir?

Her ikisi de Windows uygulamalar oluşturmanıza olanak sağlayan yazılım geliştirme setleridir (SDK).

Windows Uygulama SDK'sı, Windows sürümlerde (Windows 10 1809'a kadar) yüklenebilen modern masaüstü uygulamaları oluşturmanıza olanak tanıyan yeni bir geliştirme platformudur. Windows Uygulama SDK'sı ile derleme yaparken en son Windows geliştirme platformu özellikleri kullanılabilir. Windows Uygulama SDK'sı WinUI'yi içerir.

Windows SDK UWP uygulamaları ve Win32/masaüstü uygulamaları oluşturmanıza olanak tanıyan bir geliştirme platformudur. İşletim sisteminin belirli sürümleriyle birleştirilmiş Windows API'ler etrafında tasarlanmıştır.

Windows Uygulama SDK'sı Windows SDK yerini almaz. Bunun yerine, Windows Uygulama SDK'sı Windows SDK'sını tamamlar. Windows SDK'sı kullanılarak zaten erişilebilir olan Windows işletim sistemi API'lerinin zengin kataloğu etrafında kullanışlı, işletim sistemiyle ayrılmış bir soyutlama sağlar. Windows Uygulama SDK'sı ile oluşturulan uygulamalar, işlevsellik gereksinimlerine bağlı olarak Windows SDK API'lerini kullanmaya devam edebilir. Zaman içinde daha fazla Windows SDK işlevi Windows Uygulama SDK'sı'ya taşınacak.

Yeni bir ekip oluşturarak yalnızca Windows uygulama geliştiriyorum. Neden WinUI, WPF veya WinForms?

Yalnızca Windows uygulamanız için yerel bir Windows çerçevesi seçmenin bazı nedenleri şunlardır:

  • Performance: Yerel Windows çerçeveleri modern Windows donanımdan yararlanacak şekilde iyileştirilmiştir ve hızlı ve hızlı yanıt veren kullanıcı deneyimleri sağlar.
  • Integration: Windows yalnızca Windows'de kullanılabilen gelişmiş deneyimler sağlayan çok çeşitli API'lerle birlikte gelir. Yerel çerçeveler, bu özellikler ve API'lerle derin tümleştirme sağlar.
  • Native kullanıcı deneyimi: Yerel çerçeveler, Windows cihazlarda tutarlı bir deneyim sağlayarak uygulamanızın her yerde harika görünmesini ve çalışmasını sağlar.
  • Çevrimdışı destek: Yerel çerçeveler çevrimdışı senaryoları destekler ve uygulamaların İnternet bağlantısı olmadan bile çalışmasını sağlar.
  • Monetization: Yerel çerçeveler Microsoft tarafından etkin bir şekilde korunur ve desteklenir ve en son güncelleştirmelere ve özelliklere erişim sağlar.
Windows uygulama geliştirmeye Microsoft en son yatırımlarını kullanmak için ne tür bir çerçeve kullanmalıyım?

Yalnızca Windows yeni bir uygulama oluşturuyorsanız WinUI kullanmanızı öneririz. WinUI, Windows uygulama geliştirmeye yönelik en son yerel kullanıcı arabirimi çerçevesidir ve çok çeşitli Windows cihazlarda çalışacak şekilde tasarlanmıştır. Görsel açıdan çekici ve etkileşimli Windows uygulamaları oluşturmaya yönelik modern ve esnek bir kullanıcı arabirimi çerçevesi sağlar. WinUI, Windows Uygulama SDK'sı bir parçasıdır ve en iyi Windows sürümleriyle çalışır.

Var olan Windows uygulamamda Windows Uygulama SDK'sı / WinUI kullanabilir miyim?

WinUI (ui çerçevesi) Windows Uygulama SDK'sı (Windows platform geliştirme çerçevesi) ile birlikte sunulur.

Uygulama kullanıcı arabirimi çerçevesini tamamen geçirmeye hazır olmadığı sürece WinUI genel olarak kullanılamaz. XAML Adaları adlı bir özellik, WinUI içeriğinin diğer kullanıcı arabirimi çerçevelerinde (WPF, Win32) barındırılmasını sağlar. Daha fazla bilgi için XAML Adaları belgelerine bakın.

mevcut uygulamanın nasıl oluşturulduğuna bağlı olarak, Windows Uygulama SDK'sı öğeleri genellikle masaüstü uygulamalarında kullanılabilir. UWP uygulamaları Windows Uygulama SDK'sı tarafından desteklenmez.

Bu, WPF/MFC/WinForms uygulamalarının WinUI ile ilgisi olmayan Windows Uygulama SDK'sı API'leri kullanabileceği anlamına gelir. Örnekler arasında Uygulama Yaşam Döngüsü, Pencereleme ve Bilgilendirme Bildirimleri yer almaktadır.

Daha fazla bilgi için bkz. Var olan bir projede Windows Uygulama SDK'sı kullanma.

WinUI uygulamaları oluşturmak için Visual Studio kullanmam gerekiyor mu?

WinUI geliştirmesi için Visual Studio 2026 veya üzerini kullanmanız kesinlikle önerilir. En son Visual Studio sürümleri, Çalışırken Yeniden Yükleme gibi zengin geliştirme özellikleri sunar ve kurulumu kolaylaştıran WinUI uygulama geliştirme iş yükü içerir.

Diğer IDE'ler ve iş akışları çalışabilir, ancak Visual Studio şu anda WinUI için resmi olarak desteklenen tek IDE'dir. XAML veya WinUI projelerini derlemek için MSBuild'in gerekli olduğunu unutmayın.

Uyumu çalıştırırken "'Microsoft.ui.xaml.dll'" DLL'i yüklenemedi" hatası alıyorum. Nasıl düzeltebilirim?

Bu hata genellikle Windows Uygulama SDK'sı çalışma zamanının makineye yüklenmediği unpackaged uygulama senaryolarında oluşur. Aşağıdaki işlemi deneyin:

  • bir packaged uygulaması (önerilen varsayılan) çalıştırıyorsanız, MsixPackage başlatma profili seçiliyken (düz yürütülebilir profil değil) Visual Studio aracılığıyla başlatdığınızdan emin olun. MSIX paketleme adımı gerekli çalışma zamanı bileşenlerini yükler.
  • unpackaged uygulaması çalıştırıyorsanız, uygulamayı Visual Studio dışında çalıştırmadan önce Windows Uygulama SDK'sı runtime uygulamasını ayrı olarak yüklemeniz gerekir.
  • Geliştirme sırasında hata oluşursa, öğesini .csproj açın ve paketleme yapılandırmanızın dağıtım modelinizle eşleşip eşleşmediğini onaylayın: paketlenmiş uygulamalar için özelliği atlayın <WindowsPackageType> (veya varsayılanda bırakın) ve MSIX paketini derleyin/çalıştırın; paketlenmemiş uygulamalar için başlangıçta <WindowsPackageType>None</WindowsPackageType> çağırdığınızdan Bootstrap.Initialize() emin olun.

Dağıtım gereksinimleri hakkında daha fazla bilgi için bkz. Windows Uygulama SDK'sı kullanan uygulamaları dağıtma.

UWP için WinUI 3 ile WinUI 2 arasındaki fark nedir?

WinUI (eski adıyla WinUI 3), Windows uygulama geliştirme için en son yerel kullanıcı arabirimi çerçevesidir. Görsel açıdan çekici ve etkileşimli Windows uygulamaları oluşturmaya yönelik modern ve esnek bir kullanıcı arabirimi çerçevesi sağlar. WinUI, Windows Uygulama SDK'sı bir parçasıdır ve en iyi Windows sürümleriyle çalışır.

UWP için WinUI (daha önce WinUI 2 olarak da adlandırılır), UWP'nin üzerine kurulu bir kullanıcı arabirimi denetimleri ve stilleri kümesidir. UWP uygulamaları için modern bir görünüm ve his sağlar ve Windows 10 için tasarlanmıştır.

Windows Uygulama SDK'sı ve WinUI kullanarak uygulama oluştururken "WinUI uygulaması" mı oluşturuyorum?

Evet — "WinUI uygulaması" önerilen terimdir. UWP için WinUI bir uygulama türü değil, UWP uygulamalarında kullanılan bir bileşen kümesi olduğundan WinUI uygulamaları "WinUI uygulamaları" olarak adlandırılır.

UWP için WinUI bileşenlerini WinUI bileşenleriyle aşamalı olarak değiştirerek UWP denetimleri için WinUI ile UWP uygulamamı artımlı olarak WinUI'ye güncelleştirebilir miyim?

Hayır. Windows Uygulama SDK'sı UWP uygulamalarında kullanılamaz ve UWP için WinUI, WinUI ile karıştırılamaz. Bkz. UWP'den Windows Uygulama SDK'sı'ye Geçiş.

UWP uygulamasını WinUI'ye geçirmek ne kadar zor?

UI bileşenlerinin geçirilmesi genellikle basittir (C# ve C++/WinRTiçin). Aksi takdirde, geçiş maliyeti öncelikli olarak şunları temel alır:

  1. Project dosyası ve MSBuild özelleştirme: Geçiş eforu, gelişmiş MSBuild kullanımına bağlı olarak değişir.
  2. .NET kullanan .NET API geçişi: UWP uygulamalarının .NET 6 veya sonraki bir sürüme taşınması gerekir. Çoğu durumda, .NET 6'yı benimsemek basittir.
  3. UI bileşen kitaplıkları: Kitaplıkların WinUI'yi hedefleyen sürümleri olmalıdır.
  4. UWP uygulaması artık yerine geçen C++/CX içinde yazılmışsa, bazı kaynak kodu taşıma işlemleri gereklidir. Bkz. C++/CX'ten C++/WinRT'ye Geçiş.

Daha fazla bilgi için UWP'den Windows Uygulama SDK'sı'ye Geçiş başlıklı makaleye bakın.

Mağaza'da mevcut bir UWP uygulamam varsa, aynı tanımlayıcıları kullanarak yeni bir paketlenmiş WinUI uygulaması yayımlayabilir miyim?

Evet, yükseltilmiş uygulamalar uygulama kimliği güncelleştirilmeden yayımlanabilir. Eski sürümün kullanıcıları yeni sürüme güncelleştirilir. Bu yalnızca masaüstü uygulamaları için geçerlidir. Xbox, HoloLens ve Surface Hub uygulamaları WinUI'ye geçirilemez.

WinUI uygulamamı nasıl paketler ve dağıtırım?

Bkz. Dağıtıma genel bakış.

Windows Uygulama SDK'sı geçiş kılavuzlarını nerede bulabilirim?

Bkz. UWP'den Windows Uygulama SDK'sı'ye Geçiş.

WinUI kullanmak istersem XAML işaretlemesi kullanmam gerekir mi?

Hayır. Kullanıcı arabirimi denetimleri kodda oluşturulabilir. Ancak, bildirim temelli XAML işaretlemesinde kullanıcı arabirimini temsil etmek, gelişmiş bir geliştirici deneyimi de dahil olmak üzere birçok avantaj sağlar.

  • UWP'den WinUI'ye geçiş: Bazı söz dizimi ayarlamaları gerekse de birçok XAML ve UI bileşeni yeniden kullanılabilir.
  • WPF'den WinUI'ye geçiş: Birçok kavram yerine gelir, ancak denetim kümesi ve API'ler farklılık gösterir.
Visual Studio'nun WinUI için bir tasarım yüzeyi / kullanıcı arabirimi tasarımcısı var mı?

Henüz değil. Bu, WinUI geliştirici deneyiminde bilinen bir boşluk. XAML Çalışırken Yeniden Yükleme gibi araçlar birçok senaryoda yardımcı olabilir. WinUI için Visual Studio kullanıcı arabirimi tasarımcısı üzerinde Windows Uygulama SDK'sı 1.7 ile çalışmalar başladı, ancak sürüm için henüz bir zaman çizelgesi belirlenmedi.

Windows Uygulama SDK'sı, WinUI'yi içeriyor mu?

Evet. WinUI, Windows Uygulama SDK'sı bir parçası olarak kullanıma hazır.

Windows Uygulama SDK'sı, UWP için WinUI'yi içeriyor mu?

Hayır. UWP için WinUI, UWP platformunun bir parçasıdır.

UWP ve WinUI için WinUI aynı teknoloji üzerinde mi oluşturulmuş?

** Tam olarak değil. WinUI başlangıçta UWP kod tabanı için WinUI'den başlasa da, bunlar farklı teknolojilerdir. her ikisi de .NET ve C++ arasında çalışan XAML tabanlı UI çerçeveleridir, ancak UWP ve WinUI için WinUI birbiriyle uyumlu değildir.

Windows Uygulama SDK'sı'yi kullanmadan WinUI'i kullanabilir miyim?

Hayır. WinUI, Windows Uygulama SDK'sı bir parçası olarak kullanıma hazır.

WinUI'yi paketlenmemiş bir uygulamada kullanabilir miyim?

Evet. WinUI dahil olmak üzere Windows Uygulama SDK'sı tüm teknolojiler paketlenmemiş uygulamalarda çalışır.

XAML Adaları ile WinUI arasındaki fark nedir?

XAML Adaları, WinForms ve WPF gibi diğer çerçevelerden mevcut Win32 kullanıcı arabirimiyle birlikte modern XAML tabanlı denetimleri barındırmanıza olanak sağlar.

Bugün XAML Adaları, UWP denetimleri için çoğu sistem XAML'sini ve WinUI'yi destekler. Daha fazla ayrıntı için bkz. Masaüstü uygulamalarında (XAML Adaları) WinRT XAML denetimlerini barındırma . WinUI denetimlerini barındırma desteği Windows Uygulama SDK'sı 1.4'dan itibaren kullanılabilir.

WinUI uygulaması oluşturursam, hem Windows 11 hem de Windows 10'da modern görünür mü?

Evet. Uygulamanızın kullanıcı arabirimi, hem paketlenmiş hem de paketlenmemiş senaryolarda sürüm 1809'a kadar desteklenen tüm Windows 11 ve Windows 10 sürümlerindeki en son Fluent UI tasarım ilkelerini devralır.

Windows Uygulama SDK'sı?

Evet. Windows 11 için masaüstü uygulamalarında Mica veya Akrilik malzemelerin uygulanmasına bakın.

WinUI örneklerini nerede bulabilirim?

bkz. Örnek ve kaynaklar. Bazı önemli depolar:

Zaten WPF yoğun yatırım yapmışsam, WPF kullanmaya devam etmeli veya WinUI'ye geçiş yapmayı düşünmeli miyim?

zaten WPF çok fazla yatırım yaptıysanız, mevcut uygulamalar için kullanmaya devam edebilirsiniz. WPF, Windows masaüstü uygulamaları oluşturmak için yaygın olarak kullanılan olgun ve kararlı bir çerçevedir.

.NET Framework WPF uygulamalarını en son .NET platformuna geçirmek için .NET Yükseltme Yardımcısı kullanmayı göz önünde bulundurun. Kod tabanınızı analiz eder ve güncelleştirme konusunda rehberlik sağlar.

Yeni bir WPF uygulaması oluşturursam, diğer yeni Windows uygulamalarıyla karşılaştırıldığında eski görünür mü?

.NET 9 veya üzeri bir WPF uygulaması geliştirirken uygulamanızın Windows 11 şık ve modern görünümüyle eşleştiğinden emin olabilirsiniz. WPF için yeni Fluent teması, tümleşik Açık/Koyu mod ve sistem vurgu rengi desteği ile çağdaş Windows 11 estetik bir görünüme sahiptir. Bu, uygulamanızın görünümünü modernleştirir ve şık, uyumlu bir kullanıcı deneyimi sunar.

Ekibim WinForms uygulamalarını rahatça oluşturuyor ve ihtiyaçlarımıza uygun. WinUI'ye veya başka bir çerçeveye geçiş yapmayı düşünmeli miyiz?

WinForms gereksinimlerinizi karşılıyorsa ve ekibiniz bu gereksinimleri karşılıyorsa, mevcut uygulamalar için WinForms'ı kullanmaya devam edebilirsiniz. WinForms, Windows masaüstü geliştirme için yaygın olarak kullanılan olgun ve kararlı bir çerçevedir.

WinForms ekibi platforma yatırım yapmaya devam ediyor. Yatırımın bazı geçerli alanları şunlardır:

  • Ortak denetimler için zaman uyumsuz destek
  • Koyu modu
  • Düzen esnekliği
  • Pano erişimi gibi masaüstü güvenlik özellikleri

Platformlar arası yerel geliştirme

Windows hedefleyen platformlar arası yerel uygulamalar oluşturmanın bazı nedenleri nelerdir?

Kullanıcıları birden çok işletim sistemi platformunda hedeflediyseniz .NET MAUI veya React Native ile platformlar arası uygulamalar oluşturmak çeşitli avantajlar sunabilir:

  • Ulaşmak: Platformlar arası uygulamalar farklı cihazlarda ve işletim sistemlerinde daha büyük bir hedef kitleye ulaşır.
  • Kodu yeniden kullanma: Kodun platformlar arasında yeniden kullanılabilir olması geliştirme süresini ve maliyetini azaltır. Windows, Android, iOS ve macOS için ayrı uygulamalar oluşturmak çok pahalı olabilir.
  • Tutarlı kullanıcı deneyimi: Platformlar arası çerçeveler, platformlar arasında tutarlı bir genel görünüm sağlamaya yardımcı olur.
  • Entegrasyon: Platformlar arası uygulamalar, kapsamlı bir deneyim sunmak için platforma özgü hizmetlerle tümleştirmeye devam edebilir.
.NET MAUI uygulamalarının Windows'ta iyi çalışacağından emin olabilir miyim?

Windows için .NET MAUI uygulaması oluşturduğunuzda çıkış bir WinUI uygulamasıdır. Geliştirme sırasında .NET MAUI platformlar arasında tek bir .NET deneyimi sunar, ancak arka planda platforma özgü kodlar oluşturur. Bu, .NET MAUI uygulamaların her platformda iyi performans göstermesini ve yerel bir kullanıcı deneyimi sunmasını sağlar.

Her platformda yerel cihaz API'lerini nasıl .NET MAUI sağlayabilirsiniz?

.NET MAUI, Windows, iOS, Android ve macOS genelinde birleşik bir .NET deneyimi sağlar. 60'ın üzerinde platforma özgü API'yi storage, ağ ve cihaz algılayıcıları gibi alanları kapsayan tek bir platformlar arası API kümesine soyutlar. Platform başına özel uygulamalar sağlamak için bağımlılık ekleme kullanılarak platforma özgü ek API'lere de erişilebilir.

WinUI ile başlayıp daha sonra platformlar arası senaryoları hedeflemek istersem .NET MAUI tümleştirebilir miyim?

Şu anda yok. .NET MAUI Windows çalışırken WinUI kullansa da birden çok platformu hedeflemeyi bekleyen takımlar .NET MAUI veya Masaüstü için React Native ile başlamalıdır.

Ekibimiz güçlü web ön uç geliştirme becerilerine sahiptir. Masaüstü için React Native kullanmayı düşünmeli miyiz?

Güçlü web geliştirme deneyimine sahip ekipler, Masaüstü için React Native'i göz önünde bulundurmak isteyebilir. Windows ve macOS için React Native içerir. "Bir kez öğren, her yere yaz" yaklaşımıyla, yerel Windows ve macOS uygulamaları oluşturmak için mevcut JavaScript, TypeScript ve React becerileri kullanılabilir.

Desktop için React Native, kullanıcı arabirimini doğrudan yerel temel öğelere işleyip yerel performans ve platform özellikleri sunar.

Başlamak için React Native for Desktop belgelerine bakın.

Desktop için React Native tarafından desteklenen diğer Windows cihazlarınız var mı?

React Native uygulamaları bilgisayarlar, tabletler, 2'si bir arada cihazlar, Xbox ve karma gerçeklik cihazları dahil olmak üzere Windows 10 ve üzeri tarafından desteklenen tüm cihazlara dağıtılabilir.

Windows ve Xbox üzerinde çalışan uygulamalar oluşturmak istersem ne kullanmalıyım?

Uygulamanızın Xbox, HoloLens veya IoT'yi desteklemesi gerekiyorsa UWP önerilir. Windows Uygulama SDK'sı bu platformları desteklemez. Oyun geliştirme için Microsoft Oyun Geliştirme Seti kullanın.

Windows ve Surface Hub üzerinde çalışan uygulamalar oluşturmak istersem ne kullanmalıyım?

Hem Windows hem de Surface Hub'ı hedefliyorsanız UWP önerilir.

Karma ve web geliştirme

Karma uygulamalar nedir ve neden bir tane oluşturmayı düşünmeliyim?

Karma uygulamalar, web ve yerel uygulama geliştirmenin en iyilerini harmanlar. Çekirdekleri HTML, CSS ve JavaScript gibi web teknolojileri kullanılarak oluşturulur ve belirli yerel platform özelliklerine ve donanımlarına access sağlayan yerel bir kapsayıcıya sarmalanır. Bunlar uygulama mağazaları aracılığıyla da dağıtılabilir.

Bunun temel avantajı, karma uygulamaların birden çok yerel platformda ve web'de çalışabilen tek bir uygulama oluşturmanıza olanak tanıyarak geliştirme süresini ve maliyetini azaltmanızdır. Karma uygulama geliştirme platformlarının örnekleri şunlardır:

  • Masaüstü uygulamaları için Elektron
  • Mobil uygulamalar için Ionic
  • .NET MAUI Blazor Hybrid ile platformlar arası uygulamalar
Windows üzerinde nasıl yerel gibi hissedilen aşamalı web uygulamaları (PWA) oluştururum?

Bkz. Windows'da Web geliştirme ve Aşamalı Web Uygulamaları Genel Bakış.

.NET MAUI Blazor hibrit uygulaması nedir?

.NET MAUI ile Blazor uygulamaları Windows, iOS, Android ve macOS'ta yerel olarak çalıştırılabilir. Bu, Blazor ve .NET MAUI bileşenlerini tek bir yerel istemci uygulamasında birleştiren ve yerel platform özelliklerine tam erişim sağlayan karma istemci uygulamaları oluşturmanıza olanak tanır.

daha fazla bilgi için bkz. ASP.NET Core Blazor Hybrid.

.NET MAUI karma uygulamasının web bileşenlerinin Blazor ile oluşturulması gerekiyor mu?

Hayır. .NET 9'dan başlayarak .NET MAUI, yerel bir uygulamada diğer JavaScript tabanlı URI'leri barındırmaya olanak tanıyan bir HybridWebView denetimi içerir.

Bu, bir .NET MAUI uygulamasında Angular, React, Vue veya diğer HTML/JavaScript uygulamalarını barındırmanıza olanak tanır. Karma denetim C# ile JavaScript arasında birlikte çalışma sağlar, böylece C# kodu JavaScript işlevlerini çağırabilir ve tam tersi de geçerlidir.

Diğer yerel uygulama türleri Blazor karma bileşenlerini barındırabilir mi?

Evet. WPF ve WinForms uygulamaları blazor karma bileşenlerini de barındırarak mevcut uygulamalara modern web kullanıcı arabirimi eklenmesini sağlayabilir. Bu, .NET Framework üzerinde oluşturulan WPF veya WinForms uygulamaları için desteklenmez.

Tüm uygulamamın karma bir uygulama olması mı gerekiyor yoksa yerel ve karma bileşenleri karıştırıp eşleştirebilir miyim?

Yerel ve karma bileşenler bir uygulama içinde karıştırılabilir. Örneğin, karma bileşenler ek işlevler sağlarken uygulamanın çekirdeği .NET MAUI bileşenlerle oluşturulabilir. Bu, yerel bileşenlerin performansını ve özelliklerini hibrit bileşenlerin esnekliği ve maliyet verimliliğiyle birleştirmeye olanak tanır.

Windows'da modern tarayıcılarda harika görünen .NET tabanlı web uygulamaları oluşturmaya yönelik seçeneklerim nelerdir?

Web apps herhangi bir istemci uygulama platformuna en geniş erişimi sunar. Güzel .NET web uygulamaları oluşturma seçenekleri şunlardır:

  • ASP.NET Core ile Razor Sayfaları uygulamaları
  • ASP.NET Core MVC uygulamaları
  • ASP.NET Core Blazor uygulamaları, barındırma modeli seçenekleriyle:
    • Blazor WebAssembly
    • Blazor Server

Blazor barındırma modelleri artık bileşen düzeyinde yapılandırılabilir ve Blazor Server uygulamasında Blazor WebAssembly bileşeni barındırma gibi senaryolar etkinleştirilebilir.

Daha fazla bilgi için ASP.NET Core belgelerine bakın.

Bir yaklaşım seçin ve Microsoft yatırımlarını anlayın

> Windows hedefleyen uygulamalar oluşturmaya yönelik birçok çerçeve seçeneği vardır! Nasıl karar veebilirim?

Windows birçok teknolojiyi destekleyen açık bir platformdur. Platform seçmenize yardımcı olabilecek bazı ölçütler şunlardır:

  • Öncelikle Windows için mi yoksa platformlar arası mı geliştiriyorsunuz?
  • .NET, JavaScript, başka bir şey gibi hangi dillere veya becerilere sahipsiniz?
  • Windows özgü API'lere erişmeniz gerekiyor mu?
  • Uygulamanızın gereksinimlerine en uygun çerçeve özellikleri hangisidir?
  • Ek karşılaştırma faktörleri için bu tabloya bakın.

Birçok iş uygulaması için ekipler genellikle mevcut becerilere ve ekibin en rahat kullandığı özelliklere göre seçim yapmayı tercih eder.

Web uygulamam için en iyi geliştirme yaklaşımını nasıl seçerim?

Web uygulamanız için bir geliştirme yaklaşımı seçerken aşağıdakileri göz önünde bulundurun:

  • Blazor, .NET ile ön uç web uygulamaları oluşturmak için önerilir. .NET kullanarak hem ön uç hem de arka uç oluşturmanızı sağlar, zamandan ve maliyetlerden tasarruf etmenizi sağlar ve özellikle kurumsal uygulamalar için iyidir.
  • JavaScript web uygulamaları, mevcut JavaScript becerilerinizden yararlanmak istiyorsanız veya yerleşik JavaScript kitaplıkları veya çerçeveleriyle bütünleştirmeniz gerekiyorsa mantıklı olmaya devam eder.
  • Web Forms, MVC veya Razor Sayfaları gibi eski çerçeveleri kullanan mevcut uygulamalar desteklenmeye devam eder ve geliştirilmeye ve korunmaya devam edebilir.
Bugün WinUI ile kimler uygulama oluşturuyor?

Bugün, Adobe ve Apple gibi birçok müşteri WinUI kullanarak uygulama geliştiriyor.

Microsoft, Windows 11 Dosya Gezgini ve Fotoğraflar uygulaması gibi birçok WinUI uygulaması da oluşturmıştır.

Bugün .NET MAUI uygulamaları kim oluşturuyor?

Microsoft dahil olmak üzere birçok müşteri .NET MAUI ile platformlar arası uygulamalar oluşturuyor. Örneğin, Microsoft Azure mobil uygulaması .NET MAUI kullanılarak oluşturulur.

.NET müşteri vitrini hakkında daha fazla bilgi edinin.

Bugün WPF uygulamaları kim oluşturuyor?

Microsoft Visual Studio kullanıcı arabiriminin çoğu WPF ile oluşturulur. Visual Studio IDE, karmaşık, yüksek performanslı bir WPF uygulamasının önemli bir örneğidir.

Bugün Blazor uygulamalarını kimler oluşturuyor?

GE Digital'in FlightPulse havayolu sistemi, pilotların gördüğü her şeyin arka uç yapılandırması için Blazor kullanır ve güvenlik ve verimliliği artırmak için sensör verilerini ve analizlerini doğrudan pilotlara getirir.

.NET sitesinde daha fazla Blazor müşteri hikayeleri bakın.

Paketleme, dağıtım ve güncelleştirmeler

Paketlenmiş, paketlenmemiş ve dış konumla paketlenmiş uygulamalar arasındaki fark nedir?

Paketlenmiş, paketlenmemiş ve dış konum uygulamalarıyla paketlenmiş tanımları için bkz. Dağıtıma genel bakış. Bu konu başlığında her seçeneğin avantajları ve dezavantajları da açıklanmaktadır.

WinUI uygulamam son kullanıcılar için otomatik olarak güncelleştirilecek mi?

WinUI uygulaması Mağaza, .appinstaller dosyası veya mevcut bir MSI veya setup.exe paketi aracılığıyla teslim edilebilir. Mağaza ve AppInstaller, otomatik güncelleştirmeleri etkinleştirmiş olan son kullanıcılar için otomatik güncelleştirmeleri destekler, ancak MSI/setup.exe uygulamalarının kendi güncelleştirme mekanizmalarını sağlaması gerekir.

MSBuild kullanmadan Windows Uygulama SDK'sı kullanabilir miyim?

Genel olarak hayır. WinUI ve Windows Uygulama SDK'sı MSBuild gerektirir; bu nedenle Visual Studio onlarla geliştirmenin önkoşullarından biridir. WinUI'yi diğer araç zincirleriyle kullanmayan Windows Uygulama SDK'sı uygulamalar oluşturmak teknik olarak mümkün olsa da, bu desteklenmez.

Performans ve iyileştirme

Windows uygulamamın son kullanıcılar için harika hissetmesini sağlamak için ne yapabilirim?

Bkz. Windows uygulama geliştirme - En iyi yöntemler ve Windows uygulama performansına ve temel bilgilere genel bakış.

Compatibility

Kullanıcılarımın WinUI uygulamamı kullanmak için Windows güncelleştirmeleri gerekecek mi?

Windows 10, sürüm 1809 veya üzeri olan kullanıcılar, işletim sistemini güncelleştirmeden WinUI uygulamalarını yükleyebilir.

WinUI uygulamamla Arm64'i hedefleyebilir miyim?

Evet.

Kullanımdan kaldırma işlemleri ve geçiş süreçleri

UWP için UWP / WinUI kullanım dışı mı?

Hayır. UWP ve UWP için WinUI hala desteklenmektedir ve hata, güvenilirlik ve güvenlik düzeltmeleri almaya devam etmektedir. Ancak, yeni özelliklerin ve özelliklerin çoğu WinUI'ye eklenir.

.NET 9 için UWP desteği mevcuttur. Bu seçenek, en son .NET sürümünü kullanan UWP uygulamaları için bir modernleştirme yolu sağlar.

.NET 9 UWP desteğinin hedefleri şunlardır:

  1. WinUI'ye geçmek isteyen geliştiriciler için daha iyi bir geçiş yolu sağlayın.
  2. Geliştiricilerin en son .NET ve C# özelliklerinden yararlanabilmesi için yerel .NET bağımlılıklarını kaldırın.

Daha fazla bilgi için blog gönderisine bakın: .NET 9 ve Yerel AOT için önizleme UWP desteğiyle UWP uygulamanızı değiştirme.

UWP için Bir UWP / WinUI uygulamasını WinUI'ye ne zaman geçirmeliyim?

UWP geliştiricileri, UWP'den ve özellik kümesinden memnunsa geçiş konusunda baskı hissetmemelidir; çoğu uygulama için doğru seçim UWP'de kalmak olabilir.

En son Windows platformundan ve .NET yatırımlarından yararlanmak isteyen uygulamaların Windows Uygulama SDK'sı geçmeyi göz önünde bulundurması gerekir. Bakınız UWP'den Windows Uygulama SDK'sı'ye Geçiş.

UWP ve UWP için WinUI uygulamasını ne zaman WinUI'ye geçirmemem gerekir?

Xbox, Surface Hub veya HoloLens için oluşturuyorsanız UWP kullanmaya devam edin.

WPF artık kullanılmıyor mu?

Hayır. WPF desteklenir, önerilir ve özellik güncelleştirmelerini almaya devam eder. GitHub üzerindeki WPF yol haritasına bakın.

WinForms kullanım dışı mı?

Hayır. WinForms desteklenir ve özellik güncelleştirmelerini almaya devam eder. GitHub üzerindeki Windows Forms Yol Haritası'na bakın.

Windows Çalışma Zamanı (WinRT) kullanım dışı mı?

Hayır. WinRT , birden çok dilde birlikte çalışma olanağı sağlayan bir uygulama ikili arabirimidir (ABI). WinRT, COM'un evrimidir ve Windows Uygulama SDK'sı işlevlerinin çoğunu WinRT API'leri aracılığıyla sağlar.

Sürüm notları

Windows Uygulama SDK'sı sürüm notlarını nerede bulabilirim?

En son sürüm notlarına Yenilikler sayfasından ulaşabilirsiniz.