Bagikan melalui


Pertanyaan yang Sering Diajukan Pengembangan Aplikasi Windows

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, 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 terbaru, Memilih platform dev ideal Anda, di mana mereka membahas WinUI, .NET MAUI, React Native, Blazor, dan Progressive Web Apps (PWAs).

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.

Inilah mengapa aplikasi klien 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 Windows App SDK?

SDK Aplikasi Windows adalah platform pengembangan aplikasi Windows yang memungkinkan Anda membuat aplikasi desktop yang indah, modern, kompatibel mundur (hingga Windows 10 1809). WinUI adalah kerangka kerja UI yang dikirim dengan Windows App SDK.

Apa perbedaan antara Windows App SDK 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 membangun dengan Windows App SDK, fitur platform pengembangan Windows terbaru tersedia. Windows App SDK mencakup WinUI.

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. Sebagai gantinya, Windows App SDK melengkapi Windows SDK. Ini menyediakan abstraksi yang nyaman terlepas dari OS, berfokus pada katalog lengkap API OS Windows yang sudah dapat diakses menggunakan Windows SDK. Aplikasi yang dibangun dengan Windows App SDK mungkin masih menggunakan API Windows SDK tergantung pada kebutuhan fungsionalitas. Seiring waktu, lebih banyak fungsionalitas Windows SDK akan berpindah ke Windows App SDK.

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 perangkat keras Windows modern, memberikan pengalaman pengguna yang cepat dan responsif.
  • Integrasi: Windows dikirim dengan berbagai API yang memungkinkan pengalaman canggih 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.
  • Monetisasi: Kerangka kerja asli dikelola secara aktif dan didukung oleh Microsoft, memastikan 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. Ini menyediakan kerangka kerja UI modern dan fleksibel untuk membuat aplikasi Windows yang menarik dan interaktif secara visual. WinUI adalah bagian dari Windows App SDK dan 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).

Umumnya, WinUI tidak dapat digunakan kecuali aplikasi siap untuk memigrasikan kerangka kerja UI-nya sepenuhnya. Fitur yang disebut kepulauan XAML sedang dikembangkan untuk menghosting konten WinUI dalam kerangka kerja UI lainnya (WPF, Win32).

Elemen Windows App SDK sering dapat digunakan di aplikasi desktop, tergantung pada bagaimana aplikasi yang ada dibuat. Aplikasi UWP tidak didukung oleh Windows App SDK.

Ini berarti aplikasi WPF/MFC/WinForms dapat menggunakan API SDK Aplikasi Windows yang tidak terkait dengan WinUI. Contohnya termasuk Siklus Hidup Aplikasi, Windowing, dan Pemberitahuan Toast.

Lihat Menggunakan Windows App SDK di proyek yang sudah ada untuk informasi selengkapnya.

Apakah saya perlu menggunakan Visual Studio untuk membuat aplikasi WinUI?

Menggunakan Visual Studio 2022 versi 17.10 atau lebih tinggi sangat disarankan untuk pengembangan WinUI. Versi Visual Studio terbaru menawarkan fitur pengembangan yang kaya seperti Hot Reload dan menyertakan beban kerja pengembangan aplikasi WinUI yang menyederhanakan penyiapan.

ID dan alur kerja lain mungkin berfungsi, tetapi Visual Studio saat ini adalah satu-satunya IDE yang didukung secara resmi untuk WinUI. Perhatikan bahwa MSBuild diperlukan untuk mengkompilasi proyek XAML atau WinUI.

Apa perbedaan antara WinUI, WinUI 2 dan WinUI 3?

WinUI adalah kerangka kerja UI asli terbaru untuk pengembangan aplikasi Windows. Ini menyediakan kerangka kerja UI modern dan fleksibel untuk membuat aplikasi Windows yang menarik dan interaktif secara visual. WinUI adalah bagian dari Windows App SDK dan bekerja paling baik dengan versi Terbaru Windows.

WinUI 2 adalah sekumpulan kontrol dan gaya UI yang dibangun di atas UWP. Ini memberikan tampilan dan nuansa modern untuk aplikasi UWP dan dirancang untuk Windows 10.

WinUI 3 adalah nama sebelumnya untuk WinUI ketika pertama kali dikirim sebagai bagian dari Windows App SDK.

