Aracılığıyla paylaş


Uygulama çerçevenizi seçin

Bu makale, Windows için uygulama oluşturmaya ve beceri kümenize ve senaryonuza uygun UI çerçevesini seçmeye başlamak için ihtiyacınız olan bilgileri içerir.

Windows; WinUI, Masaüstü için React Native, WPF, C++, C#, .NET ve çeşitli platformlar arası çerçeveler dahil olmak üzere uygulama oluşturmaya yönelik çok çeşitli diller, çerçeveler ve araçlar sunar. Burada, hangi seçeneğin sizin için en uygun olduğuna karar vermenize yardımcı olacak bilgiler sağlıyoruz.

WinUI (Kullanıcı Arayüzü)

WinUI logosu.

Harika görünen uygulamalar oluşturmak ve en son Windows sürümlerinden yararlanmak için WinUI ve Windows Uygulama SDK'sını kullanın. Windows geliştirme konusunda yeniyseniz veya yeni bir Windows uygulamasında çalışmaya başlıyorsanız, WinUI Windows 11için harika uygulamaları oluşturmak için ihtiyacınız olan kaynakları sağlar.

WinUI, Windows uygulamaları oluşturmaya yönelik modern denetimleri ve stilleri içeren XAML işaretleme tabanlı bir kullanıcı arabirimi katmanıdır. Windows Uygulama SDK'sı için yerel kullanıcı arabirimi katmanı olarak Fluent Design'i bünyesinde barındırarak, her Windows uygulamasına müşterilerin beklediği şık bir görünüm verir.

WinUI kullanmaya başlama

Not

Windows Uygulama SDK'sı, Windows uygulama geliştirme platformundaki en son gelişimi temsil eden bir dizi yeni geliştirici bileşeni ve aracıdır. Windows Uygulama SDK'sı, Windows 11'deki masaüstü uygulamalarının windows 10, sürüm 1809'a göre tutarlı bir şekilde kullanabileceği birleşik bir API'ler ve araçlar kümesi sağlar.

WinUI yerel kullanıcı arabirimi katmanı olsa da Windows Uygulama SDK'sını WPF, WinForms veya Win32 uygulamalarıyla kullanabilirsiniz. Daha önce Windows için uygulamalar geliştirdiyseniz ancak mevcut bir uygulamada Windows Uygulama SDK'sını kullanmaya başlamak istiyorsanız bkz. Çerçeveye özgü kılavuzlar.

Masaüstü için React Native

React Native , platformlar arası uygulamalar oluşturmaya olanak tanıyan bir geliştirme platformudur. Masaüstü için React Native , Windows ve macOS için React Native'i içerir ve React Native desteğini Windows SDK'sına getirir. Masaüstü için React Native, JavaScript kullanarak Windows 10 ve Windows 11 tarafından desteklenen tüm cihazlar için yerel Windows uygulamaları oluşturmanıza olanak tanır. Bu destek bilgisayarlar, tabletler, 2'leri bir arada cihazlar, Xbox, Karma Gerçeklik cihazları ve daha fazlasını içerir.

Masaüstü için React Native ile uygulama kodunuzun çoğunu veya tümünü JavaScript veya TypeScript'te yazarsınız. Çerçeve yerel bir UWP XAML uygulaması oluşturur. Uygulamanızın bir platform API'si çağırması gerekiyorsa, bunu genellikle birçok topluluk modülünden biri aracılığıyla yapabilirsiniz. Henüz bir modül yoksa, bunu kullanıma açmak için kolayca yerel bir modül yazabilirsiniz.

Masaüstü için React Native'i seçmenin bazı nedenleri şunlardır:

  • Kodu platformlar arasında mümkün olduğunca paylaşmak istiyorsunuz veya kodu paylaşmak istediğiniz web özelliklerine sahipsiniz.
  • Hızlı yenileme sayesinde geliştiricilerin üretkenliği ve iç geliştirme döngüsü iyileştirildi.
  • Uygulamanızın temelleri (performans, erişilebilirlik, uluslararasılaştırma) yerel bir UWP uygulaması kadar iyidir.
  • JavaScript veya TypeScript için deneyim ve tercihleriniz vardır.
  • npmjs.com üzerindeki yalnızca JavaScript kitaplıklarından ve birçok yerel kitaplıktan da yararlanmak istiyorsunuz.
  • Uygulamanız yerel denetimleri, görsel görünümü, animasyonları ve renkleri kullandığından, Windows'ta kullanılan tasarım diliyle tümleştirilmiş gibi görünür. Buna ek olarak, React Native for Desktop uygulamalarının çağırabilecekleri API'lerden ödün vermeleri gerekmez. Çerçeve, platform API'lerini çağırmanın yanı sıra kendi görünüm yöneticilerinizi ve yerel modüllerinizi yazmanızı sağlar.
  • Büyük ve büyüyen bir topluluk momentumuyla, birçok topluluk modülüiçeriyor.

