Artikel ini berisi informasi yang Anda butuhkan untuk mulai membangun aplikasi untuk lingkungan desktop Windows.
Windows menawarkan berbagai opsi untuk membangun aplikasi, termasuk C++, .NET, dan teknologi lain yang muncul seperti alat sumber terbuka di WSL dan Rust. Dengan begitu banyak pilihan, mungkin sulit untuk mengetahui dari mana harus memulai.
Windows UI Library (WinUI) 3 adalah kerangka kerja antarmuka pengguna (UI) terbaru untuk aplikasi desktop Windows, termasuk aplikasi terkelola yang menggunakan C# dan .NET, dan aplikasi asli yang menggunakan C++ dengan API Win32. Ini masih dalam pengembangan yang sangat aktif, jadi sementara itu mungkin tidak dapat memenuhi semua kebutuhan Anda hari ini itu jatuh tempo dengan setiap rilis.
Dengan menggabungkan Sistem Fluent Design ke dalam semua pengalaman, kontrol, dan gaya, WinUI memberikan pengalaman yang konsisten, intuitif, dan dapat diakses menggunakan pola UI terbaru. WinUI 3 tersedia sebagai bagian dari SDK Aplikasi Windows. SDK Aplikasi Windows menyediakan sekumpulan API dan alat terpadu yang dapat digunakan dengan cara yang konsisten oleh aplikasi C++ Win32 atau C# .NET pada serangkaian versi OS Windows target yang luas.
Jika Anda telah menginstal alat pengembang yang diperlukan, Anda siap untuk Membuat proyek WinUI 3 pertama Anda.
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 menjadikan ini 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 lebih banyak kontrol platform target dengan kode yang tidak dikelola daripada yang mungkin terjadi 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 (perhatikan bahwa UWP juga menawarkan interop DirectX).
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 Memodernisasi aplikasi desktop Anda.
WPF adalah platform yang mapan untuk aplikasi Windows terkelola dengan akses ke .NET atau .NET Framework, dan juga menggunakan markup XAML untuk memisahkan UI dari kode. Platform ini dirancang untuk aplikasi desktop yang memerlukan UI canggih, kustomisasi gaya, dan skenario intensif grafis. Keterampilan pengembangan WPF mirip dengan keterampilan pengembangan WinUI 3, sehingga migrasi dari WPF ke WinUI 3 lebih mudah daripada bermigrasi dari Formulir Windows.
Anda juga memiliki akses ke fitur platform Windows modern dan API yang disediakan oleh SDK Aplikasi Windows. Untuk informasi selengkapnya, lihat Memodernisasi aplikasi desktop Anda.
Formulir Windows adalah platform asli untuk aplikasi Windows terkelola dengan model UI ringan dan akses ke .NET atau .NET Framework. Ini unggul dalam memungkinkan pengembang untuk dengan cepat mulai membangun aplikasi, bahkan untuk pengembang yang baru mengenal platform. Ini adalah platform pengembangan aplikasi cepat berbasis formulir dengan koleksi kontrol seret dan letakkan visual dan non-visual bawaan yang besar. Formulir Windows tidak menggunakan XAML, jadi memutuskan nanti untuk menulis ulang aplikasi Anda ke WinUI 3 memerlukan penulisan ulang lengkap UI Anda.
Anda juga memiliki akses ke fitur platform Windows modern dan API yang disediakan oleh SDK Aplikasi Windows. Untuk informasi selengkapnya, lihat Memodernisasi aplikasi desktop Anda.
Platform Windows Universal (UWP) menyediakan sistem jenis umum, API, dan model aplikasi untuk semua perangkat di Platform Windows Universal. Anda tidak hanya dapat menggunakan UWP untuk membuat aplikasi desktop untuk PC Windows, tetapi UWP juga merupakan satu-satunya platform yang didukung untuk menulis satu aplikasi universal asli yang berjalan di Xbox, HoloLens, dan Surface Hub. Aplikasi UWP dapat asli atau dikelola.
UWP adalah platform yang sangat dapat disesuaikan yang menggunakan markup XAML untuk memisahkan UI (presentasi) dari kode (logika bisnis). UWP cocok untuk aplikasi desktop yang memerlukan UI canggih, kustomisasi gaya, dan skenario intensif grafis. UWP juga memiliki dukungan bawaan untuk Sistem Fluent Design untuk pengalaman UX default dan menyediakan akses ke API Windows Runtime (WinRT).
Anda tidak akan memiliki akses ke API yang disediakan oleh SDK Aplikasi Windows. Untuk menggunakan SDK Aplikasi Windows, Anda harus memigrasikan aplikasi UWP Anda ke WinUI 3. Untuk informasi selengkapnya, lihat Migrasi ke SDK Aplikasi Windows.
Opsi lintas platform
WinUI juga berfungsi sebagai dasar untuk teknologi lintas platform yang memberikan pengalaman Windows asli yang hebat menggunakan berbagai bahasa pengkodean. .NET MAUI dan React Native untuk Windows memanfaatkan kekuatan WinUI di Windows, sekaligus mengaktifkan eksekusi pada sistem operasi lainnya. 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.
.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 3 dan SDK Aplikasi Windows sehingga aplikasi mendapatkan pengalaman pengguna terbaru di Windows. Ini memberi aplikasi Anda akses ke semua yang Anda dapatkan dengan WinUI 3 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.
Progressive Web Apps (PWAs) menyediakan akses ke teknologi web terbuka untuk menyediakan interoperabilitas lintas platform. PWAs memberi pengguna Anda pengalaman seperti aplikasi yang disesuaikan untuk perangkat mereka. PWAs adalah situs web yang semakin ditingkatkan agar berfungsi seperti aplikasi asli yang diinstal pada platform pendukung (termasuk Windows), sambil berfungsi seperti situs web biasa di browser lain.
Saat diinstal di Windows, PWAs sama seperti aplikasi lain. Contohnya:
PWA dapat ditambahkan ke menu Mulai.
PWA dapat disematkan ke Taskbar.
PWAs dapat menangani file.
PWAs dapat berjalan saat pengguna masuk.
PWAs dapat dikirimkan ke Microsoft Store di mana jutaan pengguna Windows dapat menemukan dan dengan mudah menginstalnya bersama aplikasi Windows lainnya.
React Native adalah platform pengembangan yang memungkinkan pembuatan aplikasi lintas platform.
React Native untuk Windows menghadirkan dukungan React Native ke SDK Windows 10 dan Windows 11, memungkinkan Anda menggunakan JavaScript untuk membangun aplikasi Windows asli untuk semua perangkat yang didukung oleh Windows 10 dan Windows 11. Ini termasuk PC, tablet, 2-in-1s, Xbox, Perangkat realitas campuran, dll.
Dengan React Native untuk Windows, Anda menulis sebagian besar atau semua kode aplikasi Anda di JavaScript - atau TypeScript - dan kerangka kerja menghasilkan aplikasi UWP XAML asli. Jika aplikasi Anda perlu memanggil API platform, Anda biasanya dapat melakukannya melalui salah satu dari banyak modul komunitas, atau jika modul belum ada, Anda dapat dengan mudah menulis modul asli untuk mengeksposnya.
Berikut adalah beberapa alasan untuk memilih React Native untuk Windows:
Anda ingin berbagi kode di seluruh platform sebanyak mungkin, atau Anda memiliki properti web yang ingin Anda bagikan kodenya.
Peningkatan produktivitas pengembang dan perulangan dalam, berkat refresh cepat.
Dasar-dasar aplikasi Anda (performa, aksesibilitas, internasionalisasi) sama baiknya dengan aplikasi UWP asli.
Anda memiliki pengalaman dengan dan preferensi untuk JavaScript atau TypeScript
Anda ingin memanfaatkan pustaka khusus JavaScript di npmjs.com, dan banyak pustaka asli juga.
Aplikasi Anda akan menggunakan kontrol asli, tampilan visual, animasi, dan warna, dan oleh karena itu akan terasa terintegrasi ke dalam bahasa desain yang digunakan di Windows. Selain itu, React Native untuk aplikasi Windows tidak perlu membahayakan set API yang dapat mereka panggil, karena kerangka kerja memungkinkan Anda memanggil API platform serta menulis manajer tampilan dan modul asli Anda sendiri.
Momentum komunitas yang besar dan berkembang, dengan banyak modul komunitas.
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat: https://aka.ms/ContentUserFeedback.