Singkatnya, WinUI adalah versi terbaru dan paling canggih dari kerangka kerja WinUI, WinUI 2 adalah pustaka kontrol untuk UWP, dan WinUI 3 adalah label sebelumnya untuk WinUI. Gunakan "WinUI" ke depan kecuali secara khusus mengacu pada WinUI 2.

Saat saya membuat aplikasi menggunakan Windows App SDK dan WinUI, apakah saya membuat "aplikasi WinUI"?

Ya — "Aplikasi WinUI" adalah istilah yang direkomendasikan. Aplikasi WinUI disebut sebagai "aplikasi WinUI" karena WinUI 2 bukan jenis aplikasi tetapi sekumpulan komponen yang digunakan dalam aplikasi UWP.

Dapatkah saya secara bertahap memperbarui aplikasi UWP saya dengan kontrol WinUI 2 ke WinUI dengan secara bertahap mengganti komponen WinUI 2 dengan komponen WinUI?

Tidak. Windows App SDK tidak dapat digunakan di aplikasi UWP, dan WinUI 2 tidak dapat dicampur dengan WinUI. 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 terutama bergantung pada:

  1. File proyek dan kustomisasi MSBuild: Upaya migrasi bervariasi tergantung pada penggunaan MSBuild tingkat lanjut.
  2. Migrasi .NET API: Aplikasi UWP yang menggunakan .NET harus berpindah ke .NET 6 atau yang lebih baru. Dalam banyak kasus, mengadopsi .NET 6 sangat mudah.
  3. Pustaka komponen UI: Pustaka harus memiliki versi yang menargetkan WinUI.
  4. Jika aplikasi UWP ditulis dalam C++/CX yang sekarang digantikan, beberapa port kode sumber diperlukan. Lihat Pindah ke C++/WinRT dari C++/CX.

Untuk informasi selengkapnya, lihat Migrasi dari UWP ke Windows App SDK.

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 memperbarui identitas aplikasi. Pengguna versi lama akan diperbarui ke versi baru. 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 Windows App SDK?

Lihat Migrasi dari UWP ke SDK Aplikasi Windows.

Apakah saya perlu menggunakan markup XAML jika saya ingin menggunakan WinUI?

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: Banyak komponen XAML dan UI dapat digunakan kembali, meskipun beberapa penyesuaian sintaks diperlukan.
  • Migrasi dari WPF ke WinUI: Banyak konsep yang dibawa, tetapi set kontrol dan API berbeda.
Apakah Visual Studio memiliki perancang permukaan desain / UI untuk WinUI?

Belum. Ini adalah celah yang diketahui dalam pengalaman pengembang WinUI. Alat seperti XAML Hot Reload dapat membantu dalam banyak skenario. Pekerjaan telah dimulai pada desainer UI Visual Studio untuk WinUI di Windows App SDK 1.7, tetapi belum ada garis waktu untuk rilisnya.

Apakah Windows App SDK menyertakan WinUI?

Ya. WinUI dikirim sebagai bagian dari Windows App SDK.

Apakah Windows App SDK menyertakan WinUI 2?

Tidak. WinUI 2 adalah bagian dari platform UWP.

Apakah WinUI 2 dan WinUI dibangun di atas teknologi yang sama?

Tidak cocok. Meskipun WinUI awalnya dimulai dari basis kode WinUI 2, mereka adalah teknologi yang berbeda. Keduanya adalah kerangka kerja UI berbasis XAML yang berfungsi di .NET dan C++, tetapi WinUI 2 dan WinUI tidak kompatibel satu sama lain.

Dapatkah saya menggunakan WinUI tanpa menggunakan Windows App SDK?

Tidak. WinUI dikirim sebagai bagian dari Windows App SDK.

Dapatkah saya menggunakan WinUI di aplikasi yang tidak dikemas?

Ya. Semua teknologi di Windows App SDK, termasuk WinUI, berfungsi di aplikasi yang tidak dikemas.

Apa perbedaan antara Kepulauan XAML dan WinUI?

XAML Islands memungkinkan Anda menjalankan kontrol berbasis XAML modern bersamaan dengan UI Win32 yang ada dari kerangka kerja lain seperti WinForms dan WPF.

