Pengantar penulisan aplikasi Windows

Selesai

Apa yang akan kita pelajari?

Dalam modul ini, Anda akan mempelajari cara menulis aplikasi yang sama dalam tiga cara berbeda, dengan menggunakan tiga teknologi Windows yang berbeda. Anda menggunakan C#, tetapi menggabungkannya dengan tiga kerangka kerja pengembangan: Platform Windows Universal (UWP), Windows Presentation Foundation (WPF), dan Formulir Windows.

Kami kemudian memperkenalkan Windows Template Studio (WTS), dan Anda dapat melihat seberapa cepat Anda dapat menghasilkan inti aplikasi modern dengan upaya minimal.

Kisah tiga platform

Selama bertahun-tahun, teknologi dan persyaratan yang berbeda telah menyebabkan pengembangan banyak cara menulis aplikasi yang berjalan di Windows. Tujuannya selalu sama: membantu pengembang membuat antarmuka pengguna dan menghasilkan kode boilerplate penting, sehingga mereka dapat menambahkan fungsionalitas unik yang membuat aplikasi mereka berguna. Tidak ada yang ingin menulis kode yang menampilkan piksel teks menurut piksel atau menggambar bentuk yang membentuk menu atau jendela. Pengembang ingin memiliki kode yang konsisten, terbukti, andal yang menangani semua fitur ini (dan banyak lagi!) yang sudah tersedia.

Untuk itu, Microsoft telah membuat banyak alat dan pustaka. Ketiga yang akan kita lihat di jalur pembelajaran ini adalah UWP, WPF, dan Formulir Windows. Ketiganya menyediakan pendekatan serupa untuk membangun aplikasi dasar.

Diagram that shows some of the development platforms available in Visual Studio, such as UWP, WPF, and Windows Forms.

Platform Windows Universal

Windows 10 memperkenalkan Platform Windows Universal (UWP), yang menyediakan platform aplikasi umum di setiap perangkat yang menjalankan Windows. API inti UWP sama di semua perangkat Windows. Jika aplikasi Anda hanya menggunakan API inti, aplikasi ini berjalan pada perangkat Windows 10 apa pun, baik itu PC desktop, Xbox, headset realitas campuran, atau yang lain.

UWP adalah yang terbaik jika Anda menargetkan Windows dan Anda ingin akses yang tidak tertandingi ke API dan fitur Windows. UWP juga memberikan manfaat lain dari platform aplikasi modern. Manfaat tersebut antara lain:

  • Model UI berbasis Extensible Application Markup Language (XAML) dengan dukungan bawaan untuk beradaptasi dengan DPI dan perubahan ukuran layar.
  • Model keamanan di mana pengguna secara eksplisit memberikan akses aplikasi ke kemampuan perangkat.
  • Model pengemasan yang mendukung penginstalan bersih dan kemampuan untuk menerbitkan langsung ke Microsoft Store.

Windows Presentation Foundation

Windows Presentation Foundation (WPF) adalah kerangka kerja UI untuk membuat aplikasi klien desktop. Platform pengembangan WPF mendukung serangkaian fitur pengembangan aplikasi yang luas, termasuk:

  • Model aplikasi
  • Sumber
  • Kontrol
  • Grafik
  • Tata letak
  • Pengikatan data
  • Dokumen
  • Keamanan

Ini adalah bagian dari pustaka khusus Windows di .NET, jadi jika Anda telah membangun aplikasi dengan .NET dengan menggunakan ASP.NET Core atau Formulir Windows, pengalaman pemrograman harus akrab. WPF menggunakan XAML untuk menyediakan model deklaratif untuk pemrograman aplikasi.

WPF dan Formulir Windows adalah yang terbaik jika Anda ingin memiliki tingkat produktivitas pengkodian yang lebih tinggi daripada C++ dan Win32. Karena bagian non-UI dari .NET modern sekarang lintas platform, Anda juga dapat berbagi beberapa kode .NET dan pustaka dengan platform lain, termasuk macOS dan Linux.

