Fitur Windows modern untuk aplikasi desktop

Anda tidak perlu menulis ulang aplikasi WPF, Formulir Windows, atau Win32 untuk memanfaatkan fitur Windows modern. Platform SDK Aplikasi Windows dan Windows yang lebih luas menawarkan kemampuan modular yang dapat Anda adopsi secara bertahap, dengan kecepatan Anda sendiri.

Artikel ini memperkenalkan tiga pendekatan modernisasi independen—memanggil API Windows Runtime (WinRT), menambahkan SDK Aplikasi Windows, dan mengadopsi kemasan MSIX—sehingga Anda dapat memutuskan fitur mana yang akan ditambahkan dan tempat memulai berdasarkan kerangka kerja aplikasi Anda.

Migrasi kerangka kerja UI ke WinUI 3

Jika tujuan Anda adalah untuk sepenuhnya memodernisasi lapisan UI aplikasi Anda, sebaiknya migrasikan ke WinUI 3 — kerangka kerja UI asli untuk aplikasi desktop Windows. Lihat Membuat aplikasi WinUI 3 pertama Anda untuk memulai.

Jika Anda ingin menambahkan fitur Windows ke kerangka kerja aplikasi yang ada (WPF, Formulir Windows, atau C++ Win32) tanpa mengubah lapisan UI Anda, gunakan salah satu pendekatan modernisasi yang dijelaskan dalam artikel ini.

Note

Artikel ini membahas penambahan fitur Windows modern ke aplikasi desktop Anda yang sudah ada. Jika Anda ingin memodernisasi rantai alat .NET atau pengompilasi C++, lihat peningkatan GitHub Copilot atau panduan porting dan peningkatan Microsoft C++.

Pendekatan modernisasi

Tiga pendekatan modernisasi bersifat independen. Anda dapat menggunakan satu, dua, atau ketiganya di aplikasi yang sama.

Approach Apa yang diberikannya kepada Anda Membutuhkan kemasan?
API WinRT Akses langsung ke API platform Windows (pemberitahuan, Bluetooth, kontrak berbagi, sensor, dan lainnya) dari aplikasi desktop .NET atau C++ apa pun Tidak, untuk sebagian besar API
SDK Aplikasi Windows Paket NuGet yang menghadirkan fitur pengembangan Windows modern (windowing, penyajian teks, sumber daya, dan lainnya) ke aplikasi yang ada Tidak, untuk sebagian besar fitur
Kemasan MSIX Penginstal modern dengan pencopotan yang bersih, pembaruan otomatis, dan identitas paket; tidak memerlukan perubahan pada kode sumber N/A — pengemasan adalah pendekatan

Tip

Mulailah dengan API WinRT jika Anda ingin memanggil API platform Windows tertentu. Tambahkan SDK Aplikasi Windows saat Anda memerlukan fiturnya (DWriteCore, MRT Core, windowing). Tambahkan kemasan MSIX saat Anda memerlukan identitas paket atau ingin memodernisasi alat penginstal Anda.

API WinRT

API Windows Runtime (WinRT) mengekspos fitur platform Windows seperti pemberitahuan aplikasi, kontrak berbagi, Bluetooth, dan banyak lagi. Anda dapat memanggil API ini langsung dari aplikasi WPF, Formulir Windows, dan C++ Win32.

SDK Aplikasi Windows

SDK Aplikasi Windows memberikan fitur pengembangan Windows modern sebagai paket NuGet yang Anda tambahkan ke proyek yang ada. Anda tidak perlu mengubah kerangka kerja UI Anda.

Kemasan MSIX dan identitas paket

Kemasan MSIX menggantikan alat penginstal yang ada dan memberikan identitas paket aplikasi Anda. Beberapa fitur Windows — termasuk tugas latar belakang, tugas startup, asosiasi file, dan Windows AI Foundry — memerlukan identitas paket saat runtime. Jika Anda ingin tetap menggunakan penginstal yang sudah ada, Anda masih dapat memberikan identitas paket tanpa pemaketan MSIX lengkap — pendekatan yang terkadang disebut pemaketan dengan lokasi eksternal atau paket sparse.

Titik awal khusus kerangka kerja

Tabel berikut mencantumkan titik awal yang direkomendasikan untuk setiap kerangka kerja aplikasi desktop.

Kerangka kerja Anda Titik awal yang direkomendasikan
WPF Menggunakan SDK Aplikasi Windows dalam proyek yang sudah ada
Formulir Windows Menggunakan SDK Aplikasi Windows dalam proyek yang sudah ada
C++ Win32 Menggunakan SDK Aplikasi Windows dalam proyek yang sudah ada
C++/WinRT API WinRT untuk aplikasi desktop

Katalog fitur untuk modernisasi aplikasi desktop

Tabel berikut mencantumkan fitur modernisasi umum dan apakah masing-masing memerlukan identitas SDK Aplikasi Windows atau paket.

AI

Feature SDK Aplikasi Windows diperlukan? Identitas paket diperlukan?
Windows AI Foundry No Yes

UI dan teks

Feature SDK Aplikasi Windows diperlukan? Identitas paket diperlukan?
Komponen WinUI 3 di aplikasi desktop Yes No
Menghost kontrol WinUI dengan XAML Islands Yes No
Merender teks dengan DWriteCore Yes No
Menerapkan Mica atau Acrylic ke aplikasi Win32 No No
Menerapkan sudut bulat No No
Menerapkan tema Windows No No

Siklus hidup aplikasi

Feature SDK Aplikasi Windows diperlukan? Identitas paket diperlukan?
Tugas latar belakang (SDK Aplikasi Windows) Yes Yes
Tugas pemula sistem No Yes

integrasi Windows

Feature SDK Aplikasi Windows diperlukan? Identitas paket diperlukan?
Integrasi lembar berbagi No No
API Pengguna Lintas Perangkat No No
Asosiasi file No Yes
Windows Widget No Yes

Keamanan

Feature SDK Aplikasi Windows diperlukan? Identitas paket diperlukan?
Loker Kredensial No No
OAuth 2.0 No No
Biometrik sidik jari No No
Kartu pintar No No
Kriptografi No No

Resources

Feature SDK Aplikasi Windows diperlukan? Identitas paket diperlukan?
Manajemen sumber daya MRT Core Yes No

Untuk daftar lengkap fitur platform yang tersedia di aplikasi desktop, lihat gambaran umum platform aplikasi Windows.

Modernisasi yang dibantu AI

Pemutakhiran GitHub Copilot dapat menilai dan memutakhirkan proyek desktop .NET yang didukung. Untuk adopsi fitur Windows yang dibantu AI dan migrasi UI, lihat Modernisasi yang dibantu AI.