Saat ini, XAML Islands mendukung sebagian besar kontrol sistem XAML dan WinUI 2. Lihat Kontrol Host WinRT XAML di aplikasi desktop (Kepulauan XAML) untuk detail selengkapnya. Dukungan untuk menghosting kontrol WinUI tersedia mulai dari Windows App SDK 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 Windows App SDK?

Ya. Lihat Menerapkan materi Mica atau Akrilik di aplikasi desktop untuk Windows 11.

Di mana saya dapat menemukan sampel WinUI?

Lihat Sampel dan sumber daya. Beberapa repositori penting:

Jika saya telah banyak berinvestasi di WPF, haruskah saya terus menggunakan WPF atau mempertimbangkan untuk bermigrasi ke WinUI?

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.

Pertimbangkan untuk menggunakan Asisten Peningkatan .NET untuk memigrasikan aplikasi WPF .NET Framework ke platform .NET terbaru. Ini menganalisis basis kode Anda dan memberikan panduan tentang memperbaruinya.

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 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. Beberapa area investasi saat ini meliputi:

  • Dukungan asinkron untuk 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 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.
Dapatkah saya yakin bahwa aplikasi .NET MAUI akan berjalan dengan baik di Windows?

Saat Anda membuat aplikasi .NET MAUI untuk Windows, outputnya adalah aplikasi WinUI. Selama pengembangan, .NET MAUI menawarkan satu pengalaman .NET lintas platform, tetapi menghasilkan kode khusus platform di balik layar. Ini memastikan bahwa aplikasi MAUI .NET berperforma baik di setiap platform dan memberikan pengalaman pengguna asli.

Bagaimana .NET MAUI dapat menyediakan API perangkat asli di setiap platform?

.NET MAUI menyediakan pengalaman .NET terpadu di Windows, iOS, Android, dan macOS. Ini mengabstraksi lebih dari 60 API khusus platform ke dalam satu set API lintas platform, mencakup area seperti penyimpanan, jaringan, dan sensor perangkat. API khusus platform tambahan juga dapat diakses menggunakan injeksi dependensi untuk menyediakan implementasi khusus per platform.

Dapatkah saya mulai dengan WinUI, dan kemudian mengintegrasikan .NET MAUI jika saya akhirnya ingin menargetkan skenario lintas platform?

Tidak saat ini. Meskipun .NET MAUI menggunakan WinUI saat berjalan di Windows, tim yang mengharapkan untuk menargetkan beberapa platform harus dimulai dengan .NET MAUI atau React Native for 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 aplikasi Windows dan macOS asli.

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 untuk Desktop?

Aplikasi React Native dapat disebarkan ke semua perangkat yang didukung oleh Windows 10 dan yang lebih baru, 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, UWP disarankan. Windows App SDK tidak mendukung platform ini. Untuk pengembangan game, 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 Windows dan Surface Hub, UWP disarankan.

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 ke fitur dan perangkat keras platform asli tertentu. Mereka juga dapat didistribusikan melalui penyimpanan 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
Bagaimana cara membangun aplikasi web progresif yang berasa seperti native di Windows?

Lihat Pengembangan web di Windows dan Gambaran Umum Progresif Web Apps.

Apa itu aplikasi hibrid Blazor .NET MAUI?

Dengan .NET MAUI, aplikasi Blazor dapat berjalan secara asli 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 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?

Aplikasi web menawarkan jangkauan terluas dari platform aplikasi klien mana pun. Opsi untuk membuat aplikasi web .NET yang indah meliputi:

  • aplikasi ASP.NET Core dengan Halaman Razor
  • ASP.NET aplikasi Core MVC
  • ASP.NET aplikasi Core Blazor, 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 memutuskannya?

Windows adalah platform terbuka yang mendukung banyak teknologi. Berikut adalah beberapa kriteria yang dapat membantu Anda memilih platform:

  • Apakah Anda membangun Windows-first atau 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.
  • Aplikasi web JavaScript 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 hari ini?

Banyak pelanggan membangun dengan WinUI saat ini, termasuk Adobe dan Apple:

Microsoft juga telah membangun banyak aplikasi WinUI, seperti Windows 11 File Explorer dan aplikasi Foto.

Siapa yang membangun aplikasi MAUI .NET hari ini?

Banyak pelanggan, termasuk Microsoft, membangun aplikasi lintas platform dengan .NET MAUI. Misalnya, aplikasi seluler Microsoft Azure dibangun menggunakan .NET MAUI.