Formulir Windows

Formulir Windows adalah antarmuka pengguna grafis sumber terbuka untuk .NET, sekumpulan pustaka kelas dasar standar dan API yang menyederhanakan tugas aplikasi umum. Saat Anda menggunakan lingkungan pengembangan seperti Visual Studio, Anda bisa membuat aplikasi klien cerdas Formulir Windows yang menampilkan informasi, meminta input dari pengguna, dan berkomunikasi dengan komputer jarak jauh melalui jaringan. Platform Formulir Windows saat ini didasarkan pada platform UI .NET Framework yang lebih lama dan tidak memiliki beberapa fitur yang disediakan oleh WPF dan UWP.

Ketiga platform tersebut adalah subjek fokus kami dalam modul pelatihan ini. Namun, sebelum kita mulai, mari kita lihat sekilas dua opsi lainnya: WinUI dan Win32.

WinUI dan SDK Aplikasi Windows

WinUI 3 adalah komponen platform UI asli yang dikirim dengan SDK Aplikasi Windows (dipisahkan dari Windows SDK). SDK Aplikasi Windows menyediakan sekumpulan API dan alat terpadu yang dapat digunakan untuk membuat aplikasi desktop produksi yang menargetkan Windows 10 dan yang lebih baru, dan dapat diterbitkan ke Microsoft Store.

Catatan

Saat ini, ada dua generasi Pustaka Windows UI (WinUI): WinUI 2 untuk UWP dan WinUI 3 di SDK Aplikasi Windows. Meskipun keduanya dapat digunakan dalam aplikasi siap produksi di Windows 10 dan yang lebih baru, masing-masing memiliki target pengembangan yang berbeda. Lihat Perbandingan WinUI 3 dan WinUI 2.

Kami tidak dapat berbicara tentang menulis aplikasi Windows tanpa menyebutkan satu opsi lagi: Win32.

Win32 (Windows API) dan C++

Win32 API (lebih tepatnya disebut Windows API) memungkinkan aplikasi untuk menggunakan fitur Windows. Dengan menggunakan API ini, Anda dapat mengembangkan aplikasi yang berhasil berjalan di semua versi Windows sambil tetap memanfaatkan fitur dan kemampuan yang unik untuk setiap versi. Win32 adalah pilihan yang baik jika Anda perlu mencapai tingkat performa atau efisiensi tertinggi, mengakses fitur OS asli, atau menargetkan teknologi DirectX.

Pendekatan ini memungkinkan Anda mencapai kinerja terbaik untuk aplikasi Anda dengan mengambil kendali langsung atas alokasi memori dan fitur CPU berorientasi kinerja seperti instruksi SSE atau AVX. Ini adalah cara terbaik untuk menargetkan teknologi DirectX untuk akses grafis berperforma tinggi dan tingkat rendah. Anda dapat berbagi kode C++ antara semua jenis aplikasi Windows dan dengan platform non-Windows. Tradeoff adalah bahwa, misalnya, dibandingkan dengan C# dan WPF, dapat membutuhkan cukup banyak pekerjaan untuk mengimplementasikan fitur dasar yang merata.

Catatan

Untuk informasi selengkapnya, lihat Menulis aplikasi untuk Windows: Memilih teknologi pengembangan.

Aplikasi yang Anda tulis

Aplikasi yang akan Anda buat dalam modul ini sederhana. Ini menampilkan beberapa teks dan mengubah beberapa warna saat Anda memilih tombol.

Animation of the Say hello application running with text that repeatedly changes color.

Ini tidak akan memenangkan penghargaan apa pun, tetapi menunjukkan kesamaan dan perbedaan di antara platform pengembangan.

Setelah Anda puas, Anda dapat melanjutkan untuk mencoba Windows Template Studio. Dengan WTS, Anda membuat aplikasi yang terlihat sedikit lebih mengesankan.

Screenshot that shows a composite of three different pages of a Weather application: a map, chart, and settings page.

Siap untuk mulai?