Aracılığıyla paylaş


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şlarken ve Windows uygulaması geliştirme ortamı.
  • WinUI, Windows Presentation Foundation (WPF) ve Windows Forms (WinForms) ile yerel Yalnızca Windows uygulaması 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'un hedeflenmesi.
  • .NET MAUI, Blazor ve ASP.NET Core ile karma ve web uygulaması geliştirme.
  • Microsoft'un yatırımlarını anlarken bir yaklaşım seçme.

Windows uygulama geliştirme ortamı

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

Windows geliştiricilerine yönelik günümüzün seçeneklerinin harika bir incelemesi için en son Windows Dev Chat bölümünü izleyin WinUI, .NET MAUI, React Native, Blazor ve Progressive Web Apps (PWA'lar) konularının tartışıldığı İdeal geliştirme platformunuzu seçme.

Ayrıca Windows geliştiricileri için uygulama geliştirme seçeneklerine genel bakışa da bakabilirsiniz.

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

Bulut hizmetleri ç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: Dünya çapında 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 Tümleştirmesi ile Ölçeklenebilirlik: İyi tümleşik bir istemci uygulaması arka uç bulut hizmetleriyle zahmetsizce eşitlenebilir ve kullanıcı tabanınız büyüdükçe gerçek zamanlı veri erişimine ve sorunsuz ölçeklenebilirliğe olanak tanır.
  • 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.

Yerel Yalnızca Windows uygulaması 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 bir Windows uygulama geliştirme platformudur. WinUI, Windows Uygulama SDK'sı ile birlikte gelen kullanıcı arabirimi çerçevesidir.

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

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

Windows Uygulama SDK'sı, Windows sürümleri arasında (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 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'leri etrafında tasarlanmıştır.

Windows Uygulama SDK'sı,Windows SDK'sının yerini almaz. Bunun yerine, Windows Uygulama SDK'sı Windows SDK'sını tamamlar. Windows SDK'sı kullanılarak zaten erişilebilir olan zengin Windows işletim sistemi API'leri kataloğu etrafında, işletim sisteminden bağımsız, kullanışlı 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ına taşınacaktır.

Yalnızca Windows uygulaması geliştirmek için yeni bir ekip oluşturuyorum. Neden WinUI, WPF veya WinForms gibi yerel bir Windows çerçevesiyle geliştirmeyi seçmeliyim?

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

  • Performans: Yerel Windows çerçeveleri, modern Windows donanımlarından yararlanacak şekilde iyileştirilmiştir ve hızlı ve hızlı yanıt veren kullanıcı deneyimleri sağlar.
  • Entegrasyon: Windows, yalnızca Windows'ta kullanılabilen gelişmiş deneyimlere olanak tanıyan çok çeşitli API'lerle birlikte gelir. Yerel çerçeveler, bu özellikler ve API'lerle derin tümleştirme sağlar.
  • Yerel kullanıcı deneyimi: Yerel çerçeveler, Windows cihazlarında 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.
  • Monetizasyon: Yerel çerçeveler Microsoft tarafından etkin bir şekilde korunup desteklenerek en son güncelleştirmelere ve özelliklere erişim sağlanır.
Microsoft'un Windows uygulama geliştirmeye yönelik en son yatırımlarını kullanmak için hangi çerçeveyi kullanmalıyım?

Yeni bir Yalnızca Windows uygulaması oluşturuyorsanız WinUI kullanmanızı öneririz. WinUI, Windows uygulama geliştirme için en son yerel ui çerçevesidir ve çok çeşitli Windows cihazlarında ç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ının bir parçasıdır ve windows'un en son sürümleriyle en iyi şekilde çalışır.

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

WinUI'nin (ui çerçevesi) Windows Uygulama SDK'sı (Bir Windows platformu geliştirme çerçevesi) ile birlikte geldiğini unutmayın.

Uygulama kullanıcı arabirimi çerçevesini tamamen geçirmeye hazır olmadığı sürece WinUI genel olarak kullanılamaz. Diğer UI çerçevelerinde (WPF, Win32) WinUI içeriğini barındırmak için XAML adaları adlı bir özellik geliştirme aşamasındadır.

Windows Uygulama SDK'sının öğeleri, mevcut uygulamanın nasıl oluşturulduğuna bağlı olarak 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'lerini 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. Mevcut projede Windows Uygulama SDK'sını kullanma .

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

WinUI geliştirmesi için Visual Studio 2022 sürüm 17.10 veya üzerini kullanmanız kesinlikle önerilir. En son Visual Studio sürümleri, Sık Erişimli Yeniden Yükleme gibi zengin geliştirme özellikleri sunar ve kurulumu basitleştiren bir 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.

WinUI, WinUI 2 ve WinUI 3 arasındaki fark nedir?

WinUI , 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ının bir parçasıdır ve windows'un en son sürümleriyle en iyi şekilde çalışır.

WinUI 2 , UWP'nin üzerinde oluşturulmuş bir kullanıcı arabirimi denetimleri ve stilleri kümesidir. UWP uygulamaları için modern bir görünüm ve hissiyat sağlar ve Windows 10 için tasarlanmıştır.

WinUI 3 , Windows Uygulama SDK'sının bir parçası olarak ilk gönderildiğinde WinUI'nin önceki adıydı.

Özetle, WinUI, WinUI çerçevesinin en son ve en gelişmiş sürümüdür, WinUI 2 UWP için bir denetim kitaplığıdır ve WinUI 3, WinUI için önceki bir etikettir. Özellikle WinUI 2'ye başvurmadığınız sürece ileriye dönük olarak "WinUI" kullanın.

Windows Uygulama SDK'sı ve WinUI kullanarak bir uygulama derlediğimde bir "WinUI uygulaması" mı oluşturuyorum?

Evet — "WinUI uygulaması" önerilen terimdir. WinUI 2 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.

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

Hayır. Windows Uygulama SDK'sı UWP uygulamalarında kullanılamaz ve WinUI 2, WinUI ile karıştırılamaz. bkz. UWP'den Windows Uygulama SDK'sına 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. Proje dosyası ve MSBuild özelleştirmesi: Geçiş çabası, gelişmiş MSBuild kullanımına bağlı olarak değişir.
  2. .NET API geçişi: .NET kullanan 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++/CXC++/WinRT'ye gitme .

Daha fazla bilgi için bkz. UWP'den Windows Uygulama SDK'sına geçiş.

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 paketlerim/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ına 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'da WinUI için 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. Windows Uygulama SDK'sı 1.7'de WinUI için Visual Studio UI tasarımcısı üzerinde çalışma başlatıldı, ancak sürümü için henüz bir zaman çizelgesi yok.

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

Evet. WinUI, Windows Uygulama SDK'sının bir parçası olarak gönderilir.

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

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

WinUI 2 ve WinUI aynı teknoloji üzerinde mi oluşturulmuş?

Neredeyse. WinUI başlangıçta WinUI 2 kod tabanından başlasa da, bunlar farklı teknolojilerdir. Her ikisi de .NET ve C++ arasında çalışan XAML tabanlı UI çerçeveleridir, ancak WinUI 2 ve WinUI birbiriyle uyumlu değildir.

Windows Uygulama SDK'sı kullanmadan WinUI kullanabilir miyim?

Hayır. WinUI, Windows Uygulama SDK'sının bir parçası olarak gönderilir.

WinUI'yi paketlenmemiş bir uygulamada kullanabilir miyim?

Evet. WinUI dahil olmak üzere Windows Uygulama SDK'sı içindeki 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ı çoğu sistem XAML ve WinUI 2 denetimini destekler. Daha fazla ayrıntı için bkz. Masaüstü uygulamalarında (XAML Adaları) WinRT XAML denetimlerini barındırma . Windows Uygulama SDK'sı 1.4'ten başlayarak WinUI denetimlerini barındırma desteği sağlanır.

Bir WinUI uygulaması oluşturursam hem Windows 11 hem de Windows 10'da modern görünecek mi?

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

Windows Uygulama SDK'sı ile oluşturulan uygulamalarda Mica veya Akrilik arka planları kullanabilir miyim?

Evet. Windows 11için masaüstü uygulamalarında Mica veya Akrilik malzemeleri uygulama bakın.

WinUI örneklerini nerede bulabilirim?

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

WPF'ye zaten çok fazla yatırım yapmışsam WPF kullanmaya devam mı etmeliyim yoksa WinUI'ye geçiş yapmayı mı düşünmeliyim?

WPF'ye zaten ç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ı'nı 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ünecek mi?

.NET 9 veya üzeri ile bir WPF uygulaması geliştirirken, uygulamanızın Windows 11'in şı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ş bir Windows 11 estetiği sunmaktadır. 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'a yönelik platformlar arası, yerel uygulamalar oluşturmanın bazı nedenleri nelerdir?

Birden çok işletim sistemi platformunda kullanıcıları hedef alıyorsanız. .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 bir .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ın her platformda iyi performans göstermesini ve yerel bir kullanıcı deneyimi sunmasını sağlar.

.NET MAUI her platformda yerel cihaz API'leri nasıl sağlayabilir?

.NET MAUI, Windows, iOS, Android ve macOS genelinde birleşik bir .NET deneyimi sağlar. 60'ın üzerinde platforma özgü API'yi depolama, 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'yi tümleştirebilir miyim?

Şu anda yok. .NET MAUI, Windows üzerinde çalışırken WinUI kullansa da, birden çok platformu hedeflemeyi bekleyen ekiplerin .NET MAUI veya Desktop için React Native ile başlaması gerekir.

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 Masaüstü için React Native belgelerine bakın.

React Native for Desktop tarafından desteklenen başka Windows cihazları var mı?

React Native uygulamaları bilgisayarlar, tabletler, 2'si 1 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 istiyorsam 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 Game Development Kit'i kullanın.

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

Hem Windows hem de Surface Hub'ı hedeflediyseniz 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 erişim 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
  • Platformlar arası uygulamalar için .NET MAUI Blazor Hybrid
Windows üzerinde yerel deneyim sunan kademeli web uygulamaları (PWA'lar) nasıl geliştirebilirim?

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

.NET MAUI Blazor karma 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 yerel platform özelliklerine tam erişimle tek bir yerel istemci uygulamasında birleştiren 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 MAUI, .NET 9'dan başlayarak yerel bir uygulamada diğer JavaScript tabanlı URI'leri barındırmaya olanak tanıyan bir HybridWebView denetimi içerir.

Bu, Angular, React, Vue veya diğer HTML/JavaScript uygulamalarını bir .NET MAUI uygulamasında 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şlevsellik sağlarken bir uygulamanın çekirdeği .NET MAUI bileşenleriyle oluşturulabilir. Bu, yerel bileşenlerin performansını ve özelliklerini hibrit bileşenlerin esnekliği ve maliyet verimliliğiyle birleştirmeye olanak tanır.

oluşturmak için seçeneklerim nelerdir? Windows'ta modern tarayıcılarda harika görünen NET tabanlı web uygulamaları mı?

Web uygulamaları, tüm istemci uygulama platformlarının en geniş erişime ulaşmasını sağlar. Güzel .NET web uygulamaları oluşturma seçenekleri şunlardır:

  • Razor Sayfaları ile ASP.NET Core uygulamaları
  • ASP.NET Core MVC uygulamaları
  • Barındırma modeli seçenekleriyle Core Blazor uygulamalarını ASP.NET:
    • 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 ayrıntı için ASP.NET Core belgelerine bakın.

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

Windows'a yönelik uygulamalar oluşturmak için 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:

  • Windows öncelikli mi yoksa platformlar arası mı oluşturuyorsunuz?
  • .NET, JavaScript, başka bir şey gibi hangi dillere veya becerilere sahipsiniz?
  • Windows'a ö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çebilirim?

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

  • .NET ile ön uç web uygulamaları oluşturmak için Blazor önerilir. .NET kullanarak hem ön uç hem de arka uç oluşturarak zamandan ve maliyetlerden tasarruf etmenizi sağlar ve özellikle kurumsal uygulamalar için iyidir.
  • Mevcut JavaScript becerilerinden yararlanmak istiyorsanız veya yerleşik JS kitaplıkları veya çerçeveleriyle tümleştirmeniz gerekiyorsa JavaScript web uygulamaları hala mantıklıdır.
  • 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 dahil olmak üzere birçok müşteri WinUI ile derleme yapıyor:

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

Bugün kim .NET MAUI uygulamaları 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ı kimler oluşturuyor?

Microsoft Visual Studio kullanıcı arabiriminin çoğu WPF ile oluşturulur. Visual Studio IDE'nin kendisi 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 hikayesine bakın.

UWP ve WinUI 2

UWP uygulamaları Microsoft Store dışında dağıtılabilir mi?

Evet. MSIX paketiniz imzalandıysa, imzalama sertifikasının hedef cihazda geçerli ve güvenilir olması gerekir.

UWP XAML kullanıcı arabirimi denetimlerini Win32, WPF veya WinForms kullanıcı arabirimi denetimleriyle karıştırabilir miyim?

Evet — XAML Adaları bunu etkinleştirir. Bkz. XAML Adaları hakkında daha fazla bilgi edinin.

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ştirme için bir önkoşuldur. 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. Uygulamaları Windowsiçin harika hale getirme.

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ırmalar ve geçişler

UWP / WinUI 2 kullanım dışı mı?

Hayır. UWP ve WinUI 2 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 sağlanır. 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 .NET Native 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ı modernleştirme.

Bir UWP / WinUI 2 uygulamasını ne zaman WinUI'ye 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ına geçmeyi göz önünde bulundurması gerekir. bkz. UWP'den Windows Uygulama SDK'sına geçiş.

UWP + WinUI 2 uygulamasını WinUI'ye geçirmemem gereken durumlar nelerdir?

Xbox, Surface Hub veya HoloLens için derleme yapıyorsanız UWP'yi kullanmaya devam edin.

WPF kullanım dışı mı?

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

WinForms kullanım dışı mı?

Hayır. WinForms desteklenir ve özellik güncelleştirmelerini almaya devam eder. GitHubWindows 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 gelişimidir ve Windows Uygulama SDK'sı, işlevselliğinin ç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.