Gambaran umum opsi kerangka kerja

Artikel ini berisi informasi yang Anda butuhkan untuk mulai membangun aplikasi untuk Windows.

Windows menawarkan berbagai bahasa, kerangka kerja, dan alat untuk membangun aplikasi, termasuk WinUI, WPF, C++, C#, .NET, dan berbagai kerangka kerja lintas platform. Di sini, kami menyediakan informasi untuk membantu Anda memutuskan opsi mana yang terbaik untuk Anda.

WinUI

.

Kami merekomendasikan WinUI dan SDK Aplikasi Windows untuk membuat aplikasi yang terlihat hebat dan memanfaatkan rilis Windows terbaru. Jika Anda baru menggunakan pengembangan Windows, atau mulai mengerjakan aplikasi Windows baru, WinUI menyediakan sumber daya yang Anda butuhkan untuk membuat aplikasi hebat untuk Windows 11.

WinUI adalah lapisan antarmuka pengguna berbasis markup XAML yang berisi kontrol dan gaya modern untuk membangun aplikasi Windows. Sebagai lapisan UI asli untuk SDK Aplikasi Windows, ini mewujudkan Desain Fasih, memberikan setiap aplikasi Windows nuansa yang dipolihkan yang diharapkan pelanggan.

Catatan

SDK Aplikasi Windows adalah sekumpulan komponen dan alat pengembang baru yang mewakili evolusi terbaru di platform pengembangan aplikasi Windows. SDK Aplikasi Windows menyediakan sekumpulan API dan alat terpadu yang dapat digunakan dengan cara yang konsisten oleh aplikasi desktop di Windows 11 dan downlevel ke Windows 10, versi 1809.

Meskipun WinUI adalah lapisan UI asli, Anda dapat menggunakan SDK Aplikasi Windows dengan aplikasi WPF, WinForms, atau Win32. Jika Anda telah mengembangkan aplikasi untuk Windows sebelumnya, tetapi ingin memulai SDK Aplikasi Windows di aplikasi yang sudah ada, lihat Panduan khusus kerangka kerja.

WPF

WPF adalah kerangka kerja yang dibuat dengan baik untuk aplikasi desktop Windows dengan akses ke .NET atau .NET Framework. Seperti WinUI, ia juga menggunakan markup XAML untuk memisahkan UI dari kode. WPF menyediakan serangkaian fitur pengembangan aplikasi komprehensif yang mencakup kontrol, pengikatan data, tata letak, grafik 2D dan 3D, animasi, gaya, templat, dokumen, media, teks, dan tipografi. WPF adalah bagian dari .NET, sehingga Anda dapat membangun aplikasi yang menggabungkan elemen lain dari .NET API.

Jika Anda memiliki aplikasi WPF .NET, Anda juga memiliki akses ke fitur platform Windows modern dan API yang disediakan oleh SDK Aplikasi Windows. Untuk informasi selengkapnya, lihat Menggunakan SDK Aplikasi Windows di aplikasi WPF dan Memodernisasi aplikasi desktop Anda.

Tip

Jika Anda memerlukan bantuan lebih lanjut untuk memutuskan kerangka kerja mana yang merupakan pilihan terbaik untuk aplikasi Anda, lihat memilih kerangka kerja aplikasi terbaik untuk modul pelatihan proyek pengembangan Windows.

Opsi platform asli lainnya

Banyak aplikasi untuk Windows ditulis menggunakan Win32, Formulir Windows, atau UWP. Masing-masing kerangka kerja ini didukung dan akan terus menerima bug, keandalan, dan perbaikan keamanan, tetapi berbagai tingkat investasi untuk fitur dan gaya baru. Untuk informasi selengkapnya tentang jenis aplikasi ini, lihat tab berikut.

Aplikasi desktop Win32 (juga terkadang disebut aplikasi desktop klasik) adalah jenis aplikasi asli untuk aplikasi Windows asli yang memerlukan akses langsung ke Windows dan perangkat keras. Ini membuat Win32 menjadi jenis pilihan aplikasi untuk aplikasi yang membutuhkan tingkat performa tertinggi dan akses langsung ke perangkat keras sistem.

Menggunakan API Win32 dengan C++ memungkinkan untuk mencapai tingkat performa dan efisiensi tertinggi dengan mengambil kontrol lebih besar atas platform target dengan kode yang tidak dikelola daripada yang dimungkinkan pada lingkungan runtime terkelola seperti WinRT dan .NET. Namun, menjalankan tingkat kontrol atas eksekusi aplikasi Anda membutuhkan perawatan dan perhatian yang lebih besar untuk mendapatkan yang benar, dan memperdagangkan produktivitas pengembangan untuk performa runtime.