Desktop için React Native kullanmaya başlama

Masaüstü için React Native hakkında daha fazla bilgi için aşağıdaki bağlantılara bakın:

WPF (Windows Presentation Foundation)

WPF, .NET veya .NET Frameworkerişimi olan Windows masaüstü uygulamaları için iyi oluşturulmuş bir çerçevedir. WinUI gibi, kullanıcı arabirimini koddan ayırmak için de XAML işaretlemesi kullanır. WPF; denetimler, veri bağlama, düzen, 2B ve 3B grafikler, animasyon, stiller, şablonlar, belgeler, medya, metin ve tipografi içeren kapsamlı bir uygulama geliştirme özellikleri kümesi sağlar. WPF , .NET'in bir parçasıdır, bu nedenle .NET API'sinin diğer öğelerini içeren uygulamalar oluşturabilirsiniz.

Ayrıca, artık bir korumalı alan ortamını paketlenmiş WPF uygulamalarınızla tümleştirerek ek bir güvenlik katmanı sağlayabilirsiniz. Yeni Win32 Uygulama Yalıtımı güvenlik özelliği sayesinde bu geliştirme kodunuzda çok az değişiklik yapılmasını gerektirir.

Bahşiş

WPF'ye zaten yatırım yaparsanız, bunu kullanmaya devam edebilir ve .NET 9'daki modernleştirme seçeneklerinden yararlanabilirsiniz. Microsoft'un WPF'ye yatırım yapmaya devam ettiğini bilerek uygulamalarınızı oluşturabilirsiniz. Daha fazla bilgi için Windows geliştirici SSS'sine bakın.

WPF kullanmaya başlama

WPF .NET uygulamanız varsa, Windows Uygulama SDK'sıtarafından sağlanan modern Windows platformu özelliklerine ve API'lerine de erişebilirsiniz. Daha fazla bilgi için bkz. WPF uygulaması Windows Uygulama SDK'sını kullanma ve masaüstü uygulamalarınızımodernleştirme .

Bahşiş

Uygulamanız için en iyi çerçevenin hangisi olduğuna karar verirken daha fazla yardıma ihtiyacınız varsa Windows geliştirme projesi eğitim modülü için en iyi uygulama çerçevesini seçme bakın.

Diğer yerel platform seçenekleri

Windows için birçok uygulama Win32, Windows Formsveya UWPkullanılarak yazılır. Bu çerçevelerin her biri desteklenir ve hata, güvenilirlik ve güvenlik düzeltmeleri almaya devam eder ancak yeni özellikler ve stiller için farklı yatırım düzeyleri sunar. Bu uygulama türleri hakkında daha fazla bilgi için aşağıdaki sekmelere bakın.

Win32 masaüstü uygulamaları (bazen klasik masaüstü uygulamalarıolarak da adlandırılır), Windows ve donanıma doğrudan erişim gerektiren yerel Windows uygulamaları için özgün uygulama türüdür. Bu erişim, Win32'yi en yüksek performans düzeyine ve sistem donanımına doğrudan erişime ihtiyaç duyan uygulamalar için uygulama türü yapar.

C++ ile Win32 API'sini kullanarak en yüksek performans ve verimlilik düzeylerini elde edebilirsiniz. WinRT ve .NET gibi yönetilen bir çalışma zamanı ortamında mümkün olandan daha fazla yönetilmeyen kodla hedef platformun denetimini alırsınız. Ancak, uygulamanızın yürütülmesi üzerinde böyle bir denetim düzeyi uygulamak, doğru olanı yapmak için daha fazla özen ve dikkat gerektirir ve çalışma zamanı performansı için geliştirme üretkenliğini takas eder.

