Artikel ini dimaksudkan untuk mempromosikan pemahaman umum tentang pengalaman pengembangan Windows dan arah produk.
Lanskap pengembangan aplikasi Windows saat ini menawarkan berbagai kerangka kerja dan teknologi untuk dipilih. FAQ ini menyediakan panduan tentang cara memutuskan kerangka kerja mana yang akan digunakan untuk proyek pengembangan aplikasi Windows Anda. Ini mencakup topik-topik berikut:
- Memulai dan lanskap pengembangan aplikasi Windows.
- Pengembangan aplikasi khusus Windows asli dengan WinUI, Windows Presentation Foundation (WPF), dan Windows Forms (WinForms).
- Windows Software Development Kit (SDK) dan Windows App SDK.
- 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 ulasan bagus tentang opsi hari ini untuk pengembang Windows, tonton episode 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 menjadi komponen penting dari transformasi digital modern. Bagi pengembang, membangun aplikasi klien sangat penting tidak hanya untuk dijangkau tetapi untuk memberikan interaksi yang responsif dan bermakna pada perangkat pengguna.
Berikut alasan mengapa aplikasi klien masih penting:
- Jangkauan Perangkat: Dengan lebih dari 1,5 miliar perangkat Windows dan lebih dari 5 miliar perangkat Android dan iOS secara global, 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 backend, memungkinkan akses data real time dan skalabilitas yang mulus saat basis pengguna Anda tumbuh.
- 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 adalah platform pengembangan aplikasi Windows yang memungkinkan Anda membuat aplikasi desktop yang indah, modern, kompatibel mundur (hingga Windows 10 1809). WinUI 3 adalah kerangka kerja UI yang dikirim dengan SDK Aplikasi Windows.
Apa perbedaan antara SDK Aplikasi Windows dan Windows SDK?
Keduanya adalah kit pengembangan perangkat lunak (SDK) yang memungkinkan Anda membangun aplikasi Windows.
SDK Aplikasi Windows adalah platform pengembangan baru yang memungkinkan Anda membangun aplikasi desktop modern yang dapat diinstal di seluruh versi Windows (hingga Windows 10 1809). Saat menggunakan SDK Aplikasi Windows untuk membuat aplikasi, Anda akan memiliki akses ke fitur platform pengembangan Windows terbaru. SDK Aplikasi Windows mencakup WinUI 3.
Windows SDK adalah platform pengembangan yang memungkinkan Anda membangun aplikasi UWP dan aplikasi Win32/desktop. Ini dirancang di sekitar API Windows yang digabungkan dengan versi OS tertentu.
SDK Aplikasi Windows tidak menggantikan Windows SDK. Sebaliknya, SDK Aplikasi Windows adalah pelengkap untuk Windows SDK. Ini menyediakan abstraksi yang nyaman dan dipisahkan OS di sekitar katalog API OS Windows yang kaya yang sudah dapat Anda akses menggunakan Windows SDK. Saat membuat aplikasi dengan SDK Aplikasi Windows, Anda mungkin akhirnya menggunakan beberapa API Windows SDK tergantung pada fungsionalitas yang Anda butuhkan. Seiring waktu, lebih banyak fungsionalitas Windows SDK akan diangkat ke SDK Aplikasi Windows.
Saya sedang membangun tim baru untuk mengembangkan aplikasi khusus Windows. Mengapa saya harus memilih untuk mengembangkan dengan kerangka kerja Windows asli seperti WinUI, WPF, atau WinForms?
Berikut adalah beberapa alasan untuk memilih kerangka kerja Windows asli untuk aplikasi khusus Windows Anda:
- Performa: Kerangka kerja Windows Asli dioptimalkan untuk memanfaatkan kekuatan penuh perangkat keras Windows saat ini dan memberikan pengalaman pengguna yang cepat dan responsif.
- Integrasi : Windows dikirim dengan berbagai API untuk membangun pengalaman canggih yang hanya tersedia di Windows. Kerangka kerja asli menyediakan integrasi mendalam dengan fitur dan API ini.
- Pengalaman pengguna asli: kerangka kerja Windows asli memberikan pengalaman pengguna yang konsisten di seluruh perangkat Windows, memastikan bahwa aplikasi Anda terlihat dan berfungsi dengan baik di semua perangkat Windows.
- Dukungan offline: kerangka kerja Windows Asli menyediakan dukungan untuk skenario offline, memungkinkan aplikasi Anda berfungsi bahkan ketika pengguna tidak terhubung ke internet.
- Monetisasi: kerangka kerja Windows asli dikelola secara aktif dan didukung oleh Microsoft, memastikan bahwa Anda memiliki akses ke pembaruan dan fitur terbaru.
Kerangka kerja mana yang harus saya gunakan untuk memanfaatkan investasi terbaru Microsoft dalam pengembangan aplikasi Windows?
Jika Anda membangun aplikasi khusus Windows baru, sebaiknya gunakan WinUI. WinUI adalah kerangka kerja UI asli terbaru untuk pengembangan aplikasi Windows dan dirancang untuk bekerja di berbagai perangkat Windows. WinUI menyediakan kerangka kerja UI modern dan fleksibel yang memungkinkan Anda membuat aplikasi Windows yang menarik dan interaktif secara visual. WinUI adalah bagian dari Windows App SDK dan dirancang untuk bekerja paling baik dengan versi Terbaru Windows.
Dapatkah saya menggunakan Windows App SDK / WinUI di aplikasi Windows saya yang sudah ada?
Perhatikan bahwa WinUI (kerangka kerja UI) dikirim dengan Windows App SDK (kerangka kerja pengembangan platform Windows).
Secara umum, Anda tidak dapat menggunakan WinUI kecuali Anda siap untuk memigrasikan kerangka kerja UI Sepenuhnya. Kami sedang mengerjakan fitur yang disebut kepulauan XAML yang memungkinkan Anda menghosting konten WinUI dalam kerangka kerja UI lainnya (WPF, Win32).
Anda harus dapat menggunakan elemen Windows App SDK di aplikasi desktop apa pun, tergantung pada bagaimana aplikasi yang ada dibuat. Aplikasi UWP tidak didukung oleh Windows App SDK.
Ini berarti bahwa aplikasi WPF/MFC/WinForms
Lihat Menggunakan Windows App SDK di proyek yang sudah ada untuk informasi selengkapnya.
Apakah saya perlu menggunakan Visual Studio untuk membuat aplikasi WinUI?
Sebaiknya gunakan Visual Studio 2022 versi 17.10 ke atas untuk mengembangkan aplikasi WinUI. Menggunakan versi terbaru Visual Studio akan memberi Anda akses ke fitur pengembangan yang kaya seperti Hot Reload. Alat penginstal Visual Studio terbaru mencakup pengembangan aplikasi Windows beban kerja, sehingga mudah untuk memulai pengembangan WinUI.
Anda mungkin dapat menggunakan ID lain dan alur kerja pengembangan, tetapi Visual Studio saat ini adalah satu-satunya IDE yang didukung secara resmi untuk WinUI. Perhatikan bahwa MSBuild
Saat saya membuat aplikasi menggunakan Windows App SDK dan WinUI 3, apakah saya membuat "aplikasi WinUI"?
Ya - "Aplikasi WinUI" adalah istilah yang kami sarankan Anda gunakan. Aplikasi WinUI 3 umumnya disebut sebagai "aplikasi WinUI", karena WinUI 2 bukan jenis aplikasi tetapi satu set komponen yang dapat digunakan di aplikasi UWP.
Dapatkah saya memperbarui aplikasi UWP saya secara bertahap dengan kontrol WinUI 2 ke WinUI 3 dengan secara bertahap mengganti komponen WinUI 2 dengan komponen WinUI 3?
Tidak. SDK Aplikasi Windows tidak dapat digunakan di aplikasi UWP, dan WinUI 2 tidak dapat dicampur dengan WinUI 3. Lihat Migrasi dari UWP ke SDK Aplikasi Windows.
Seberapa sulit untuk memigrasikan aplikasi UWP ke WinUI?
Memigrasikan komponen UI umumnya mudah (untuk C# dan C++/WinRT). Jika tidak, biaya migrasi dari UWP ke WinUI akan tergantung terutama pada faktor-faktor ini:
- File proyek dan kustomisasi MSBuild: Memigrasikan proyek Anda mungkin memerlukan tingkat upaya yang signifikan, tergantung pada apakah Anda menggunakan fitur MSBuild tingkat lanjut.
- Migrasi .NET API: Jika aplikasi UWP Anda bergantung pada .NET, maka Anda harus meningkatkan ke .NET 6 atau yang lebih baru. Dalam kebanyakan kasus, mengadopsi .NET 6 sangat mudah.
- Pustaka komponen UI: Jika Anda menggunakan pustaka komponen UI, maka Anda akan memerlukan versi baru dari pustaka tersebut yang menargetkan WinUI 3.
- Jika kode sumber UWP Anda ditulis dalam C++/CX yang sekarang digantikan, maka beberapa porting kode sumber akan terlibat. Lihat Pindah ke C++/WinRT dari C++/CX.
Untuk informasi selengkapnya tentang migrasi UWP, lihat Migrasi dari UWP ke SDK Aplikasi Windows.
Jika saya memiliki aplikasi UWP yang sudah ada di Store, dapatkah saya menerbitkan aplikasi WinUI paket baru menggunakan pengidentifikasi yang sama?
Ya, aplikasi yang ditingkatkan dapat diterbitkan tanpa harus memperbarui identitas aplikasi Anda. Pengguna yang memiliki versi lama akan diperbarui ke versi baru. Panduan ini hanya berlaku untuk aplikasi desktop. Aplikasi Xbox, HoloLens, dan Surface Hub tidak dapat bermigrasi ke WinUI.
Bagaimana cara mengemas/mendistribusikan aplikasi WinUI saya?
Lihat Gambaran umum penyebaran.
Di mana saya dapat menemukan panduan migrasi SDK Aplikasi Windows?
Apakah saya perlu menggunakan markup XAML jika saya ingin menggunakan WinUI?
Tidak. Kontrol UI dapat dibuat dalam kode. Tetapi ada banyak manfaat untuk mewakili antarmuka pengguna WinUI Anda dalam bentuk markup XAML deklaratif, seperti pengalaman pengembang yang ditingkatkan.
Jika Anda bermigrasi dari UWP ke WinUI, Anda mungkin dapat menggunakan kembali banyak markup XAML dan kode terkait UI (tetapi Anda harus memperbarui beberapa sintaks). Jika Anda bermigrasi dari WPF ke WinUI, Anda akan dapat menggunakan kembali banyak konsep, tetapi set kontrol dan API akan berbeda.
Apakah Visual Studio memiliki perancang permukaan desain / UI untuk WinUI?
Belum. Kami menyadari bahwa ini adalah kesenjangan dalam pengalaman pengembang WinUI. Alat seperti XAML Hot Reload dapat membantu dalam banyak skenario. Work telah mulai pada perancang UI Visual Studio untuk WinUI di Windows App SDK 1.7, tetapi belum ada garis waktu untuk rilis fitur ini.
Apakah SDK Aplikasi Windows menyertakan WinUI 3?
Ya. WinUI 3 dikirim sebagai bagian dari SDK Aplikasi Windows.
Apakah SDK Aplikasi Windows menyertakan WinUI 2?
Tidak. WinUI 2 adalah bagian dari platform UWP.
Apakah WinUI 2 dan WinUI 3 dibangun di atas teknologi yang sama?
Tidak cocok. Meskipun WinUI 3 dimulai dari basis kode WinUI 2, mereka adalah teknologi yang berbeda. WinUI 2 dan WinUI 3 adalah kerangka kerja UI berbasis XAML yang berfungsi di .NET dan C++. Perhatikan bahwa WinUI 2 dan WinUI 3 tidak kompatibel satu sama lain.
Dapatkah saya menggunakan WinUI 3 tanpa menggunakan SDK Aplikasi Windows?
Tidak. WinUI 3 kapal sebagai bagian dari SDK Aplikasi Windows.
Dapatkah saya menggunakan WinUI 3 di aplikasi yang tidak dikemas?
Ya. Semua teknologi dalam SDK Aplikasi Windows berfungsi di aplikasi yang tidak dikemas, termasuk WinUI 3.
Apa perbedaan antara Kepulauan XAML dan WinUI 3?
Kepulauan XAML memungkinkan Anda untuk menghosting kontrol WinUI modern bersama UI Win32 yang ada dari kerangka kerja lain, seperti WinForms dan WPF. Saat ini, Kepulauan XAML didukung dengan sebagian besar kontrol XAML dan WinUI 2 sistem. Lihat Kontrol Host WinRT XAML di aplikasi desktop (Kepulauan XAML) untuk informasi selengkapnya. Dukungan Kepulauan XAML untuk kontrol WinUI 3 tersedia mulai SDK Aplikasi Windows 1.4.
Jika saya membuat aplikasi WinUI, apakah akan terlihat modern di Windows 11 dan Windows 10?
Ya, UI aplikasi Anda akan mewarisi prinsip desain UI Fluent terbaru pada semua versi Windows 11 dan Windows 10 yang didukung hingga versi 1809 dalam skenario yang dikemas dan tidak dikemas.
Dapatkah saya menggunakan latar belakang Mica atau Acrylic di aplikasi yang dibangun dengan SDK Aplikasi Windows?
Di mana saya dapat menemukan sampel WinUI?
Lihat Sampel dan sumber daya. Beberapa repositori penting:
- WindowsAppSDK-Samples: Menunjukkan cara menggunakan set API SDK Aplikasi Windows tertentu.
- Demo WinUI 3: Berisi demo yang digunakan selama presentasi WinUI Microsoft.
- WinUI Gallery: Menampilkan WinUI dan Windows App SDK. Anda juga bisa mendapatkan Galeri WinUI di Microsoft Store.
Jika saya telah banyak berinvestasi di WPF, haruskah saya terus menggunakan WPF atau haruskah saya mempertimbangkan untuk bermigrasi ke WinUI?
Jika Anda telah banyak berinvestasi di WPF, Anda dapat terus menggunakan WPF untuk aplikasi yang ada. WPF adalah kerangka kerja yang matang dan stabil yang banyak digunakan oleh pengembang untuk membangun aplikasi desktop Windows.
Pertimbangkan untuk memanfaatkan Asisten Peningkatan .NET
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 ke aplikasi WPF, lengkap dengan mode Terang/Gelap terintegrasi dan dukungan warna aksen sistem. Pembaruan ini tidak hanya memodernisasi tampilan aplikasi Anda tetapi juga meningkatkan keterlibatan pengguna dengan 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 atau kerangka kerja lain?
Jika tim Anda nyaman membangun aplikasi WinForms dan WindForms memenuhi kebutuhan Anda, Anda dapat terus menggunakan WinForms untuk aplikasi yang ada. WinForms adalah kerangka kerja yang matang dan stabil yang banyak digunakan oleh pengembang untuk membangun aplikasi desktop Windows.
Tim WinForms berinvestasi di seluruh fitur dan memiliki komunitas kontributor aktif. Beberapa area investasi saat ini meliputi:
- Dukungan asinkron dengan kontrol umum
- Mode gelap
- Fleksibilitas tata letak
- Fitur keamanan desktop seperti akses clipboard
Pengembangan asli lintas platform
Apa saja alasan untuk membangun aplikasi asli lintas platform yang menargetkan Windows?
Jika Anda menargetkan pengguna di beberapa platform OS, membangun aplikasi lintas platform dengan .NET MAUI atau React Native dapat memberikan beberapa manfaat:
- Reach: Membangun aplikasi lintas platform memungkinkan Anda menjangkau audiens pengguna yang lebih besar di berbagai platform.
- Penggunaan kembali Kode: Membangun aplikasi lintas platform memungkinkan Anda menggunakan kembali kode di berbagai platform, mengurangi waktu dan biaya pengembangan. Mungkin sangat mahal untuk membangun aplikasi terpisah untuk Windows, iOS, Android, macOS, dll.
- Pengalaman pengguna yang konsisten: Membangun aplikasi lintas platform memungkinkan Anda memberikan pengalaman pengguna yang konsisten di berbagai platform, memastikan bahwa aplikasi Anda terlihat dan berfungsi dengan baik di semua perangkat.
- integrasi : Membangun aplikasi lintas platform memungkinkan Anda untuk berintegrasi dengan berbagai platform dan layanan, memungkinkan Anda untuk memberikan pengalaman pengguna yang lebih komprehensif.
Dapatkah saya yakin bahwa aplikasi .NET MAUI akan berjalan dengan baik di Windows?
Saat Anda membuat aplikasi .NET MAUI untuk Windows, output Anda adalah aplikasi WinUI. Saat mengembangkan, .NET MAUI memberikan satu pengalaman .NET di semua platform, termasuk Windows, tetapi di bawah tenda, ia menghasilkan kode khusus platform. Ini memastikan bahwa aplikasi .NET MAUI Anda berjalan dengan baik di setiap platform dan memberikan pengalaman pengguna asli.
Bagaimana .NET MAUI dapat menyediakan API perangkat asli di setiap platform?
.NET MAUI memberikan satu pengalaman .NET di semua platform, termasuk Windows, iOS, Android, dan macOS. .NET MAUI mengabstraksi lebih dari 60 API khusus platform ke dalam satu API lintas platform yang dapat Anda gunakan di aplikasi .NET MAUI Anda. API ini mencakup akses ke penyimpanan, jaringan, sensor khusus perangkat, dan banyak lagi. Jika diperlukan, Anda juga dapat mengakses API khusus platform tambahan menggunakan injeksi dependensi untuk mengabstraksi kode untuk setiap platform.
Dapatkah saya mulai dengan WinUI, dan kemudian mengintegrasikan .NET MAUI jika saya akhirnya ingin menargetkan skenario lintas platform?
Tidak untuk saat ini. Meskipun aplikasi .NET MAUI menggunakan WinUI saat berjalan di Windows, sebaiknya mulai dengan .NET MAUI atau React Native for Desktop jika Anda mengantisipasi kebutuhan untuk menargetkan beberapa platform.
Tim kami memiliki keterampilan pengembangan front-end web yang kuat. Haruskah kita mempertimbangkan untuk menggunakan React Native untuk Desktop?
Jika tim Anda memiliki keterampilan pengembangan web yang kuat, Anda mungkin ingin mempertimbangkan untuk menggunakan React Native for Desktop. React Native for Desktop mencakup kerangka kerja React Native for
Tim Anda dapat memanfaatkan keterampilan JavaScript, TypeScript, dan React mereka untuk membangun lapisan UI, yang dirender langsung ke primitif asli. Ini memberikan performa dan akses aplikasi asli ke kemampuan platform asli.
Baca selengkapnya tentang memulai pengembangan React Native untuk Windows di dokumentasi React Native for Desktop.
Apakah ada perangkat Windows lain yang didukung oleh React Native untuk Desktop?
Aplikasi React Native dapat disebarkan ke semua perangkat yang didukung oleh Windows 10 dan yang lebih tinggi termasuk PC, tablet, 2-in-1, Xbox, dan perangkat realitas campuran.
Apa yang harus saya gunakan jika saya ingin membuat aplikasi yang berfungsi di Windows dan Xbox?
Jika aplikasi Anda perlu mendukung Xbox, HoloLens, atau IoT, sebaiknya gunakan UWP. SDK Aplikasi Windows tidak mendukung platform ini. Untuk pengembangan game, sebaiknya gunakan Microsoft Game Development Kit.
Apa yang harus saya gunakan jika saya ingin membuat aplikasi yang berfungsi di Windows dan Surface Hub?
Jika Anda menargetkan hub Windows dan Surface, sebaiknya gunakan UWP.
Pengembangan hibrid dan web
Apa itu aplikasi hibrid, dan mengapa saya harus mempertimbangkan untuk membuatnya?
Aplikasi hibrid memadukan pengembangan aplikasi web dan native terbaik. Inti aplikasi ini dibangun menggunakan teknologi web seperti HTML, CSS, dan JavaScript, lalu dibungkus dalam kontainer asli yang memungkinkan aplikasi memanfaatkan fitur dan perangkat keras platform asli tertentu. Mereka juga dapat didistribusikan melalui penyimpanan aplikasi.
Keuntungan utama dari aplikasi hibrid adalah aplikasi hibrid memungkinkan Anda membuat satu aplikasi yang dapat berjalan di beberapa platform asli dan di web, mengurangi waktu dan biaya pengembangan. Beberapa contoh platform pengembangan aplikasi hibrid menjawab:
- Electron untuk aplikasi desktop
- Ionic untuk aplikasi seluler
- .NET MAUI Blazor hybrid untuk aplikasi lintas platform
Bagaimana cara membangun aplikasi web progresif (PWAs) native-feeling di Windows?
Apa itu aplikasi hibrid Blazor .NET MAUI?
Dengan .NET MAUI, aplikasi Blazor juga dapat berjalan secara asli di Windows, iOS, Android, dan macOS. Ini berarti Anda dapat membuat aplikasi klien hibrid yang menggabungkan komponen Blazor dan .NET MAUI menjadi satu aplikasi klien asli. Ini menyediakan akses penuh ke kemampuan platform asli yang sama yang tersedia untuk aplikasi MAUI .NET lainnya.
Untuk membaca selengkapnya tentang bagaimana Blazor dapat dihosting dalam aplikasi .NET MAUI, lihat ASP.NET Core Blazor Hybrid.
Apakah komponen web aplikasi hibrid .NET MAUI perlu dibuat dengan Blazor?
Tidak, komponen web aplikasi hibrid .NET MAUI tidak perlu dibuat dengan Blazor. Dimulai dengan .NET 9, .NET MAUI menyediakan kontrol HybridWebView yang memungkinkan Anda menghosting UI JavaScript lainnya di aplikasi asli Anda.
Ini berarti Anda dapat mengambil aplikasi web Angular, React, Vue, atau HTML lainnya & JavaScript dan menghostingnya dalam aplikasi .NET MAUI Anda. Kontrol hibrid menyediakan interop antara lapisan C# dan JavaScript sehingga Anda dapat memanggil fungsi JavaScript dari C# dan sebaliknya.
Dapatkah jenis aplikasi asli lainnya menghosting komponen hibrid Blazor?
Ya, aplikasi WPF dan WinForms juga dapat menghosting komponen hibrid Blazor. Ini memungkinkan Anda menambahkan komponen UI web modern ke aplikasi WPF dan WinForms yang ada. Perhatikan bahwa ini tidak dimungkinkan dengan 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?
Anda dapat mencampur dan mencocokkan komponen asli dan hibrid di aplikasi Anda. Misalnya, Anda dapat membangun inti aplikasi menggunakan komponen MAUI .NET lalu menambahkan komponen hibrid untuk menyediakan fungsionalitas tambahan. Ini memungkinkan Anda untuk memanfaatkan yang terbaik dari kedua dunia: performa dan kemampuan komponen asli dan fleksibilitas dan penghematan biaya komponen hibrid.
Apa pilihan saya untuk membangun . Aplikasi web berbasis NET yang terlihat bagus di browser modern di Windows?
Aplikasi web memiliki jangkauan terluas dari platform aplikasi klien mana pun. Jika Anda ingin membuat aplikasi web .NET yang indah di Windows, Anda memiliki beberapa opsi:
- aplikasi ASP.NET Core dengan Halaman Razor
- ASP.NET aplikasi Core MVC
- ASP.NET aplikasi Core Blazor, dengan opsi model hosting termasuk:
- Aplikasi Blazor WebAssembly
- Aplikasi Blazor Server
Perhatikan bahwa model hosting untuk Blazor dapat dikonfigurasi di tingkat komponen sekarang. Jadi, Anda dapat memiliki komponen Blazor WebAssembly yang dihosting di aplikasi Blazor Server.
Baca selengkapnya tentang opsi pengembangan ASP.NET Core dalam dokumentasi ASP.NET Core.
Pilih pendekatan dan pahami investasi Microsoft
Ada begitu banyak opsi kerangka kerja untuk membangun aplikasi yang menargetkan Windows! Bagaimana cara memutuskannya?
Windows adalah platform terbuka yang mendukung banyak teknologi. Berikut adalah beberapa kriteria yang dapat membantu Anda memutuskan platform mana yang akan digunakan:
- Apakah Anda membangun Windows-first atau lintas platform?
- Apakah Anda memiliki pengalaman dengan .NET? JavaScript? Bahasa lain?
- Apakah Anda perlu mengakses API khusus Windows?
- Kemampuan kerangka kerja mana yang paling sesuai dengan persyaratan aplikasi Anda?
- Lihat tabel ini untuk faktor keputusan lainnya.
Ketika datang ke aplikasi bisnis, sebagian besar tim ingin memilih berdasarkan keterampilan yang ada dan apa yang nyaman digunakan tim.
Bagaimana cara memilih pendekatan pengembangan terbaik untuk aplikasi web saya?
Beberapa hal yang perlu dipertimbangkan saat memilih pendekatan pengembangan untuk aplikasi web Anda meliputi:
- Blazor direkomendasikan untuk membangun aplikasi web front-end dengan .NET. Dengan menggunakan Blazor, Anda sekarang dapat membangun seluruh front-end dan back-end Anda dengan .NET, menghemat waktu dan uang. Ini sangat cocok untuk aplikasi lini bisnis perusahaan di perangkat saat ini.
- Aplikasi web JavaScript masih masuk akal jika Anda ingin memanfaatkan keterampilan atau investasi tim yang ada di JavaScript, atau jika Anda perlu berintegrasi dengan pustaka atau kerangka kerja JavaScript yang ada.
- Aplikasi yang ada yang menggunakan kerangka kerja lama, seperti Formulir Web, MVC, atau Halaman Razor, masih didukung dan dapat terus dikembangkan dan dikelola menggunakan kerangka kerja tersebut.
Siapa yang membangun aplikasi dengan WinUI hari ini?
Banyak pelanggan membangun dengan WinUI saat ini, termasuk Adobe dan Apple:
- Adobe Fresco, aplikasi gambar dan lukisan gratis untuk Windows.
- Apple membuat Apple Music, Apple TV, dan app Apple Devices dengan WinUI dan Windows App SDK.
Microsoft juga telah membuat beberapa aplikasi dengan WinUI, termasuk aplikasi Windows 11 File Explorer dan Foto.
Siapa yang membangun aplikasi MAUI .NET hari ini?
Banyak pelanggan menggunakan .NET MAUI untuk membangun aplikasi lintas platform mereka saat ini, termasuk Microsoft. Misalnya, aplikasi seluler Microsoft Azure dibangun menggunakan .NET MAUI.
Cari tahu siapa lagi yang membangun aplikasi dengan .NET MAUI di pelanggan .NET yang menampilkan situs.
Siapa yang membangun aplikasi WPF hari ini?
Sebagian besar antarmuka pengguna Microsoft Visual Studio dibangun dengan WPF. Visual Studio IDE adalah contoh bagus dari aplikasi WPF yang kompleks dan berkinerja tinggi.
Siapa yang membangun aplikasi Blazor hari ini?
Sistem maskapai penerbangan FlightPulse GE Digital menempatkan data sensor dan analitik ke tangan pilot untuk meningkatkan keselamatan dan efisiensi. Konfigurasi backend dari semua yang dilihat pilot semuanya dilakukan dengan Blazor.
Anda dapat membaca lebih lanjut cerita pelanggan Blazor di situs .NET.
UWP dan WinUI 2
Dapatkah aplikasi UWP didistribusikan di luar Microsoft Store?
Ya. Jika paket MSIX Anda ditandatangani, sertifikat penandatanganan harus valid dan tepercaya pada perangkat target.
Dapatkah saya mencampur kontrol UI UWP XAML dengan kontrol UI Win32, WPF, atau WinForms?
Ya - Kepulauan XAML memungkinkan Anda melakukan ini. Pelajari selengkapnya tentang Kepulauan XAML.
Pengemasan, penyebaran, dan pembaruan
Apa perbedaan antara aplikasi yang dikemas, dibongkar, dan dikemas dengan lokasi eksternal?
Untuk definisi aplikasi yang dikemas, tidak dikemas, dan dikemas dengan lokasi eksternal, lihat Gambaran umum penyebaran. Topik itu juga menjelaskan kelebihan dan kekurangan dari setiap opsi.
Apakah aplikasi WinUI saya akan diperbarui secara otomatis untuk pengguna akhir?
Aplikasi WinUI dapat dikirimkan melalui Store, file .appinstaller, atau di paket MSI atau setup.exe yang ada. Store dan AppInstaller mendukung pembaruan otomatis untuk pengguna akhir yang mengaktifkan pembaruan otomatis, tetapi aplikasi MSI/setup.exe Anda harus memiliki pembaruannya sendiri.
Dapatkah saya menggunakan SDK Aplikasi Windows tanpa menggunakan MSBuild?
Secara umum, tidak. WinUI dan Windows App SDK memerlukan MSBuild, itulah sebabnya Visual Studio adalah prasyarat untuk mengembangkan dengan WinUI dan Windows App SDK. Meskipun secara teknis dimungkinkan untuk membuat aplikasi Windows App SDK yang tidak menggunakan WinUI menggunakan toolchain lain, ini tidak didukung.
Performa dan pengoptimalan
Apa yang dapat saya lakukan untuk membuat aplikasi Windows saya terasa hebat bagi pengguna akhir?
Kompatibilitas
Apakah pengguna saya harus memperbarui Windows untuk menggunakan aplikasi WinUI saya?
Pengguna yang memiliki Windows 10, versi 1809 dan seterusnya akan dapat menginstal aplikasi WinUI Anda tanpa memperbarui OS mereka.
Dapatkah saya menargetkan Arm64 dengan aplikasi WinUI saya?
Ya.
Penghentian dan migrasi
Apakah UWP/WinUI 2 tidak digunakan lagi?
Tidak. UWP dan WinUI 2 masih didukung dan akan menerima bug, keandalan, dan perbaikan keamanan. Namun, sebagian besar fitur dan kemampuan baru hanya akan ditambahkan ke WinUI 3.
Nota
Dukungan UWP untuk .NET 9 tersedia dalam pratinjau. Dukungan pratinjau ini menyediakan jalur untuk aplikasi UWP untuk memodernisasi menggunakan versi terbaru .NET.
Ada dua tujuan utama dukungan UWP .NET 9. Pertama, ini menyediakan jalur migrasi yang lebih baik bagi pengembang UWP yang ingin bermigrasi ke WinUI 3. Kedua, ini memungkinkan pengembang untuk menghapus dependensi pada .NET Native, sehingga mereka dapat memperoleh manfaat dari fitur .NET dan C# terbaru, apa pun model aplikasi mereka.
Untuk informasi selengkapnya, lihat Memodernisasi aplikasi UWP Anda dengan dukungan UWP pratinjau untuk posting blog .NET 9 dan Native AOT.
Kapan saya harus memigrasikan aplikasi UWP / WinUI 2 ke WinUI 3?
Pengembang UWP seharusnya tidak merasakan tekanan untuk memigrasikan aplikasi mereka ke WinUI 3, jika mereka senang dengan UWP dan set fiturnya. Pilihan terbaik untuk beberapa aplikasi mungkin tidak pernah bermigrasi. Untuk aplikasi yang ingin mendapatkan manfaat dari platform Windows terbaru dan investasi .NET dari Microsoft, aplikasi ini harus mempertimbangkan untuk pindah ke SDK Aplikasi Windows. Lihat Migrasi dari UWP ke SDK Aplikasi Windows).
Kapan saya harus *tidak* memigrasikan aplikasi UWP + WinUI 2 ke WinUI 3?
Sebaiknya terus gunakan UWP jika Anda membangun untuk Xbox, Surface Hub, atau HoloLens.
Apakah WPF tidak digunakan lagi?
Tidak. WPF juga masih didukung, direkomendasikan, dan menerima pembaruan fitur. Lihat peta jalan WPF di GitHub.
Apakah WinForms tidak digunakan lagi?
Tidak. WinForms masih didukung dan menerima pembaruan fitur. Lihat Peta Strategi Formulir Windows di GitHub.
Apakah Windows Runtime (WinRT) tidak digunakan lagi?
Tidak. WinRT mengacu pada antarmuka biner aplikasi (ABI) yang memungkinkan Anda menginteropsi antara beberapa bahasa. WinRT adalah evolusi COM. 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 saluran stabil dan Catatan rilis saluran pratinjau.