Lihat selengkapnya di showcase pelanggan .NET.

Siapa yang membangun aplikasi WPF hari ini?

Sebagian besar UI Microsoft Visual Studio dibangun dengan WPF. Ide Visual Studio itu sendiri adalah contoh utama aplikasi WPF yang kompleks dan berkinerja tinggi.

Siapa yang membangun aplikasi Blazor hari ini?

Sistem penerbangan FlightPulse GE Digital menggunakan Blazor untuk konfigurasi backend dari semua yang dilihat pilot, membawa data sensor dan analitik langsung ke pilot untuk meningkatkan keamanan dan efisiensi.

Lihat lebih banyak 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 ini. Lihat Pelajari selengkapnya tentang Kepulauan XAML.

Pengemasan, penyebaran, dan pembaruan

Apa perbedaan antara aplikasi yang dikemas, dibongkar, dan dikemas dengan lokasi eksternal?

Untuk definisi mengenai dikemas, tanpa kemasan, dan dikemas dengan aplikasi lokasi eksternal, lihat Ikhtisar 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 melalui 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 harus menyediakan mekanisme pembaruan mereka sendiri.

Dapatkah saya menggunakan Windows App SDK tanpa menggunakan MSBuild?

Umumnya, tidak. WinUI dan Windows App SDK memerlukan MSBuild, itulah sebabnya Visual Studio adalah prasyarat untuk mengembangkannya. Meskipun secara teknis dimungkinkan untuk membangun aplikasi Windows App SDK yang tidak menggunakan WinUI dengan toolchain lain, ini tidak didukung.

Performa dan pengoptimalan

Apa yang dapat saya lakukan untuk membuat aplikasi Windows saya terasa hebat bagi pengguna akhir?

Lihat Membuat aplikasi bagus untuk Windows.

Compatibility

Apakah pengguna saya harus memperbarui Windows untuk menggunakan aplikasi WinUI saya?

Pengguna dengan Windows 10, versi 1809 atau yang lebih baru dapat menginstal aplikasi WinUI 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 terus menerima bug, keandalan, dan perbaikan keamanan. Namun, sebagian besar fitur dan kemampuan baru ditambahkan ke WinUI.

Dukungan UWP untuk .NET 9 tersedia. Opsi ini menyediakan jalur modernisasi untuk aplikasi UWP menggunakan versi .NET terbaru.

Tujuan dukungan UWP .NET 9 adalah:

  1. Berikan jalur migrasi yang lebih baik bagi pengembang yang ingin pindah ke WinUI.
  2. Hapus dependensi pada .NET Native sehingga pengembang dapat memperoleh manfaat dari fitur .NET dan C# terbaru.

Untuk informasi selengkapnya, lihat posting blog: Memodernisasi aplikasi UWP Anda dengan dukungan UWP pratinjau untuk .NET 9 dan Native AOT.

Kapan saya harus memigrasikan aplikasi UWP / WinUI 2 ke WinUI?

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 mendapatkan manfaat dari platform Windows terbaru dan investasi .NET harus mempertimbangkan untuk pindah ke Windows App SDK. Lihat Migrasi dari UWP ke SDK Aplikasi Windows.

Kapan saya sebaiknya tidak memigrasikan aplikasi UWP + WinUI 2 ke WinUI?

Lanjutkan menggunakan UWP jika Anda membangun untuk Xbox, Surface Hub, atau HoloLens.

Apakah WPF tidak digunakan lagi?

Tidak. WPF didukung, direkomendasikan, dan terus menerima pembaruan fitur. Lihat peta jalan WPF di GitHub.

Apakah WinForms tidak digunakan lagi?

Tidak. WinForms didukung dan terus menerima pembaruan fitur. Lihat Peta Strategi Formulir Windows di GitHub.

Apakah Windows Runtime (WinRT) tidak digunakan lagi?

Tidak. WinRT adalah antarmuka biner aplikasi (ABI) yang memungkinkan interop di beberapa bahasa. WinRT adalah evolusi COM, dan Windows App SDK menyediakan sebagian besar fungsionalitasnya melalui API WinRT.

Catatan rilis

Di mana saya dapat menemukan catatan rilis untuk Windows App SDK?

Catatan rilis terbaru dapat ditemukan di halaman Apa yang baru .