Win32 API ve C++ uygulamasının yüksek performanslı uygulamalar oluşturmanıza olanak tanımak için sunduğu özelliklerden birkaçı aşağıda verilmiştir.

  • Kaynak ayırma, nesne yaşam süreleri, veri düzeni, hizalama, bayt paketleme ve daha fazlası üzerinde sıkı denetim de dahil olmak üzere donanım düzeyinde iyileştirmeler.
  • İç işlevler aracılığıyla SSE ve AVX gibi performans odaklı yönerge kümelerine erişim.
  • Şablonları kullanarak verimli, tür açısından güvenli genel programlama.
  • Verimli ve güvenli kapsayıcılar ve algoritmalar.
  • DirectX, özellikle Direct3D ve DirectCompute.
  • Windows Çalışma Zamanı (WinRT) API'lerine birinci sınıf erişime sahip modern masaüstü Win32 uygulamaları oluşturmak için C++/WinRT kullanın.

Ayrıca artık win32 uygulamalarınızla korumalı alan ortamını tümleştirerek ek bir güvenlik katmanı sağlayabilirsiniz. Yeni Win32 Uygulama Yalıtımı güvenlik özelliği sayesinde bu geliştirme kodunuzda çok az değişiklik yapılmasını gerektirir.

Win32 kullanmaya başlama

Ayrıca Windows Uygulama SDK'sıtarafından sağlanan modern Windows platformu özelliklerine ve API'lerine de erişebilirsiniz. Daha fazla bilgi için bkz. Var olan bir projede Windows Uygulama SDK'sını kullanma ve masaüstü uygulamalarınızı modernleştirme .

Diğer platformlar arası seçenekler

Uygulamanızın platformlar arası olması gerekiyorsa, React Native for Desktop'a ek olarak .NET MAUI, Blazor Hybrid veya Aşamalı Web Uygulaması (PWA) kullanmayı göz önünde bulundurun. Diğer birçok seçenek de mevcuttur (popüler seçeneklerin listesi buradadır), ancak bu seçenekler iyi başlangıç noktalarıdır.

.NET MAUI, Windows üzerinde WinUI'nin gücünden yararlanırken diğer işletim sistemlerinde yürütmeyi de etkinleştirir. Blazor Hybrid, masaüstü ve mobil yerel istemci çerçevelerini .NET ve Blazor ile harmanlar. Diğer bir platformlar arası seçenek olan Aşamalı Web Uygulamaları (PWA'lar), tarayıcılardaki normal web siteleri gibi çalışırken Windows'da ve desteklenen diğer platformlarda yüklü, yerel uygulamalar gibi çalışan web siteleridir.

Daha fazla bilgi için aşağıdaki sekmelere bakın.

.NET Çok platformlu Uygulama Kullanıcı Arabirimi (MAUI), Android, iOS, macOS ve Windows uygulamaları oluşturmaya yönelik açık kaynaklı, platformlar arası bir çerçevedir. .NET MAUI ile her platformun yerel kullanıcı arabiriminden ve hizmetlerinden tek bir .NET kod tabanından yararlanabilirsiniz. .NET MAUI, platform yerel deneyimlerini tercih ettiğinden, uygulamaların Windows'ta en son kullanıcı deneyimini elde edebilmesi için WinUI ve Windows Uygulama SDK'sını kullanır. Bu yaklaşım, uygulamalarınıza WinUI ile elde ettiğiniz her şeye ve diğer platformlara erişme olanağı sağlar.

Windows için .NET MAUI, şu durumda harika bir seçimdir:

  • Mobil ve masaüstü uygulamalarında mümkün olduğunca çok .NET kodu paylaşmak istiyorsunuz.
  • Yerel platform deneyimleriyle uygulamanızı Windows'un ötesinde diğer masaüstü ve mobil hedeflere göndermek istiyorsunuz.
  • Platformlar arası uygulamalar oluşturmak için C# ve/veya XAML kullanmak istiyorsunuz.
  • Blazor'ı web geliştirme için kullanıyor ve bunların tümünü veya bir bölümünü bir mobil veya masaüstü uygulamasına dahil etmek istiyorsanız.

.NET MAUI kullanmaya başlama

.NET MAUI hakkında daha fazla bilgi için aşağıdaki bağlantılara bakın:

