Bagikan melalui


Pertanyaan Umum 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 3, 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 Web Apps Progresif (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 cloud services, 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 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 Windows App SDK?

Windows App SDK 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.

Windows App SDK 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 termasuk 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.

Windows App SDK 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.

Aku 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.
  • Monetization: Kerangka kerja asli secara aktif dikelola dan didukung oleh Microsoft, memastikan access ke pembaruan dan fitur terbaru.
Kerangka kerja yang harus saya gunakan untuk memanfaatkan investasi terbaru Microsoft dalam pengembangan Windows app?

Jika Anda membangun aplikasi khusus Windows baru, sebaiknya gunakan WinUI. WinUI adalah kerangka kerja UI asli terbaru untuk pengembangan Windows app 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.

Bisa saya menggunakan Windows App SDK / WinUI di Windows app saya yang 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 XAML islands sedang dalam pengembangan 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 Windows App SDK yang tidak terkait dengan WinUI. Contohnya termasuk Siklus Hidup Aplikasi, Windowing, dan Pemberitahuan Toast.

Lihat Gunakan Windows App SDK di project untuk informasi selengkapnya.

Aku perlu menggunakan Visual Studio untuk membangun 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 pengembangan aplikasi WinUI beban kerja yang menyederhanakan penyiapan.

ID dan alur kerja lainnya 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 dan WinUI untuk UWP?

WinUI (sebelumnya disebut sebagai WinUI 3) adalah kerangka kerja UI asli terbaru untuk pengembangan Windows app. 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 untuk UWP (sebelumnya disebut sebagai 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.

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

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

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

Tidak. Windows App SDK tidak dapat digunakan di aplikasi UWP, dan WinUI untuk UWP tidak dapat dicampur dengan WinUI. Lihat Migrate dari UWP ke Windows App SDK.

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. Project file dan penyesuaian MSBuild: Upaya migrasi bervariasi tergantung pada penggunaan MSBuild tingkat lanjut.
  2. .NET migrasi API: aplikasi UWP 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 Migrate 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 saya mengemas/mendistribusikan aplikasi WinUI saya?

Lihat Gambaran Umum Penyebaran.

Apakah saya dapat menemukan panduan migrasi Windows App SDK?

Lihat Migrate dari UWP ke Windows App SDK.

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 antarmuka desain/perancang 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 perancang UI (antarmuka pengguna) Visual Studio untuk WinUI di Windows App SDK 1.7, tetapi belum ada jadwal untuk rilisnya.

Apakah Windows App SDK menyertakan WinUI?

Ya. WinUI dikirim sebagai bagian dari Windows App SDK.

Does Windows App SDK menyertakan WinUI untuk UWP?

Tidak. WinUI untuk UWP adalah bagian dari platform UWP.

Apakah WinUI untuk UWP dan WinUI dibangun di atas teknologi yang sama?

Tidak sepenuhnya benar. Meskipun WinUI awalnya 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 tidak kompatibel satu sama lain.

Bisa 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 dalam Windows App SDK, termasuk WinUI, berfungsi di aplikasi yang tidak dikemas.

Apa perbedaan antara Kepulauan XAML dan WinUI?

XAML Islands memungkinkan Anda menghosting kontrol berbasis XAML modern bersama UI Win32 yang sudah ada dari kerangka kerja lain seperti WinForms dan WPF.

Saat ini, XAML Islands mendukung sebagian besar sistem XAML dan WinUI pada kontrol UWP. 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.

Bisa saya menggunakan latar belakang Mica atau Acrylic di aplikasi yang dibangun dengan Windows App SDK?

Ya. Lihat Menerapkan bahan Mica atau Acrylic pada 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 kerangka kerja .NET 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 clipboard access

Pengembangan aplikasi native 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.
Bisa saya yakin bahwa aplikasi MAUI .NET akan berjalan dengan baik di Windows?

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

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

.NET MAUI memberikan 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 storage, jaringan, dan sensor perangkat. API khusus platform tambahan juga dapat diakses menggunakan injeksi dependensi untuk menyediakan implementasi khusus per platform.

Bisa 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 mixed reality.

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 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
Bagaimana cara saya membuat aplikasi web progresif (PWAs) dengan nuansa asli di Windows?

Lihat Pengembangan Web di Windows dan Gambaran Umum Aplikasi Web Progresif.

Apa itu aplikasi hibrid .NET MAUI Blazor?

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 access penuh ke kemampuan platform asli.

Pelajari lebih lanjut di ASP.NET Core Blazor Hybrid.

Apakah komponen web dari aplikasi hibrid .NET MAUI perlu dibuat menggunakan 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 MAUI .NET. 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 MAUI .NET 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 web apps berbasis .NET yang terlihat bagus di browser modern di Windows?

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

  • Aplikasi ASP.NET Core dengan Halaman Razor
  • 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 saya memutuskan?

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 access 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 web apps 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 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.

Who 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 lebih lanjut tentang .NET contoh penggunaan pelanggan.

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.

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.

Bisa 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 Windows app saya merasa hebat bagi pengguna akhir?

Lihat Pengembangan aplikasi Windows - Praktik terbaik dan Pembahasan performa dan dasar-dasar aplikasi 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 untuk UWP tidak digunakan lagi?

Tidak. UWP dan WinUI untuk UWP 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 .NET 9 UWP 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 post blog: Memodernisasi aplikasi UWP Anda dengan dukungan pratinjau UWP untuk .NET 9 dan Native AOT.

Kapan saya harus memigrasikan UWP / WinUI untuk aplikasi UWP 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 mendapat manfaat dari platform Windows terbaru dan investasi .NET harus mempertimbangkan untuk pindah ke Windows App SDK. Lihat Migrate dari UWP ke Windows App SDK.

Kapan saya tidak harus memigrasikan aplikasi UWP + WinUI ke WinUI?

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

Apakah WPF sudah usang?

Tidak. WPF didukung, direkomendasikan, dan terus menerima pembaruan fitur. Lihat peta strategi WPF pada GitHub.

Apakah WinForms tidak digunakan lagi?

Tidak. WinForms didukung dan terus menerima pembaruan fitur. Lihat roadmap Windows Forms pada 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 .