Bu makale, Windows geliştirme deneyimi ve ürün yönü hakkında ortak bir anlayışı teşvik etmeye yöneliktir.
Günümüzün Windows uygulaması geliştirme ortamı, aralarından seçim yapabileceğiniz çeşitli çerçeveler ve teknolojiler sunar. Bu SSS, Windows uygulama geliştirme projeleriniz için hangi çerçevenin kullanılacağına karar verme konusunda rehberlik sağlar. Aşağıdaki konuları kapsar:
- 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 uygulaması 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
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 hala ö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 3, 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. Uygulama oluşturmak için Windows Uygulama SDK'sını kullandığınızda en son Windows geliştirme platformu özelliklerine erişebilirsiniz. Windows Uygulama SDK'sı WinUI 3 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ı tamamlayıcı niteliktedir. Windows SDK'sını kullanarak zaten erişebileceğiniz zengin Windows işletim sistemi API'leri kataloğu etrafında kullanışlı, işletim sistemi ayrılmış bir soyutlama sağlar. Windows Uygulama SDK'sı ile uygulama oluşturduğunuzda, ihtiyacınız olan işlevselliğe bağlı olarak bazı Windows SDK API'leri kullanmanız gerekebilir. Zamanla, Windows Uygulama SDK'sına daha fazla Windows SDK işlevi kaldırılacaktı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, günümüzün Windows donanımlarının tüm gücünden yararlanacak ve hızlı ve hızlı kullanıcı deneyimleri sağlayacak şekilde iyileştirilmiştir.
- Tümleştirmesi: Windows, yalnızca Windows'ta kullanılabilen gelişmiş deneyimler oluşturmak için ç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 Windows çerçeveleri, windows cihazları genelinde tutarlı bir kullanıcı deneyimi sağlayarak uygulamanızın tüm Windows cihazlarında harika görünmesini ve çalışmasını sağlar.
- çevrimdışı desteği : Yerel Windows çerçeveleri çevrimdışı senaryolar için destek sağlayarak kullanıcı İnternet'e bağlı olmadığında bile uygulamanızın çalışmasını sağlar.
- Para Kazanma: Yerel Windows çerçeveleri, En son güncelleştirmelere ve özelliklere erişiminiz olduğundan emin olmak için Microsoft tarafından etkin bir şekilde korunur ve desteklenir.
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. WinUI, görsel açıdan çekici ve etkileşimli Windows uygulamaları oluşturmanıza olanak tanıyan modern ve esnek bir UI ç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ışacak şekilde tasarlanmıştır.
Mevcut Windows uygulamamda Windows Uygulama SDK'sı / WinUI kullanabilir miyim?
WinUI (ui çerçevesi) Windows Uygulama SDK'sı (Bir Windows platformu geliştirme çerçevesi) ile birlikte gönderilir.
Genel olarak konuşursak, ui çerçevenizi tamamen geçirmeye hazır değilseniz WinUI'yi kullanamazsınız. WinUI içeriğini diğer UI çerçevelerinde (WPF, Win32) barındırmanıza olanak tanıyan XAML adaları adlı bir özellik üzerinde çalışıyoruz.
Mevcut uygulamanızın nasıl oluşturulduğuna bağlı olarak herhangi bir masaüstü uygulamasında Windows Uygulama SDK'sının öğelerini kullanabilmeniz gerekir. UWP uygulamaları Windows Uygulama SDK'sı tarafından desteklenmez.
Bu, WPF/MFC/WinForms uygulamalarının
Daha fazla bilgi için bkz. Var olan bir proje Windows Uygulama SDK'sını kullanma.
WinUI uygulamaları oluşturmak için Visual Studio'yu kullanmam gerekiyor mu?
WinUI uygulamaları geliştirmek için Visual Studio 2022 sürüm 17.10 ve üzerini kullanmanızı kesinlikle öneririz. Visual Studio'nun en son sürümünü kullanmak, Sık Erişimli Yeniden Yükleme gibi zengin geliştirme özelliklerine erişmenizi sağlar. En son Visual Studio yükleyicileri Windows uygulama geliştirme iş yükü içerir ve bu da WinUI geliştirmeye başlamayı kolaylaştırır.
Diğer IDE'leri ve geliştirme iş akışlarını kullanabilirsiniz, ancak Visual Studio
Windows Uygulama SDK'sı ve WinUI 3 kullanarak bir uygulama derlediğimde, "WinUI uygulaması" mı oluşturuyorum?
Evet - "WinUI uygulaması" kullanmanızı önerdiğimiz terimdir. WinUI 2 bir uygulama türü değil, UWP uygulamalarında kullanılabilecek bir bileşen kümesi olduğundan WinUI 3 uygulamaları genellikle "WinUI uygulamaları" olarak adlandırılır.
WinUI 2 bileşenlerini WinUI 3 bileşenleriyle aşamalı olarak değiştirerek UWP uygulamamı WinUI 2 denetimleriyle WinUI 3'e artımlı olarak güncelleştirebilir miyim?
Hayır. Windows Uygulama SDK'sı UWP uygulamalarında kullanılamaz ve WinUI 2, WinUI 3 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, UWP'den WinUI'ye geçiş maliyeti öncelikle şu faktörlere bağlıdır:
- Project dosyası ve MSBuild özelleştirmesi: Gelişmiş MSBuild özelliklerini kullanıp kullanmadığınıza bağlı olarak projenizi geçirmeniz önemli bir çaba düzeyi gerektirebilir.
- .NET API geçişi : UWP uygulamanız .NET kullanıyorsa, .NET 6 veya sonraki bir sürüme yükseltmeniz gerekir. Çoğu durumda. .NET 6'yı benimsemek düzgün bir iştir.
- kullanıcı arabirimi bileşen kitaplıklarını : UI bileşen kitaplıklarını kullanıyorsanız WinUI 3'i hedefleyen yeni sürümlerine ihtiyacınız olacaktır.
- UWP kaynak kodunuz artık yerine geçen C++/CX içinde yazılmışsa, bazı kaynak kodu taşıma işlemleri söz konusu olur. Bkz. C++/CXC++/WinRT'ye gitme
.
UWP geçişi hakkında 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ükseltilen uygulamalar, uygulamanızın kimliğini güncelleştirmek zorunda kalmadan yayımlanabilir. Eski sürüme sahip kullanıcılar yeni sürüme güncelleştirilir. Bu kılavuz yalnızca masaüstü uygulamaları için geçerlidir. Xbox, HoloLens ve Surface Hub uygulamaları WinUI'ye geçiremez.
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?
WinUI kullanmak istersem XAML işaretlemesi kullanmam gerekir mi?
Hayır. Kullanıcı arabirimi denetimleri kodda oluşturulabilir. Ancak WinUI kullanıcı arabiriminizi bildirim temelli XAML işaretlemesi biçiminde temsil etmek için geliştirilmiş geliştirici deneyimi gibi birçok avantaj vardır.
UWP'den WinUI'ye geçiriyorsanız, büyük olasılıkla XAML işaretlemenizin ve kullanıcı arabirimiyle ilgili kodunuzun çoğunu yeniden kullanabilirsiniz (ancak söz diziminin bir bölümünü güncelleştirmeniz gerekir). WPF'den WinUI'ye geçiş yaparsanız birçok kavramı yeniden kullanabilirsiniz, ancak denetim kümesi ve API'ler farklı olacaktır.
Visual Studio'da WinUI için tasarım yüzeyi / kullanıcı arabirimi tasarımcısı var mı?
Henüz değil. Bunun WinUI geliştirici deneyiminde bir boşluk olduğunu biliyoruz. XAML Çalışırken Yeniden Yükleme gibi araçlar birçok senaryoda yardımcı olabilir. Work, Windows Uygulama SDK 1.7'de WinUI için Visual Studio UI tasarımcısında başladı, ancak bu özelliğin yayımlanması için henüz bir zaman çizelgesi yok.
Windows Uygulama SDK'sı WinUI 3 içeriyor mu?
Evet. WinUI 3, 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 3 aynı teknoloji üzerinde mi oluşturulmuş?
Neredeyse. WinUI 3, WinUI 2 kod tabanından başlasa da, bunlar farklı teknolojilerdir. Hem WinUI 2 hem de WinUI 3, .NET ve C++ üzerinde çalışan XAML tabanlı UI çerçeveleridir. WinUI 2 ve WinUI 3'in birbiriyle uyumlu olmadığını unutmayın.
Windows Uygulama SDK'sı kullanmadan WinUI 3 kullanabilir miyim?
Hayır. WinUI 3, Windows Uygulama SDK'sının bir parçası olarak gönderilir.
WinUI 3'i paketlenmemiş bir uygulamada kullanabilir miyim?
Evet. Windows Uygulama SDK'sı içindeki tüm teknolojiler, WinUI 3 dahil olmak üzere paketlenmemiş uygulamalarda çalışır.
XAML Adaları ile WinUI 3 arasındaki fark nedir?
XAML Adaları, WinForms ve WPF gibi diğer çerçevelerden mevcut Win32 kullanıcı arabirimiyle birlikte modern WinUI denetimlerini barındırmanıza olanak sağlar. Bugün XAML Adaları, en sistem XAML ve WinUI 2 denetimleriyle desteklenmektedir. Daha fazla bilgi için bkz. Masaüstü uygulamalarında (XAML Adaları) Konak WinRT XAML denetimlerini . WinUI 3 denetimleri için XAML Adaları desteği, Windows Uygulama SDK'sı 1.4'den itibaren kullanılabilir.
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
WinUI örneklerini nerede bulabilirim?
bkz. Örnek ve kaynaklar. Bazı önemli depolar:
- WindowsAppSDK-Samples: Belirli Windows Uygulama SDK'sı API kümelerinin nasıl kullanılacağını gösterir.
- WinUI 3 Tanıtımları: Microsoft'un WinUI sunuları sırasında kullanılan tanıtımları içerir.
- WinUI Gallery: Vitrinler WinUI ve Windows Uygulama SDK'sı. WinUI Galerisi'ni Microsoft Storede edinebilirsiniz.
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 büyük yatırımlar yapmışsanız, mevcut uygulamalarınız için WPF kullanmaya devam edebilirsiniz. WPF, geliştiriciler tarafından Windows masaüstü uygulamaları oluşturmak için yaygın olarak kullanılan olgun ve kararlı bir çerçevedir.
.NET Framework WPF uygulamalarınızı en son .NET platformuna geçirmek için .NET Yükseltme Yardımcısı kullanmayı göz önünde bulundurun. .NET Yükseltme Yardımcısı, .NET Framework uygulamalarınızı desteklenen en son .NET sürümlerine geçirmenize yardımcı olan bir araçtır. .NET Yükseltme Yardımcısı mevcut kod tabanınızı analiz eder ve kodunuzu 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 birlikte WPF uygulamalarına çağdaş bir Windows 11 estetiği sunar. Bu güncelleştirme yalnızca uygulamanızın görünümünü modernleştirmekle kalmaz, aynı zamanda şık ve uyumlu bir kullanıcı deneyimi sağlayarak kullanıcı katılımını geliştirir.
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?
Ekibiniz WinForms uygulamalarını rahatça oluşturuyorsa ve WindForms ihtiyaçlarınızı karşılıyorsa, mevcut uygulamalarınız için WinForms'ı kullanmaya devam edebilirsiniz. WinForms, geliştiriciler tarafından Windows masaüstü uygulamaları oluşturmak için yaygın olarak kullanılan olgun ve kararlı bir çerçevedir.
WinForms ekibi özellikler arasında yatırım yapıyor ve katkıda bulunanlardan oluşan etkin bir topluluğa sahip. Yatırımın bazı geçerli alanları şunlardır:
- Ortak denetimlerle zaman uyumsuz destek
- Koyu mod
- 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?
Kullanıcıları birden çok işletim sistemi platformunda hedef alıyorsanız. .NET MAUI veya React Native ile platformlar arası uygulamalar oluşturmak çeşitli avantajlar sağlayabilir:
- Reach: Platformlar arası uygulamalar oluşturmak, farklı platformlarda daha büyük bir kullanıcı kitlesine ulaşmanızı sağlar.
- Kodu yeniden kullanma: Platformlar arası uygulamalar derlemek, kodu farklı platformlarda yeniden kullanmanıza olanak sağlayarak geliştirme süresini ve maliyetlerini azaltır. Windows, iOS, Android, macOS vb. için ayrı uygulamalar oluşturmak çok pahalı olabilir.
- Tutarlı kullanıcı deneyimi: Platformlar arası uygulamalar derlemek, uygulamanızın tüm cihazlarda harika görünmesini ve çalışmasını sağlayarak farklı platformlarda tutarlı bir kullanıcı deneyimi sağlamanıza olanak tanır.
- Tümleştirmesi: Platformlar arası uygulamalar derlemek, farklı platformlar ve hizmetlerle tümleştirmenize olanak sağlayarak daha kapsamlı bir kullanıcı deneyimi sunmanızı sağlar.
.NET MAUI uygulamalarının Windows'ta iyi çalışacağından emin olabilir miyim?
Windowsiçin bir
.NET MAUI her platformda yerel cihaz API'leri nasıl sağlayabilir?
.NET MAUI, Windows, iOS, Android ve macOS dahil olmak üzere tüm platformlarda tek bir .NET deneyimi sağlar. .NET MAUI, .NET MAUI uygulamanızda kullanabileceğiniz 60'ın üzerinde platforma özgü API'yi tek bir platformlar arası API'ye soyutlar. Bu API'ler depolamaya, ağa, cihaza özgü algılayıcılara ve daha fazlasına erişimi kapsar. Gerekirse, her platformun kodunu soyutlama amacıyla bağımlılık ekleme kullanarak platforma özgü ek API'lere de erişebilirsiniz.
WinUI ile başlayıp daha sonra platformlar arası senaryoları hedeflemek istersem .NET MAUI'yi tümleştirebilir miyim?
Şu anda yok. .NET MAUI uygulamaları Windows üzerinde çalışırken WinUI kullansa da, birden çok platformu hedefleme gereksinimini düşünüyorsanız .NET MAUI veya Masaüstü için React Native ile başlamanızı öneririz.
Ekibimiz güçlü web ön uç geliştirme becerilerine sahiptir. Masaüstü için React Native kullanmayı düşünmeli miyiz?
Ekibiniz güçlü web geliştirme becerilerine sahipse React Native for Desktop'ı kullanmayı düşünebilirsiniz. Masaüstü için React Native, Windows ve macOS çerçeveleri için React Native'i kapsar. React Native'in sloganı "Bir kez öğren, her yerde yaz" şeklindedir. Bu, React Native kullanarak yerel Windows uygulamaları oluşturmak için mevcut web geliştirme becerilerinizi kullanabileceğiniz anlamına gelir. Desktop için React Native, React Native kullanarak yerel Windows ve macOS uygulamaları oluşturmanıza olanak tanıyan bir açık kaynak projedir. Masaüstü için React Native, React Native uygulamalarınızdaki masaüstü işletim sistemine özgü özelliklere ve özelliklere erişmenizi sağlayan bir dizi API sağlar.
Ekibiniz javascript, typescript ve react becerilerinden yararlanarak doğrudan yerel temel öğelere işlenen kullanıcı arabirimi katmanını oluşturabilir. Bu, yerel uygulama performansı ve yerel platformun özelliklerine erişim sağlar.
Windows için React Native geliştirmeyi kullanmaya başlama hakkında daha fazla bilgi için Desktop için React Native belgeleri.
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 kullanmanızı öneririz. Windows Uygulama SDK'sı bu platformları desteklemez. Oyun geliştirme için Microsoft Game Development Kitkullanmanızı öneririz.
Windows ve Surface Hub üzerinde çalışan uygulamalar oluşturmak istiyorsam ne kullanmalıyım?
Hem Windows hem de Surface hub'larını hedefliyorsanız UWP kullanmanızı öneririz.
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. Uygulamanın çekirdeği HTML, CSS ve JavaScript gibi web teknolojileri kullanılarak oluşturulur ve ardından uygulamanın belirli yerel platform özelliklerinden ve donanımlarından yararlanmasını sağlayan yerel bir kapsayıcıya sarmalanır. Bunlar uygulama mağazaları aracılığıyla da dağıtılabilir.
Karma uygulamaların temel avantajı, birden çok yerel platformda ve web'de çalışabilen tek bir uygulama oluşturmanıza olanak tanıyarak geliştirme süresini ve maliyetlerini azaltmanızı sağlamasıdır. Karma uygulama geliştirme platformlarının bazı örnekleri şu şekilde yanıtlar:
- Masaüstü uygulamaları için Elektron
- Mobil uygulamalar için Ionic
- Platformlar arası uygulamalar için .NET MAUI Blazor hibriti
Windows'da yerel duygu aşamalı web uygulamaları (PWA' lar) nasıl oluşturabilirim?
Bkz. Windows'da Web geliştirme
.NET MAUI Blazor karma uygulaması nedir?
.NET MAUI ile Blazor uygulamaları Windows, iOS, Android ve macOS'ta da yerel olarak çalıştırılabilir. Bu, Blazor ve .NET MAUI bileşenlerini tek bir yerel istemci uygulamasında birleştiren karma istemci uygulamaları oluşturabileceğiniz anlamına gelir. Bu, diğer tüm .NET MAUI uygulamaları için kullanılabilen aynı yerel platform özelliklerine tam erişim sağlar.
Blazor'ın bir .NET MAUI uygulamasında nasıl barındırabileceği hakkında daha fazla bilgi için bkz. ASP.NET Core Blazor Karma.
.NET MAUI karma uygulamasının web bileşenlerinin Blazor ile oluşturulması gerekiyor mu?
Hayır, .NET MAUI karma uygulamasının web bileşenlerinin Blazor ile oluşturulması gerekmez. .NET MAUI, .NET 9'dan başlayarak yerel uygulamanızda diğer JavaScript URI'lerini barındırmanıza olanak tanıyan bir HybridWebView denetimi sağlar.
Bu, Angular, React, Vue veya diğer HTML & JavaScript web uygulamanızı alıp .NET MAUI uygulamanızda barındırabileceğiniz anlamına gelir. Karma denetim, C# ile JavaScript katmanları arasında birlikte çalışma sağlar, böylece C# dilinden JavaScript işlevlerini çağırabilir ve tam tersi de yapabilirsiniz.
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ırabilir. Bu, mevcut WPF ve WinForms uygulamalarınıza modern web kullanıcı arabirimi bileşenleri eklemenize olanak tanır. .NET Framework üzerinde oluşturulan WPF veya WinForms uygulamalarıyla bunun mümkün olmadığını unutmayın.
Tüm uygulamamın karma bir uygulama olması mı gerekiyor yoksa yerel ve karma bileşenleri karıştırıp eşleştirebilir miyim?
Uygulamanızda yerel ve karma bileşenleri karıştırabilir ve eşleştirebilirsiniz. Örneğin, .NET MAUI bileşenlerini kullanarak uygulamanızın çekirdeğini oluşturabilir ve ardından ek işlevler sağlamak için karma bileşenler ekleyebilirsiniz. Bu sayede her iki dünyanın da en iyilerinden yararlanabilirsiniz: yerel bileşenlerin performansı ve özellikleri ile hibrit bileşenlerin esnekliği ve maliyet tasarrufu.
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şimine sahiptir. Windows'da güzel .NET web uygulamaları oluşturmak istiyorsanız birkaç seçeneğiniz vardır:
- Razor Sayfaları ile ASP.NET Core uygulamaları
- ASP.NET Core MVC uygulamaları
- ASP.NET Core Blazor uygulamaları ve barındırma modeli seçenekleri:
- Blazor WebAssembly uygulamaları
- Blazor Server uygulamaları
Blazor için barındırma modelinin artık bileşen düzeyinde yapılandırılabildiğini unutmayın. Bu nedenle, Blazor Server uygulamasında barındırılan bir Blazor WebAssembly bileşenine sahip olabilirsiniz.
ASP.NET Core belgeleriASP.NET Core geliştirme seçenekleri hakkında daha fazla bilgi edinin.
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. Hangi platformu kullanacağınıza karar vermenize yardımcı olabilecek bazı ölçütler şunlardır:
- Windows öncelikli mi yoksa platformlar arası mı oluşturuyorsunuz?
- .NET deneyimine sahip misiniz? JavaScript mi? Diğer diller mi?
- Windows'a özgü API'lere erişmeniz gerekiyor mu?
- Uygulamanızın gereksinimlerine en uygun çerçeve özellikleri hangisidir?
- Diğer karar faktörleri için bu tablo
bakın.
İş uygulamaları söz konusu olduğunda, ekiplerin çoğu mevcut becerilere ve ekibin neleri rahatça kullandığına göre seçim yapmak ister.
Web uygulamam için en iyi geliştirme yaklaşımını nasıl seçebilirim?
Web uygulamanız için geliştirme yaklaşımı seçerken göz önünde bulundurmanız gereken bazı şeyler şunlardır:
- .NET ile ön uç web uygulamaları oluşturmak için Blazor önerilir. Blazor'ı kullanarak artık .NET ile tüm ön ucunuzu ve arka ucunuzu derleyerek zamandan ve paradan tasarruf edebilirsiniz. Günümüzün cihazlarında kurumsal iş kolu uygulamaları için özellikle çok uygundur.
- Ekibinizin JavaScript'teki mevcut becerilerinden veya yatırımlarından yararlanmak istiyorsanız ya da mevcut JavaScript 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 hala desteklenir ve bu çerçeveler kullanılarak 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:
- Adobe Fresco, Windows için ücretsiz çizim ve boyama uygulaması.
- Apple, Apple Music, Apple TVve Apple Devices uygulamalarını WinUI ve Windows Uygulama SDK'sı ile oluşturmuştur.
Microsoft ayrıca Windows 11 Dosya Gezgini ve Fotoğraflar uygulamaları da dahil olmak üzere WinUI ile çeşitli uygulamalar oluşturmuştur.
Bugün kim .NET MAUI uygulamaları oluşturuyor?
Birçok müşteri microsoft da dahil olmak üzere platformlar arası uygulamalarını oluşturmak için .NET MAUI kullanıyor. Örneğin, Microsoft Azure mobil uygulaması .NET MAUI kullanılarak oluşturulmuştu.
.NET müşterilerinin sitesinde sergile
Bugün WPF uygulamaları kimler oluşturuyor?
Microsoft Visual Studio'nun kullanıcı arabiriminin çoğu WPF ile oluşturulur. Visual Studio IDE, karmaşık, yüksek performanslı wpf uygulamasına harika bir örnektir.
Bugün Blazor uygulamalarını kimler oluşturuyor?
GE Digital'in FlightPulse havayolu sistemi, güvenlik ve verimliliği artırmak için sensör verilerini ve analizlerini pilotların eline geçirir. Pilotların gördüğü her şeyin arka uç yapılandırması Blazor ile yapılmıştır.
.NET sitesinde Blazor müşteri hikayelerini
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 yapmanızı sağlar. 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ış konumla paketlenmiş uygulamaların 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 MSI veya setup.exe paketiniz aracılığıyla teslim edilebilir. Mağaza ve AppInstaller, otomatik güncelleştirmeyi etkinleştirmiş olan son kullanıcılar için otomatik güncelleştirmeleri destekler, ancak MSI/setup.exe uygulamanızın kendi güncelleştiricisi olmalıdır.
MSBuild kullanmadan Windows Uygulama SDK'sı kullanabilir miyim?
Genel olarak söylüyorum, hayır. WinUI ve Windows Uygulama SDK'sı
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.
Uyumluluk
Kullanıcılarımın WinUI uygulamamı kullanmak için Windows'ı güncelleştirmeleri gerekecek mi?
Windows 10, sürüm 1809 ve sonraki sürümlere sahip kullanıcılar, işletim sistemini güncelleştirmeden WinUI uygulamalarınızı 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 desteklenir ve hata, güvenilirlik ve güvenlik düzeltmeleri alır. Ancak, yeni özelliklerin ve özelliklerin çoğu yalnızca WinUI 3'e eklenecektir.
Not
.NET 9 için UWP desteği önizleme aşamasındadır. Bu önizleme desteği, UWP uygulamalarının .NET'in en son sürümünü kullanarak modernleştirilmesi için bir yol sağlar.
.NET 9 UWP desteğinin iki ana hedefi vardır. İlk olarak, WinUI 3'e geçiş yapmak isteyen UWP geliştiricileri için daha iyi bir geçiş yolu sağlar. İkinci olarak, geliştiricilerin uygulama modelleri ne olursa olsun en son .NET ve C# özelliklerinden yararlanabilmeleri için .NET Native bağımlılıklarını kaldırmalarını sağlar.
Daha fazla bilgi için .NET 9 ve Yerel AOT için önizleme UWP desteğiyle UWP uygulamanızı modernleştirme blog gönderisine bakın.
Bir UWP / WinUI 2 uygulamasını WinUI 3'e ne zaman geçirmeliyim?
UWP geliştiricileri, UWP ve özellik kümesinden memnunlarsa uygulamalarını WinUI 3'e geçirme konusunda hiçbir baskı hissetmemelidir. Bazı uygulamalar için en iyi seçenek hiçbir zaman geçiş yapmak olmayabilir. Microsoft'un en son Windows platformundan ve .NET yatırımlarından yararlanmak isteyen uygulamalar için bu 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ş).
Bir UWP + WinUI 2 uygulamasını ne zaman WinUI 3'e geçirmem *değil* gerekir?
Xbox, Surface Hub veya HoloLens için derleme yapıyorsanız UWP'yi kullanmaya devam etmenizi öneririz.
WPF kullanım dışı mı?
Hayır. WPF hala desteklenir, önerilir ve özellik güncelleştirmelerini de alır. GitHubüzerinde
WinForms kullanım dışı mı?
Hayır. WinForms hala desteklenir ve özellik güncelleştirmelerini alır. GitHub
Windows Çalışma Zamanı (WinRT) kullanım dışı mı?
Hayır. WinRT, birden çok dil arasında birlikte çalışmanızı sağlayan bir uygulama ikili arabirimine (ABI) başvurur. WinRT, COM'un evrimidir. Windows Uygulama SDK'sı, işlevselliğinin çoğunu WinRT API'leri aracılığıyla sağlar.