Uygulama geliştirme çerçevesi özellik karşılaştırması

Windows için uygulama geliştirmek için birçok seçeneğiniz vardır. Sizin için en iyi seçenek, uygulama gereksinimlerinize, mevcut kodunuza ve teknolojiye aşina olmanıza bağlıdır. Aşağıdaki tabloda, Windows'ta kullanılabilen en popüler uygulama geliştirme çerçeveleri ve her çerçeve tarafından desteklenen özellikler listelenmektedir.

Özellik .NET MAUI Blazor Hibrit Masaüstü için React Native UWP XAML (Windows.UI.Xaml) Win32 (MFC veya ATL) Windows Forms WinUI 3 WPF (Windows Presentation Foundation)
Dil C# (programlama dili) C# (programlama dili) JavaScript, TypeScript C#, C++, Visual Basic C++, Pas C#, Visual Basic C#, C++ C#, Visual Basic
kullanıcı arabirimi dili XAML/Kod Jilet JSX (Türkçe) XAML Kod Kod XAML XAML
kullanıcı arabirimi tasarımcısı
(& bırakın)
Desteklenmiyor Desteklenmiyor Desteklenmiyor Destekleniyor Desteklenmiyor Destekleniyor Desteklenmiyor Destekleniyor
kullanıcı arabirimi hata ayıklama Çalışırken Yeniden Yükleme Çalışırken Yeniden Yükleme hızlı yenileme Çalışırken Yeniden Yükleme - Çalışırken Yeniden Yükleme Çalışırken Yeniden Yükleme Çalışırken Yeniden Yükleme
Akıcı Tasarım Destekleniyor Destekleniyor Destekleniyor Desteklenir ( WinUI 2 aracılığıyla) Desteklenmiyor Desteklenmiyor Destekleniyor Desteklenmiyor
.NET .NET .NET YOK .NET Core ve .NET Native YOK .NET ve .NET Framework .NET .NET ve .NET Framework
Windows Uygulama SDK'sı Desteklenir (daha fazla bilgi) MAUI aracılığıyladesteklenir Desteklenir (daha fazla bilgi) Desteklenmiyor Destekleniyor Desteklenir (daha fazla bilgi) Destekleniyor Desteklenir (daha fazla bilgi)
Dokunmatik için harika Destekleniyor Destekleniyor Destekleniyor Destekleniyor Desteklenmiyor Desteklenmiyor Destekleniyor Desteklenmiyor
Çok platformlu Destekleniyor Destekleniyor Destekleniyor Desteklenmiyor Desteklenmiyor Desteklenmiyor Desteklenmiyor Desteklenmiyor
Xbox/HoloLens uygulamaları Desteklenmiyor Desteklenmiyor Destekleniyor Destekleniyor Desteklenmiyor Desteklenmiyor Desteklenmiyor Desteklenmiyor
Sandboxing (Uygulama Kabı) Desteklenmiyor Desteklenmiyor Destekleniyor Destekleniyor Desteklenmiyor Desteklenmiyor Desteklenmiyor Desteklenmiyor
Şu anda desteklenen Destekleniyor Destekleniyor Destekleniyor Destekleniyor Destekleniyor Destekleniyor Destekleniyor Destekleniyor
Güncelleştirmeleri alma Destekleniyor Destekleniyor Destekleniyor Destekleniyor (güvenlik ve hata düzeltme) Destekleniyor Destekleniyor Destekleniyor Destekleniyor
Yol Haritası GitHub GitHub GitHub Yok Yok GitHub GitHub GitHub

Bu seçeneklerin her biri hakkında daha fazla bilgi edinin:

Sonraki adımlar

  • Windows için uygulama geliştirmeye başlamak için WinUI kullanma

    WinUI, Windows uygulamaları için önerilen platformdur. Bu adımlar hızlı bir şekilde başlamanızı sağlar.

  • Windows'da geliştirme ortamınızı ayarlama

    Windows yalnızca Windows üzerinde çalışan uygulamalar geliştirmek için harika değildir. Ayrıca herhangi bir platform için uygulama geliştirmeye yönelik güçlü bir ortamdır. Geliştirmenizi en üst düzeye çıkarmak için kullanılabilen araçlar ve seçenekler hakkında daha fazla bilgi edinin.