Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
FAQ ini memberikan jawaban atas pertanyaan umum tentang pengembangan aplikasi Windows, termasuk panduan tentang memilih kerangka kerja yang tepat untuk proyek Anda. Topik yang dibahas meliputi:
- Memulai dan lanskap pengembangan aplikasi Windows.
- Pengembangan aplikasi khusus Windows asli dengan WinUI 3, Windows Presentation Foundation (WPF), dan Formulir Windows (WinForms).
- Windows Software Development Kit (SDK) dan SDK Aplikasi Windows.
- Menargetkan Windows sebagai bagian dari strategi pengembangan lintas platform Anda.
- Pengembangan aplikasi hibrid dan web dengan .NET MAUI, Blazor, dan ASP.NET Core.
- Cara memilih pendekatan sambil memahami investasi Microsoft.
lanskap pengembangan aplikasi Windows
Di mana saya dapat menemukan gambaran umum langsung tentang teknologi pengembangan Windows?
Untuk gambaran umum tentang opsi hari ini untuk pengembang Windows, tonton episode Windows Dev Chat Memilih platform dev ideal Anda, yang membahas WinUI 3, .NET MAUI, React Native, Blazor, dan Progressive Web Apps (PWAs). Anda dapat menemukan episode lain di daftar putar Windows Dev Chat.
Anda juga dapat merujuk ke ringkasan opsi pengembangan aplikasi untuk pengembang Windows.
Mengapa pengembangan aplikasi klien masih penting untuk transformasi digital modern di era layanan cloud?
Di era layanan cloud, pengembangan aplikasi klien tetap penting untuk memberikan interaksi yang responsif dan bermakna pada perangkat pengguna.
Inilah mengapa aplikasi klien penting:
- Jangkauan perangkat: Aplikasi klien memungkinkan Anda membawa aplikasi Anda langsung ke pengguna di perangkat pilihan mereka.
- Gateway ke Layanan Cerdas: aplikasi klien sering kali merupakan interaksi pertama yang dimiliki pengguna dengan layanan Anda. Mereka menawarkan antarmuka interaktif yang kaya yang memungkinkan Anda menampilkan fitur cerdas dan membedakan produk Anda dari orang lain.
- Skalabilitas dengan Integrasi Cloud: Aplikasi klien yang terintegrasi dengan baik dapat disinkronkan dengan mudah dengan layanan cloud di backend, memungkinkan akses data secara real-time dan skalabilitas yang mulus saat basis pengguna Anda bertambah.
- Peningkatan Produktivitas dan Loyalitas Pengguna: Aplikasi yang dirancang dengan cermat dapat meningkatkan produktivitas dan menjaga pengguna tetap terlibat dengan produk atau layanan Anda dari waktu ke waktu.
Pengembangan aplikasi khusus Windows asli
Apa itu SDK Aplikasi Windows?
SDK Aplikasi Windows menyediakan komponen yang dilayankan secara independen untuk aplikasi desktop Windows, termasuk WinUI 3, siklus hidup aplikasi, jendela, pemberitahuan, sumber daya, dan API teks. Ini mendukung aplikasi yang berjalan pada Windows 10, versi 1809 dan yang lebih baru, tunduk pada siklus hidup dukungan rilis Windows dan versi SDK Aplikasi Windows.
Apa perbedaan antara SDK Aplikasi Windows dan SDK Windows?
Keduanya adalah kit pengembangan perangkat lunak (SDK) yang memungkinkan Anda membangun aplikasi Windows.
SDK Aplikasi Windows menyediakan komponen yang dikirim secara independen dari Windows dan bekerja di seluruh rilis Windows yang didukung hingga Windows 10 versi 1809. Ini termasuk WinUI 3 dan API untuk siklus hidup aplikasi, jendela, pemberitahuan, sumber daya, teks, dan kemampuan lainnya.
SDK Windows menyediakan header, pustaka, metadata, dan alat untuk API sistem operasi seperti kemampuan Win32, WinRT, COM, DirectX, perangkat, dan shell.
SDK Aplikasi Windows tidak menggantikan SDK Windows. Aplikasi yang mengadopsi SDK Aplikasi Windows dapat terus menggunakan API SDK Windows, dan aplikasi WinUI 3 yang biasanya menggunakan keduanya.
Saya sedang membangun tim baru untuk mengembangkan aplikasi khusus Windows. Mengapa saya harus memilih untuk mengembangkan dengan kerangka kerja Windows asli seperti WinUI 3, WPF, atau WinForms?
Berikut adalah beberapa alasan untuk memilih kerangka kerja Windows asli untuk aplikasi Windows-saja Anda:
- Performance: Kerangka kerja Windows asli dioptimalkan untuk memanfaatkan perangkat keras Windows modern, memberikan pengalaman pengguna yang cepat dan responsif.
- Integration: Windows dilengkapi dengan berbagai API yang memungkinkan pengalaman canggih yang hanya tersedia di Windows. Kerangka kerja asli menyediakan integrasi mendalam dengan fitur dan API ini.
- Pengalaman pengguna asli: Kerangka kerja asli memberikan pengalaman yang konsisten di seluruh perangkat Windows, memastikan bahwa aplikasi Anda terlihat dan berfungsi dengan baik di mana saja.
- Dukungan offline: Kerangka kerja asli mendukung skenario offline, memungkinkan aplikasi berfungsi bahkan tanpa konektivitas internet.
- Dukungan dan alat: Microsoft mempertahankan kerangka kerja asli dan menyediakan SDK, dokumentasi, alat penelusuran kesalahan, dan sampel saat ini.
Kerangka kerja yang harus saya gunakan untuk memanfaatkan investasi terbaru Microsoft dalam pengembangan aplikasi Windows?
Jika Anda membangun aplikasi desktop Windows tujuan umum baru, sebaiknya gunakan WinUI 3. WinUI 3 adalah kerangka kerja UI asli yang dikirimkan dengan SDK Aplikasi Windows. Ini mendukung aplikasi desktop Windows dan menyediakan akses ke kontrol Fluent saat ini dan kemampuan platform Windows.
Dapatkah saya menggunakan SDK Aplikasi Windows / WinUI 3 di aplikasi Windows saya yang ada?
Perhatikan bahwa WinUI 3 (kerangka kerja UI) dikirim dengan SDK Aplikasi Windows (kerangka kerja pengembangan platform Windows).
Anda dapat memigrasikan UI aplikasi ke WinUI 3, atau menggunakan Kepulauan WinUI XAML untuk menghosting kontrol SDK Aplikasi Windows di host desktop yang ada yang didukung. Sistem warisan XAML Islands menghosting kontrol XAML UWP dan menggunakan API yang berbeda.
Elemen SDK Aplikasi Windows sering dapat digunakan di aplikasi desktop, tergantung pada bagaimana aplikasi yang ada dibuat. Aplikasi UWP tidak didukung oleh SDK Aplikasi Windows.
Ini berarti aplikasi WPF/MFC/WinForms dapat menggunakan API SDK Aplikasi Windows yang tidak terkait dengan WinUI 3. Contohnya termasuk siklus hidup aplikasi, windowing, dan pemberitahuan aplikasi.
Lihat Gunakan SDK Aplikasi Windows dalam proyek yang sudah ada untuk informasi selengkapnya.
Apakah saya perlu menggunakan Visual Studio untuk membangun aplikasi WinUI 3?
Tidak. Build WinUI 3 XAML menggunakan MSBuild, tetapi Anda juga dapat melakukan build dengan .NET SDK dan templat WinUI 3 terkini melalui baris perintah di editor lain. Lihat panduan mulai cepat baris perintah.
Visual Studio 2026 memberikan pengalaman pengeditan, penelusuran kesalahan, pembuatan profil, dan Hot Reload XAML terintegrasi terkaya. Gunakan alur kerja yang sesuai dengan persyaratan peralatan Anda.
I mendapatkan kesalahan "Tidak dapat memuat DLL 'Microsoft.ui.xaml.dll'" saat menjalankan aplikasi saya. Bagaimana cara memperbaikinya?
Kesalahan ini biasanya terjadi dalam skenario aplikasi unpackaged di mana runtime SDK Aplikasi Windows belum diinstal pada komputer. Cobalah langkah-langkah berikut:
- Jika Anda menjalankan aplikasi paket (default yang disarankan), pastikan Anda meluncurkan melalui Visual Studio dengan profil peluncuran MsixPackage dipilih (bukan profil yang dapat dieksekusi biasa). Langkah pengemasan MSIX menginstal komponen runtime yang diperlukan.
- Jika Anda menjalankan aplikasi tak dipaketkan yang bergantung pada kerangka kerja, instal runtime SDK Aplikasi Windows yang sesuai. Penyebaran mandiri mencakup dependensi SDK Aplikasi Windows.
- Konfirmasikan bahwa proyek Anda cocok dengan model penyebaran Anda. Untuk aplikasi .NET normal yang tidak dikemas, menetapkan
<WindowsPackageType>None</WindowsPackageType>mengaktifkan inisialisasi otomatis runtime SDK Aplikasi Windows. Gunakan API bootstrapper secara langsung hanya ketika Anda memerlukan kontrol eksplisit atas inisialisasi dependensi dinamis.Lihat aplikasi Deploy yang menggunakan SDK Aplikasi Windows untuk detail selengkapnya tentang persyaratan penyebaran.
Apa perbedaan antara WinUI 3 dan WinUI 2 untuk UWP?
WinUI 3 adalah kerangka kerja UI asli Microsoft saat ini untuk aplikasi desktop Windows dan dikirimkan sebagai bagian dari SDK Aplikasi Windows.
WinUI 2, juga disebut WinUI untuk UWP, adalah pustaka kontrol dan gaya untuk aplikasi UWP. WinUI 2 dan WinUI 3 menggunakan namespace XAML yang berbeda dan tidak kompatibel dengan biner.
Saat saya membuat aplikasi menggunakan SDK Aplikasi Windows dan WinUI 3, apakah saya membangun "aplikasi WinUI"?
Ya. Aplikasi WinUI 3 adalah istilah terjelas untuk aplikasi yang UI-nya menggunakan WinUI 3 dan SDK Aplikasi Windows. Aplikasi WinUI juga umumnya digunakan ketika konteksnya tidak ambigu.
Dapatkah saya memperbarui aplikasi UWP saya secara bertahap dengan WinUI untuk kontrol UWP ke WinUI 3 dengan secara bertahap mengganti kontrol?
Tidak. SDK Aplikasi Windows tidak dapat digunakan dalam aplikasi UWP, dan WinUI untuk UWP tidak dapat dicampur dengan WinUI 3. Lihat Migrate dari UWP ke SDK Aplikasi Windows.
Seberapa sulit untuk memigrasikan aplikasi UWP ke WinUI 3?
UWP dan WinUI 3 berbagi banyak konsep XAML, tetapi migrasi bukanlah perubahan namespace langsung. Biayanya terutama tergantung pada:
- Project file dan penyesuaian MSBuild: Upaya migrasi bervariasi tergantung pada penggunaan MSBuild tingkat lanjut.
- .NET migrasi API: Aplikasi UWP menggunakan .NET Native dapat berpindah ke rilis .NET yang saat ini didukung dengan Native AOT. Modernisasi ini terpisah dari migrasi UI ke WinUI 3.
- Pustaka komponen UI: Pustaka harus memiliki versi yang menargetkan WinUI 3.
- API windowing dan model aplikasi: API UWP terkait dengan konsep seperti
CoreWindow, ,ApplicationViewatauGetForCurrentViewmemerlukan penggantian SDK Aplikasi Windows atau pendekatan desktop lainnya.- Proyeksi bahasa C++: Jika aplikasi UWP menggunakan proyeksi C++/CX yang digantikan, port kode tersebut ke C++/WinRT.
Untuk informasi selengkapnya, lihat Beralih dari UWP ke SDK Aplikasi Windows dan pemetaan API dari UWP ke SDK Aplikasi Windows.
Jika saya memiliki aplikasi UWP yang sudah ada di Store, dapatkah saya menerbitkan aplikasi WinUI 3 paket baru menggunakan pengidentifikasi yang sama?
Ya, aplikasi yang ditingkatkan dapat diterbitkan tanpa memperbarui identitas aplikasi. Pengguna versi lama akan diperbarui ke versi baru. Ini hanya berlaku untuk aplikasi desktop. aplikasi Xbox, HoloLens, dan hub Surface standar tidak dapat bermigrasi ke WinUI 3.
Bagaimana cara mengemas atau mendistribusikan aplikasi WinUI 3 saya?
Lihat Gambaran Umum Penyebaran.
Apakah saya dapat menemukan panduan migrasi SDK Aplikasi Windows?
Apakah saya perlu menggunakan markup XAML jika saya ingin menggunakan WinUI 3?
Tidak. Kontrol UI dapat dibuat dalam kode. Namun, mewakili UI dalam markup XAML deklaratif memberikan banyak manfaat, termasuk pengalaman pengembang yang ditingkatkan.
- Migrasi dari UWP ke WinUI 3: Banyak konsep XAML dan UI yang dibawa, tetapi namespace, model proyek, dan beberapa API berbeda.
- Migrasi dari WPF ke WinUI 3: Banyak konsep yang dibawa, tetapi set kontrol dan API berbeda.
Apakah Visual Studio memiliki permukaan desain atau desainer UI untuk WinUI 3?
Tidak saat ini. Gunakan XAML Hot Reload, Live Visual Tree, Live Property Explorer, dan alat runtime terkait untuk memeriksa dan memperbarui XAML saat aplikasi berjalan.
Untuk panduan lengkap alat desain runtime yang tersedia untuk WinUI 3, lihat Alat desain runtime XAML untuk WinUI 3.
Apakah SDK Aplikasi Windows menyertakan WinUI 3?
Ya. WinUI 3 disertakan sebagai bagian dari SDK Aplikasi Windows.
Does SDK Aplikasi Windows menyertakan WinUI untuk UWP?
Tidak. WinUI untuk UWP adalah bagian dari platform UWP.
Apakah WinUI untuk UWP dan WinUI 3 dibangun di atas teknologi yang sama?
Tidak sepenuhnya benar. Meskipun WinUI 3 dimulai dari WinUI untuk basis kode UWP, mereka adalah teknologi yang berbeda. Keduanya adalah kerangka kerja UI berbasis XAML yang berfungsi di .NET dan C++, tetapi WinUI untuk UWP dan WinUI 3 tidak kompatibel satu sama lain.
Dapatkah saya menggunakan WinUI 3 tanpa menggunakan SDK Aplikasi Windows?
Tidak. WinUI 3 disertakan sebagai bagian dari SDK Aplikasi Windows.
Dapatkah saya menggunakan WinUI 3 di aplikasi yang tidak dikemas?
Ya. WinUI 3 dan banyak API SDK Aplikasi Windows berfungsi di aplikasi yang tidak dikemas. Namun, beberapa kemampuan Windows memerlukan identitas paket, dan aplikasi yang tidak dipaket tergantung kerangka kerja harus menginisialisasi runtime SDK Aplikasi Windows. Bandingkan opsi dalam Ringkasan Kemasan dan Fitur yang memerlukan identitas paket.
Apa perbedaan antara Kepulauan XAML dan WinUI 3?
WinUI 3 adalah kerangka kerja UI yang disertakan dalam SDK Aplikasi Windows. Kepulauan XAML adalah teknik hosting yang memungkinkan aplikasi desktop yang ada menempatkan konten XAML bersama UI dari kerangka kerja lain.
Istilah ini dapat merujuk ke sistem warisan Kepulauan XAML yang menghosting kontrol XAML UWP, atau ke Kepulauan WinUI XAML yang menghosting kontrol SDK Aplikasi Windows di host desktop yang didukung. API, namespace, dan persyaratan host berbeda.
Jika saya membuat aplikasi WinUI 3, apakah akan terlihat modern di Windows 11 dan Windows 10?
Kontrol WinUI 3 menggunakan gaya Fluent pada versi Windows 10 dan Windows 11 yang didukung, di aplikasi yang dikemas dan tidak dikemas. Beberapa efek dan perilaku sistem operasi berbeda menurut versi Windows. Misalnya, Mica tersedia di Windows 11 dan kembali ke warna solid pada Windows 10.
Bisa saya menggunakan latar belakang Mica atau Acrylic di aplikasi yang dibangun dengan SDK Aplikasi Windows?
Ya. Desktop Acrylic didukung pada Windows 10, versi 1809 dan yang lebih baru. Mica memerlukan Windows 11 dan akan menggunakan warna tema polos di Windows 10. Panggil
MicaController.IsSupportedatauDesktopAcrylicController.IsSupportedsaat runtime sebelum menerapkan latar belakang. Lihat materi Apply Mica atau Acrylic di aplikasi desktop untuk Windows 11.
Di mana saya dapat menemukan sampel WinUI 3?
Lihat Sampel dan sumber daya. Beberapa repositori penting:
- WindowsAppSDK-Samples: Menunjukkan cara menggunakan set API SDK Aplikasi Windows tertentu.
- Sampel Windows khusus topik: Berisi sampel yang digunakan dalam tutorial Membuat aplikasi catatan WinUI 3.
- Galeri WinUI 3: Menampilkan WinUI dan SDK Aplikasi Windows. Juga tersedia di Microsoft Store.
Jika saya telah banyak berinvestasi di WPF, haruskah saya terus menggunakan WPF atau mempertimbangkan untuk bermigrasi ke WinUI 3?
Jika Anda sudah banyak berinvestasi di WPF, Anda dapat terus menggunakannya untuk aplikasi yang ada. WPF adalah kerangka kerja yang matang dan stabil yang banyak digunakan untuk membangun aplikasi desktop Windows.
Gunakan upgrade GitHub Copilot untuk menilai dan memutakhirkan aplikasi WPF .NET Framework ke .NET modern. Tinjau paket yang dihasilkan dan validasi setiap perubahan di aplikasi Anda.
Jika saya membuat aplikasi WPF baru, apakah aplikasi tersebut akan terlihat tanggal dibandingkan dengan aplikasi Windows baru lainnya?
Saat mengembangkan aplikasi WPF dengan .NET 9 atau yang lebih baru, Anda dapat memastikan aplikasi Anda cocok dengan tampilan Windows 11 yang ramping dan modern. Tema Fluent baru untuk WPF memperkenalkan estetika Windows 11 kontemporer, dengan mode Terang/Gelap terintegrasi dan dukungan warna aksen sistem. Ini memodernisasi tampilan aplikasi Anda dan memberikan pengalaman pengguna yang dipolihkan dan kohesif.
Tim saya nyaman membangun aplikasi WinForms, dan sesuai dengan kebutuhan kami. Haruskah kita mempertimbangkan untuk bermigrasi ke WinUI 3 atau kerangka kerja lain?
Jika WinForms memenuhi kebutuhan Anda dan tim Anda nyaman dengan itu, Anda dapat terus menggunakan WinForms untuk aplikasi yang ada. WinForms adalah kerangka kerja yang matang dan stabil yang banyak digunakan untuk pengembangan desktop Windows.
Tim WinForms terus berinvestasi dalam platform. Pekerjaan terbaru dan yang sedang berlangsung meliputi:
- API formulir dan dialog asinkron
- Mode gelap dan dukungan gaya visual
- Aksesibilitas, DPI tinggi, tata letak, dan peningkatan desainer
- Modernisasi Papan klip dan
DataObject
Pengembangan aplikasi native lintas platform
Apa alasan untuk membangun aplikasi lintas platform asli yang menargetkan Windows?
Jika Anda menargetkan pengguna di beberapa platform OS, membangun aplikasi lintas platform dengan .NET MAUI atau React Native dapat menawarkan beberapa manfaat:
- Mencapai: Aplikasi lintas platform menjangkau audiens yang lebih besar di berbagai perangkat dan sistem operasi.
- Penggunaan kembali kode: Menggunakan kembali kode di seluruh platform mengurangi waktu dan biaya pengembangan. Membangun aplikasi terpisah untuk Windows, Android, iOS, dan macOS bisa sangat mahal.
- Pengalaman pengguna yang konsisten: Kerangka kerja lintas platform membantu memberikan tampilan dan nuansa yang konsisten di seluruh platform.
- Integrasi: Aplikasi lintas platform masih dapat diintegrasikan dengan layanan khusus platform untuk memberikan pengalaman yang komprehensif.
Bisa saya yakin bahwa aplikasi .NET MAUI akan berjalan dengan baik di Windows?
Saat Anda membuat aplikasi .NET MAUI untuk Windows, output menggunakan WinUI 3. Selama pengembangan, .NET MAUI menawarkan pengalaman .NET tunggal di seluruh platform, tetapi menghasilkan kode khusus platform di balik layar.
Cara .NET MAUI dapat menyediakan API perangkat asli di setiap platform?
.NET MAUI memberikan pengalaman .NET terpadu di Windows, iOS, Android, dan macOS. Ini menawarkan API lintas platform untuk kemampuan umum seperti penyimpanan, jaringan, dan sensor perangkat. Anda juga dapat memanggil API khusus platform atau menyediakan implementasi khusus untuk setiap platform.
Dapatkah saya mulai dengan WinUI 3, dan kemudian mengintegrasikan .NET MAUI jika saya akhirnya ingin menargetkan skenario lintas platform?
Tidak saat ini. Meskipun .NET MAUI menggunakan WinUI 3 saat berjalan di Windows, tim yang mengharapkan untuk menargetkan beberapa platform harus dimulai dengan .NET MAUI atau React Native untuk Desktop.
Tim kami memiliki keterampilan pengembangan front-end web yang kuat. Haruskah kita mempertimbangkan untuk menggunakan React Native untuk Desktop?
Tim dengan pengalaman pengembangan web yang kuat mungkin ingin mempertimbangkan React Native untuk Desktop. Ini termasuk React Native untuk Windows dan macOS. Dengan pendekatan "Pelajari sekali, tulis di mana saja", keterampilan JavaScript, TypeScript, dan React yang ada dapat digunakan untuk membangun Windows asli dan aplikasi macOS.
React Native for Desktop menerjemahkan UI langsung ke elemen asli, memberikan performa dan kemampuan platform yang setara dengan aplikasi native.
Lihat dokumentasi React Native for Desktop untuk memulai.
Apakah ada perangkat Windows lain yang didukung oleh React Native for Desktop?
React Native for Windows mendukung versi Windows yang tercantum dalam dokumentasi kompatibilitasnya. Verifikasi dukungan keluarga perangkat untuk React Native untuk versi Windows yang Anda targetkan daripada berasumsi bahwa setiap perangkat Windows didukung.
Apa yang harus saya gunakan jika saya ingin membuat aplikasi yang berfungsi di Windows dan Xbox?
Untuk aplikasi Xbox, gunakan UWP dan pertimbangkan batasan UWP khusus Xbox. Untuk pengembangan game, gunakan Kit Pengembangan Game Microsoft.
Apa yang harus saya gunakan jika saya ingin membuat aplikasi yang berfungsi di Windows dan Surface Hub?
Untuk Surface Hub yang menjalankan Ruang Teams standar atau lingkungan Surface Hub, gunakan aplikasi UWP yang memenuhi persyaratan aplikasi Surface Hub. Surface Hub 3 yang dikonfigurasi dengan Windows 11 Pro atau Enterprise dapat menjalankan teknologi aplikasi desktop yang didukung, sehingga UWP bukan satu-satunya opsi dalam konfigurasi tersebut.
Pengembangan hibrid dan web
Apa itu aplikasi hibrid, dan mengapa saya harus mempertimbangkan untuk membuatnya?
Aplikasi hibrid memadukan pengembangan aplikasi web dan native terbaik. Intinya dibangun menggunakan teknologi web seperti HTML, CSS, dan JavaScript, dan dibungkus dalam kontainer asli yang memberikan akses pada fitur dan perangkat keras dari platform asli tertentu. Mereka juga dapat didistribusikan melalui toko aplikasi.
Keuntungan utamanya adalah aplikasi hibrid memungkinkan Anda membuat satu aplikasi yang dapat berjalan di beberapa platform asli dan di web, mengurangi waktu dan biaya pengembangan. Contoh platform pengembangan aplikasi hibrid meliputi:
- Electron untuk aplikasi desktop
- Ionic untuk aplikasi seluler
- .NET MAUI Blazor Hybrid untuk aplikasi lintas platform
Cara saya membangun aplikasi web progresif (PWAs) yang terasa asli di Windows?
Lihat Pengembangan Web pada Windows dan Gambaran Umum Aplikasi Web Progresif.
Apa itu adalah aplikasi hibrid Blazor .NET MAUI?
Dengan .NET MAUI, aplikasi Blazor dapat berjalan secara native di Windows, iOS, Android, dan macOS. Ini memungkinkan Anda membuat aplikasi klien hibrid yang menggabungkan komponen Blazor dan .NET MAUI dalam satu aplikasi klien asli, dengan akses penuh ke kemampuan platform asli.
Pelajari lebih lanjut di ASP.NET Core Blazor Hybrid.
Apakah komponen web dari aplikasi hibrid .NET MAUI perlu dibuat dengan Blazor?
Tidak. Dimulai dengan .NET 9, .NET MAUI menyertakan kontrol HybridWebView yang memungkinkan hosting UI berbasis JavaScript lainnya di dalam aplikasi asli.
Ini memungkinkan Anda untuk menghosting aplikasi Angular, React, Vue, atau HTML/JavaScript lainnya di dalam aplikasi .NET MAUI. Kontrol hibrid menyediakan interop antara C# dan JavaScript, sehingga kode C# dapat memanggil fungsi JavaScript dan sebaliknya.
Dapatkah jenis aplikasi asli lainnya menghosting komponen hibrid Blazor?
Ya. aplikasi WPF dan WinForms juga dapat menghosting komponen hibrid Blazor, memungkinkan penambahan antarmuka pengguna web modern ke aplikasi yang ada. Ini tidak didukung untuk aplikasi WPF atau WinForms yang dibangun di .NET Framework.
Apakah seluruh aplikasi saya harus berupa aplikasi hibrid, atau dapatkah saya mencampur dan mencocokkan komponen asli dan hibrid?
Komponen asli dan hibrid dapat dicampur dalam aplikasi. Misalnya, inti aplikasi dapat dibangun dengan komponen .NET MAUI sementara komponen hibrid menyediakan fungsionalitas tambahan. Hal ini memungkinkan penggabungan performa dan kemampuan komponen asli dengan fleksibilitas dan efisiensi biaya komponen hibrid.
Apa pilihan saya untuk membangun aplikasi web berbasis .NET yang terlihat bagus di browser modern di Windows?
Web apps menawarkan jangkauan terluas dari platform aplikasi klien mana pun. Opsi untuk membuat aplikasi web .NET yang indah meliputi:
- Aplikasi ASP.NET Core dengan Razor Pages
- aplikasi ASP.NET Core MVC
- Aplikasi Blazor ASP.NET Core, dengan opsi model hosting:
- Blazor WebAssembly
- Blazor Server
Model hosting Blazor sekarang dapat dikonfigurasi di tingkat komponen, memungkinkan skenario seperti menghosting komponen Blazor WebAssembly dalam aplikasi Blazor Server.
Lihat dokumentasi ASP.NET Core untuk detail selengkapnya.
Pilih pendekatan dan pahami investasi Microsoft
Ada begitu banyak opsi kerangka kerja untuk membangun aplikasi yang menargetkan Windows! Bagaimana cara memutuskan?
Windows adalah platform terbuka yang mendukung banyak teknologi. Berikut adalah beberapa kriteria yang dapat membantu Anda memilih platform:
- Apakah Anda mengembangkan terlebih dahulu untuk Windows atau untuk lintas platform?
- Bahasa atau keterampilan apa yang sudah Anda miliki — .NET, JavaScript, sesuatu yang lain?
- Apakah Anda memerlukan akses ke API khusus Windows?
- Kemampuan kerangka kerja mana yang paling sesuai dengan persyaratan aplikasi Anda?
- Lihat tabel ini untuk faktor perbandingan tambahan.
Untuk banyak aplikasi bisnis, tim sering memilih berdasarkan keterampilan yang ada dan apa yang paling nyaman digunakan oleh tim.
Bagaimana cara memilih pendekatan pengembangan terbaik untuk aplikasi web saya?
Pertimbangkan hal berikut saat memilih pendekatan pengembangan untuk aplikasi web Anda:
- Blazor direkomendasikan untuk membangun aplikasi web front-end dengan .NET. Ini memungkinkan Anda membangun front-end dan back-end menggunakan .NET, menghemat waktu dan biaya, dan itu sangat baik untuk aplikasi perusahaan.
- JavaScript web apps masih masuk akal jika Anda ingin memanfaatkan keterampilan JavaScript yang ada atau perlu berintegrasi dengan pustaka atau kerangka kerja JS yang dibuat.
- Aplikasi yang ada yang menggunakan kerangka kerja lama seperti Formulir Web, MVC, atau Halaman Razor tetap didukung dan dapat terus dikembangkan dan dikelola.
Siapa yang membangun aplikasi dengan WinUI 3 hari ini?
Microsoft Foto adalah salah satu contoh yang didokumenkan. Aplikasi ini dimigrasikan dari UWP ke SDK Aplikasi Windows dan terus menggunakan WinUI 3. Untuk detail tentang arsitektur dan migrasi, lihat Microsoft Foto: Migrasi dari UWP ke SDK Aplikasi Windows.
Who membangun aplikasi .NET MAUI hari ini?
Organisasi menggunakan .NET MAUI untuk membangun aplikasi lintas platform untuk Android, iOS, macOS, dan Windows. Lihat contoh di showcase pelanggan .NET.
Who membangun aplikasi WPF hari ini?
Sebagian besar UI Microsoft Visual Studio dibangun dengan WPF. IDE Visual Studio itu sendiri adalah contoh utama dari aplikasi WPF berkinerja tinggi yang kompleks.
Siapa yang membangun aplikasi Blazor hari ini?
Sistem maskapai penerbangan FlightPulse dari GE Digital menggunakan Blazor untuk konfigurasi backend dari semua yang dilihat pilot, membawa data sensor dan analisis langsung ke pilot untuk meningkatkan keselamatan dan efisiensi.
Lihat selengkapnya Blazor customer stories di situs .NET.
Pilihan bahasa (.NET vs C++)
Haruskah saya menggunakan C# atau C++ untuk aplikasi Windows saya?
Gunakan C# (.NET) dalam banyak kasus. C# menawarkan pengembangan yang lebih cepat, keamanan memori, pustaka yang kaya, dan peralatan yang sangat baik. Sebagian besar aplikasi Windows — termasuk aplikasi WinUI 3, WPF, WinForms, dan .NET MAUI — paling baik dibuat dengan C#.
Gunakan C++ saat Anda memerlukan akses perangkat keras langsung, overhead runtime minimal, atau interop dengan basis kode C++ yang ada. Skenario C++ umum termasuk mesin game (DirectX), driver, utilitas tingkat sistem, dan komponen penting performa.
Faktor C# (.NET) C++ Kecepatan pengembangan ✅ Lebih cepat — memori terkelola, ekosistem yang kaya ⚠️ Lebih lambat — manajemen sumber daya manual Kinerja waktu proses ✅Sangat cocok untuk .NET modern (AOT, Span<T>) ✅ Semaksimal mungkin — tanpa jeda GC Keamanan memori ✅ Sampah yang dikumpulkan ⚠️ Manual - risiko kebocoran dan kerentanan akses API Windows ✅ Melalui proyeksi C#/WinRT ✅ Melalui proyeksi C++/WinRT Dukungan WinUI 3 ✅ Dukungan penuh ✅ Dukungan penuh melalui C++/WinRT Multiplatform ✅.NET berjalan di Windows, Linux, macOS ✅ Dengan kode khusus platform Paling cocok untuk Aplikasi bisnis, CRUD, layanan, aplikasi yang berfokus pada UI Game, driver, alat bantu sistem, latensi rendah Anda juga dapat mencampur keduanya: membuat aplikasi di C# dan memanggil kode asli kritis performa melalui P/Invoke (CsWin32) atau komponen C++/WinRT.
Bagaimana cara memanggil WIN32 API dari C#?
Gunakan CsWin32, generator kode sumber yang membuat deklarasi P/Invoke yang aman terhadap tipe saat proses build. Anda menambahkan
Microsoft.Windows.CsWin32paket NuGet, mencantumkan API yangNativeMethods.txtAnda butuhkan dalam file, dan memanggilnya melalui kelas yang dihasilkanPInvoke.CsWin32 menggantikan deklarasi tulisan
[DllImport]tangan dan bekerja dalam proyek C# apa pun, termasuk WinUI 3, WPF, WinForms, dan aplikasi konsol. Lihat Memanggil API Win32 dari aplikasi C# Windows (CsWin32) untuk panduan langkah demi langkah.
Apa itu C++/WinRT dan kapan saya harus menggunakannya?
C++/WinRT adalah proyeksi bahasa C++17 standar untuk API Windows Runtime. Gunakan saat membangun aplikasi Windows di C++ yang menggunakan atau menulis API WinRT. Ini menggantikan C++/CX dan Windows Runtime C++ Template Library (WRL).
Pilih C++/WinRT saat:
- Anda sedang membangun aplikasi C++ WinUI 3
- Anda perlu menulis komponen Windows Runtime yang digunakan oleh bahasa lain
- Anda melakukan porting dari C++/CX
Apa itu C#/WinRT dan kapan saya membutuhkannya?
C#/WinRT menyediakan dukungan proyeksi WinRT untuk C#. Dalam kebanyakan hal, Anda tidak berinteraksi dengannya secara langsung — aplikasi .NET yang ditujukan untuk Windows secara otomatis memperoleh akses ke API WinRT melalui moniker kerangka kerja target (TFM). Anda memerlukan C#/WinRT secara eksplisit saat menulis komponen Windows Runtime di C# atau saat membuat rakitan interop untuk komponen WinRT pihak ketiga.
Pengemasan, penyebaran, dan pembaruan
Apa perbedaan antara aplikasi yang dikemas, dibongkar, dan dikemas dengan lokasi eksternal?
Aplikasi paket berisi file, identitas, dan informasi penyebarannya dalam paket seperti MSIX. Aplikasi yang tidak dikemas menggunakan proses penginstal atau penyebaran di luar sistem paket Windows dan tidak memiliki identitas paket secara default. Aplikasi yang dikemas di lokasi eksternal menggunakan paket identitas berukuran kecil dengan tetap mempertahankan biner yang berada di lokasi eksternal serta installer dan proses pembaruannya yang sudah ada.
Lihat Ikhtisar pengemasan untuk persyaratan dan kompromi.
Apakah saya memerlukan identitas paket?
Ini tergantung pada fitur Windows yang digunakan aplikasi Anda. Identitas paket diperlukan untuk skenario seperti tugas latar belakang yang dikemas, target berbagi, tugas startup, ekstensi paket menu konteks kustom, jenis file berbasis manifes dan asosiasi protokol, dan banyak API AI Windows. SDK Aplikasi Windows pemberitahuan push mendukung skenario latar depan terbatas tanpa identitas, tetapi pengiriman latar belakang dan aktivasi COM memerlukan identitas. WinUI 3 dan pemberitahuan aplikasi lokal dapat berfungsi tanpa identitas paket.
Lihat Fitur yang memerlukan identitas paket. Jika Anda memerlukan identity tetapi harus tetap mempertahankan installer yang sudah ada, pertimbangkan pengemasan dengan lokasi eksternal.
Apa perbedaan antara penyebaran yang bergantung pada kerangka kerja dan mandiri?
Aplikasi yang bergantung pada kerangka kerja menggunakan paket runtime SDK Aplikasi Windows yang diinstal secara terpisah pada perangkat. Ini mengurangi ukuran penyebaran aplikasi dan memungkinkan kerangka kerja yang diinstal menerima pembaruan layanan. Aplikasi mandiri membawa dependensi SDK Aplikasi Windows dengannya, yang meningkatkan ukuran penyebaran dan membuat penerbit aplikasi bertanggung jawab untuk mendistribusikan pembaruan layanan SDK Aplikasi Windows dengan versi aplikasi baru.
API yang bergantung pada paket MSIX tambahan, seperti paket Singleton, dapat memerlukan penyebaran terpisah atau pemeriksaan dukungan runtime bahkan di aplikasi mandiri. Pengemasan dan penerapan runtime adalah dua keputusan yang terpisah. Lihat gambaran umum penyebaran SDK Aplikasi Windows.
Apakah aplikasi WinUI 3 saya akan diperbarui secara otomatis untuk pengguna akhir?
Aplikasi WinUI 3 dapat dikirimkan melalui Microsoft Store,
.appinstallerfile, atau MSI atau setup executable. Paket penyimpanan dapat diperbarui melalui layanan Microsoft Store, tunduk pada pengaturan Penyimpanan dan organisasi. Penyebaran.appinstallermendukung pembaruan otomatis hanya saatUpdateSettingsmengonfigurasi pemeriksaan waktu peluncuran atau latar belakang. Paket MSI dan setup harus menyediakan atau mengintegrasikan mekanisme pembaruannya masing-masing.
Bisa saya menggunakan SDK Aplikasi Windows tanpa menggunakan MSBuild?
Ya, untuk beberapa skenario. Proyek WinUI 3 XAML saat ini memerlukan MSBuild, meskipun Visual Studio tidak diperlukan dan
dotnet builddapat memanggil MSBuild dari baris perintah. Anda dapat menggunakan API SDK Aplikasi Windows non-XAML dari proyek C++ dan CMake melalui pratinjau Windows App Development CLI, atau mengintegrasikan runtime secara manual.
Windows AI (Kecerdasan Buatan)
Bagaimana cara memilih antara API AI Windows, Foundry Local, dan Windows ML?
Tiga teknologi pertama adalah bagian dari Microsoft Foundry pada Windows. Anda dapat menggabungkannya satu sama lain dan dengan model cloud di aplikasi yang sama:
- Gunakan Windows AI API untuk kemampuan siap pakai yang model dan akselerasi perangkat kerasnya dikelola oleh Windows.
- Gunakan Foundry Local untuk menemukan, mengunduh, dan menjalankan model bahasa dan ucapan sumber terbuka yang didukung secara lokal.
- Gunakan Windows ML untuk menjalankan model ONNX Anda sendiri dengan penyedia eksekusi untuk perangkat keras CPU, GPU, dan NPU yang tersedia.
- Gunakan Microsoft Foundry, platform AI cloud tersendiri, saat Anda memerlukan model yang dihosting di cloud, pengambilan data, tata kelola terpusat, atau kemampuan yang tidak tersedia pada perangkat target.
Bandingkan opsi di Pilih solusi AI Windows Anda. Pertimbangkan kemampuan model, privasi, konektivitas, latensi, cakupan perangkat keras, ukuran penyebaran, dan biaya operasi.
Apakah fitur AI Windows memerlukan Copilot+ PC?
Tidak semuanya. Banyak API AI Windows memerlukan Copilot+ PC, tetapi beberapa API juga mendukung GPU atau CPU tertentu. Foundry Local dan Windows ML mendukung konfigurasi perangkat keras yang lebih luas, tunduk pada persyaratan sistem operasi, model, runtime, dan penyedia eksekusi mereka saat ini.
Periksa tabel perangkat keras API AI Windows dan persyaratan untuk API atau model tertentu. Deteksi dukungan dan kesiapan model saat runtime, dan sediakan opsi cadangan non-AI, model lokal, atau berbasis cloud saat fitur tersebut tidak tersedia.
Bisakah Windows fitur AI berjalan secara lokal dan offline?
Ya. Windows API AI, Foundry Local, dan Windows ML dapat menjalankan inferensi pada perangkat pengguna, yang dapat mengurangi latensi dan menjaga data input tetap lokal. Beberapa model atau penyedia eksekusi harus terlebih dahulu diunduh atau disediakan dan dapat memerlukan koneksi internet selama penyiapan atau layanan. Layanan Cloud AI memerlukan konektivitas dan mengirim data ke layanan sesuai dengan ketentuan penanganan datanya.
Beri tahu pengguna saat pengunduhan model diperlukan dan kapan data meninggalkan perangkat. Jangan jelaskan fitur berkemampuan offline hingga Anda menguji pengalaman eksekusi pertama, pembaruan, dan fallback lengkapnya.
Bisakah alat AI membantu saya membangun atau memodernisasi aplikasi Windows?
Ya. Agen AI untuk coding dapat membantu menyusun kerangka proyek, menjelaskan API, memigrasikan kode, membuat pengujian, dan mendiagnosis masalah build. Gunakan panduan pengembangan Windows yang dibantu AI untuk GitHub Copilot, plugin agen WinUI, Microsoft Learn MCP Server, alur kerja migrasi, dan pengujian yang dibantu AI.
Tinjau dan uji kode yang dihasilkan seperti yang Anda lakukan pada kontribusi lainnya. Secara khusus, verifikasi nama dan versi API, kemampuan paket, kode sensitif keamanan, aksesibilitas, dan substitusi UWP-to-WinUI 3 apa pun.
Apa yang harus saya pertimbangkan sebelum mengirimkan fitur yang dibantu AI?
Tentukan penggunaan dan batasan yang dimaksudkan fitur, evaluasi kualitas dan keamanan dengan data representatif, ungkapkan perilaku AI jika sesuai, lindungi data pengguna, dan berikan fallback saat model atau perangkat keras yang diperlukan tidak tersedia. Jauhkan rahasia dan kredensial layanan dengan hak istimewa dari aplikasi klien, dan wajibkan konfirmasi pengguna sebelum tindakan yang berdampak besar atau tidak dapat diubah. Lihat Pengembangan AI generatif yang bertanggung jawab tentang Windows dan Keamanan dan AI yang bertanggung jawab untuk pengembangan Windows.
Performa dan pengoptimalan
Apa yang dapat saya lakukan untuk membuat aplikasi Windows saya terasa hebat bagi pengguna akhir?
Lihat Windows pengembangan aplikasi - Praktik terbaik dan Windows gambaran umum performa dan dasar-dasar aplikasi.
Compatibility
Apakah pengguna saya harus memperbarui Windows untuk menggunakan aplikasi WinUI 3 saya?
SDK Aplikasi Windows memiliki OS minimum yang kompatibel dari Windows 10, versi 1809, build 17763. Dukungan Microsoft memerlukan rilis SDK Aplikasi Windows yang didukung dengan pembaruan pemeliharaan terbaru serta edisi, versi, dan saluran pemeliharaan Windows yang masih didukung. API individual dapat memerlukan versi Windows yang lebih baru atau perangkat keras tertentu. Lihat dukungan untuk SDK Aplikasi Windows dan Saluran rilis.
Dapatkah saya menargetkan Arm64 dengan aplikasi WinUI 3 saya?
Ya. Bangun aplikasi Arm64 asli untuk performa dan efisiensi terbaik. Untuk basis kode C++ besar dengan dependensi x64, Arm64EC memungkinkan Anda memigrasikan modul secara bertahap. Windows 11 di Arm juga dapat menjalankan banyak aplikasi x86 dan x64 yang ada melalui emulasi Prism, tetapi Anda harus menguji performa dan kompatibilitas pada perangkat Arm yang representatif.
Penghentian dan migrasi
Apakah UWP/WinUI untuk UWP tidak digunakan lagi?
UWP dan WinUI 2 tidak digunakan lagi secara resmi. Visual Studio 2026 mendukung UWP dengan .NET modern dan Native AOT, sementara WinUI 2.8 tetap menjadi rilis WinUI stabil terbaru untuk UWP. Namun, Microsoft merekomendasikan WinUI 3 dan SDK Aplikasi Windows untuk aplikasi desktop Windows tujuan umum baru.
Dukungan UWP untuk .NET modern dengan Native AOT umumnya tersedia dan merupakan jenis proyek C# UWP default pada Visual Studio 2026. Memindahkan aplikasi UWP yang ada dari .NET Native ke .NET modern adalah langkah modernisasi terpisah dari memigrasikan UI-nya ke WinUI 3. Lihat Memodernisasi aplikasi UWP Anda dengan .NET dan Native AOT.
Kapan saya harus memigrasikan UWP / WinUI untuk aplikasi UWP ke WinUI 3?
Pengembang UWP tidak boleh merasa tertekan untuk bermigrasi jika mereka puas dengan UWP dan set fiturnya - untuk banyak aplikasi, pilihan yang tepat mungkin adalah tetap berada di UWP.
Aplikasi yang ingin mendapat manfaat dari platform Windows terbaru dan investasi .NET harus mempertimbangkan untuk pindah ke WinUI 3 dan SDK Aplikasi Windows. Lihat Migrate dari UWP ke SDK Aplikasi Windows.
Kapan saya *tidak* harus memigrasikan aplikasi UWP + WinUI for UWP ke WinUI 3?
Lanjutkan menggunakan UWP saat perangkat target atau model aplikasi Anda memerlukannya, seperti aplikasi Xbox, aplikasi HoloLens 2D, atau aplikasi untuk lingkungan hub Surface standar. Windows IoT Enterprise mendukung teknologi aplikasi desktop, termasuk SDK Aplikasi Windows, sehingga target IoT bukan dengan sendirinya alasan untuk menggunakan UWP.
Apakah WPF sudah tidak digunakan lagi?
Tidak. WPF tetap didukung dan terus mendapatkan peningkatan fitur, kinerja, aksesibilitas, dan gaya Fluent di .NET modern. Ini tetap menjadi pilihan yang baik untuk aplikasi WPF yang ada dan untuk aplikasi baru yang persyaratannya sesuai WPF. Untuk aplikasi desktop Windows tujuan umum baru, rekomendasi utama Microsoft adalah WinUI 3 dengan SDK Aplikasi Windows. Lihat peta strategi WPF pada GitHub.
Apakah WinForms tidak digunakan lagi?
Tidak. WinForms didukung dan terus menerima pembaruan fitur. Lihat roadmap Formulir Windows pada GitHub.
Apakah Windows Runtime (WinRT) sudah usang?
Tidak. WinRT adalah antarmuka biner aplikasi (ABI) yang memungkinkan interop di beberapa bahasa. WinRT adalah evolusi COM, dan SDK Aplikasi Windows menyediakan sebagian besar fungsionalitasnya melalui API WinRT.
Catatan rilis
Di mana saya dapat menemukan catatan rilis untuk SDK Aplikasi Windows?
Lihat catatan rilis SDK Aplikasi Windows untuk rilis stabil, pratinjau, dan eksperimental. Halaman Apa yang baru untuk pengembang Windows merangkum pembaruan SDK, SDK Aplikasi Windows, WinUI 3, perkakas, dan platform terbaru Windows.
Konten terkait
Windows developer