Aracılığıyla paylaş


Çerçeve seçeneklerine genel bakış

Bu makale, Windows için uygulama oluşturmaya 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

.

WinUI ve Windows Uygulama SDK'sının harika görünen uygulamalar oluşturmasını ve en son Windows sürümlerinden yararlanmasını öneririz. 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ı ve Windows 10, sürüm 1809'a alt düzey ile tutarlı bir şekilde kullanılabilen 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. Windows için daha önce uygulama geliştirdiyseniz ancak mevcut bir uygulamada Windows Uygulama SDK'sını kullanmaya başlamak istiyorsanız bkz. Framework'e özgü kılavuzlar.

Masaüstü için React Native

React Native, platformlar arası uygulamalar oluşturmaya olanak tanıyan bir geliştirme platformudur. React Native for Desktop, Windows ve macOS için React Native'i kapsar 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. Buna bilgisayarlar, tabletler, 2'leri bir arada cihazlar, Xbox, Karma Gerçeklik cihazları vb. dahildir.

Masaüstü için React Native ile uygulama kodunuzun çoğunu veya tamamını JavaScript veya TypeScript'te yazarsınız ve çerçeve yerel bir UWP XAML uygulaması oluşturur. Uygulamanızın bir platform API'sini çağırması gerekiyorsa, bunu genelliklebirçok topluluk modülünden biri aracılığıyla yapabilirsiniz veya henüz bir modül yoksa,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 ile ilgili deneyiminiz ve tercihleriniz var
  • npmjs.comüzerinde yalnızca JavaScript ile çalışan kitaplıklardan ve aynı zamanda birçok yerel kitaplıktan yararlanmak istiyorsunuz.
  • Uygulamanız yerel denetimleri, görsel görünümü, animasyonları ve renkleri kullanır ve bu nedenle Windows'ta kullanılan tasarım diliyle tümleştirilmiş hissedecektir. Buna ek olarak, React Native for Desktop uygulamalarının çağırabilecekleri API kümesinden ödün vermesi gerekmez, çünkü çerçeve platform API'lerini çağırmanıza ve kendi görünüm yöneticilerinizi ve yerel modüllerinizi yazmanıza olanak tanır.
  • 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

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 yaptıysanı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 alır. 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, 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.

Win32 API'sini C++ ile kullanmak, WinRT ve .NET gibi yönetilen bir çalışma zamanı ortamına kıyasla, yönetilmeyen kod ile hedef platform üzerinde daha fazla kontrol sahibi olarak en yüksek performans ve verimlilik düzeylerine ulaşmayı mümkün kılar. 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++'ı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, Masaüstü için React Native'e ek olarak, .NET MAUI veya Progresif Web Uygulaması (PWA)düşünmelisiniz. Başka birçok seçenek daha vardır (popüler seçeneklerin bir listesi) ancak bunlar bazı 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. 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), tek bir .NET kod tabanından her platformun yerel kullanıcı arabiriminden ve hizmetlerinden yararlanan Android, iOS, macOS ve Windows uygulamaları oluşturmaya yönelik açık kaynaklı, platformlar arası bir çerçevedir. .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, uygulamalarınıza WinUI ile elde ettiğiniz her şeye erişmenin yanı sıra diğer platformlara ulaşma 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.
  • Uygulamanızı yerel platform deneyimleriyle 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ıyorsunuz ve bunların tümünü veya bir bölümünü bir mobil veya masaüstü uygulamasına eklemek istiyorsunuz.

.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 çok çeşitli seçenekler 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 Hybrid Masaüstü için React Native UWP XAML (Windows.UI.Xaml) Win32 (MFC veya ATL) Windows Forms WinUI 3 WPF
Dil C# C# JavaScript, TypeScript C#, C++, Visual Basic C++, Rust C#, Visual Basic C#, C++ C#, Visual Basic
kullanıcı arabirimi dili XAML/Kod Jilet JSX XAML Kod Kod XAML XAML
kullanıcı arabirimi tasarımcısı
(& bırakın)
kullanıcı arabirimi hata ayıklama Çalışırken Yeniden Yükleme Anında Yeniden Yükleme hızlı yenileme Anında Yeniden Yükleme - Anında Yeniden Yükleme Çalışırken Yeniden Yükleme Anlık Yeniden Yükleme
Fluent Design ✅ (WinUI 2aracılığıyla)
.NET .NET .NET YOK .NET Core & .NET Native YOK .NET & .NET Framework .NET .NET & .NET Framework
Windows Uygulama SDK'sı ✅ (daha fazla bilgi) MAUI aracılığıyla ✅ (daha fazla bilgi) ✅ (daha fazla bilgi) ✅ (daha fazla bilgi)
Dokunmatik için harika
Çok platformlu
Xbox/HoloLens uygulamaları
Sandboxing (Uygulama Kabı)
Şu anda desteklenen
Güncelleştirmeleri alma ✅ (güvenlik & hata düzeltmesi)
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 platformumuzdur ve bu adımlar hızlı bir şekilde başlamanıza yardımcı olur.

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

    Windows yalnızca Windows üzerinde çalışan uygulamalar geliştirmek için mükemmel değildir, aynı zamanda 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.