Berikut adalah beberapa sorotan dari apa yang ditawarkan Win32 API dan C++ untuk memungkinkan Anda membangun aplikasi berkinerja tinggi.

  • Pengoptimalan tingkat perangkat keras, termasuk kontrol ketat atas alokasi sumber daya, masa pakai objek, tata letak data, perataan, pengemasan byte, dan banyak lagi.
  • Akses ke set instruksi berorientasi performa seperti SSE dan AVX melalui fungsi intrinsik.
  • Pemrograman generik yang efisien dan aman jenis dengan menggunakan templat.
  • Kontainer dan algoritma yang efisien dan aman.
  • DirectX, khususnya Direct3D dan DirectCompute.
  • Gunakan C++/WinRT untuk membuat aplikasi Win32 desktop modern dengan akses kelas satu ke API Windows Runtime (WinRT).

Anda juga memiliki akses ke fitur platform Windows modern dan API yang disediakan oleh SDK Aplikasi Windows. Untuk informasi selengkapnya, lihat Menggunakan SDK Aplikasi Windows dalam proyek yang sudah ada dan Memodernisasi aplikasi desktop Anda.

Opsi lintas platform

Jika Anda memerlukan aplikasi anda untuk menjadi lintas platform, pertimbangkan .NET MAUI, Progressive Web App (PWA), atau React Native untuk Windows. Ada banyak pilihan lain yang tersedia (berikut adalah daftar opsi populer), tetapi ini adalah beberapa titik awal yang baik.

.NET MAUI memanfaatkan kekuatan WinUI di Windows, sekaligus mengaktifkan eksekusi pada sistem operasi lainnya. React Native untuk Windows memungkinkan Anda menulis aplikasi yang berjalan di semua perangkat yang didukung oleh Windows 10 dan Windows 11 (bukan hanya PC). Opsi lintas platform lainnya, Progressive Web Apps (PWAs), adalah situs web yang berfungsi seperti terinstal, aplikasi asli di Windows dan platform lain yang didukung, sambil berfungsi seperti situs web biasa di browser.

Untuk informasi selengkapnya, lihat tab berikut ini.

.NET Multi-platform App UI (MAUI) adalah kerangka kerja lintas platform sumber terbuka untuk membangun aplikasi Android, iOS, macOS, dan Windows yang memanfaatkan UI asli dan layanan setiap platform dari satu basis kode .NET. Karena .NET MAUI mendukung pengalaman asli platform, ia menggunakan WinUI dan SDK Aplikasi Windows sehingga aplikasi mendapatkan pengalaman pengguna terbaru di Windows. Ini memberi aplikasi Anda akses ke semua yang Anda dapatkan dengan WinUI ditambah kemampuan untuk menjangkau ke platform lain.

.NET MAUI untuk Windows adalah pilihan yang bagus jika:

  • Anda ingin berbagi kode .NET sebanyak mungkin di seluruh aplikasi seluler dan desktop.
  • Anda ingin mengirimkan aplikasi Anda di luar Windows ke target desktop dan seluler lainnya dengan pengalaman platform asli.
  • Anda ingin menggunakan C# dan/atau XAML untuk membangun aplikasi lintas platform.
  • Anda menggunakan Blazor untuk pengembangan web dan ingin menyertakan semua atau sebagiannya dalam aplikasi seluler atau desktop.

Untuk informasi selengkapnya tentang .NET MAUI, lihat tautan berikut ini:

Perbandingan fitur kerangka kerja pengembangan aplikasi

Ada berbagai opsi untuk mengembangkan aplikasi untuk Windows. Opsi terbaik untuk Anda tergantung pada persyaratan aplikasi Anda, kode yang ada, dan keakraban Anda dengan teknologi. Tabel berikut mencantumkan kerangka kerja pengembangan aplikasi paling populer yang tersedia di Windows dan fitur yang didukung oleh setiap kerangka kerja.

Fitur .NET MAUI Blazor Hybrid React Native (RNW) UWP XAML (Windows.UI.Xaml) Win32 (MFC atau ATL) Formulir Windows WinUI 3 WPF
Bahasa C# C# JavaScript, TypeScript C#, C++, Visual Basic C++, Rust C#, Visual Basic C#, C++ C#, Visual Basic
Bahasa UI XAML/Kode Razor JSX XAML Kode Kode XAML XAML
Perancang UI
(seret & jatuhkan)
Penelusuran kesalahan UI Isi Ulang Panas Isi Ulang Panas Refresh Cepat Isi Ulang Panas - Isi Ulang Panas Isi Ulang Panas Isi Ulang Panas
Desain Yang Fasih ✅ (melalui WinUI 2)
.NET .NET .NET T/A .NET Core & .NET Native T/A .NET & .NET Framework .NET .NET & .NET Framework
SDK Aplikasi Windows ✅ (info lebih lanjut) melalui MAUI ✅ (info lebih lanjut) ✅ (info lebih lanjut) ✅ (info lebih lanjut)
Bagus untuk disentuh
Lintas platform
Aplikasi Xbox/HoloLens
Sandboxing (AppContainer)
Saat ini didukung
Menerima pembaruan ✅ (keamanan &bugfix)
Roadmap GitHub GitHub GitHub n/a n/a GitHub GitHub GitHub

Pelajari selengkapnya tentang masing-masing opsi ini:

Langkah berikutnya