Windows uygulamaları yazmaya giriş

Tamamlandı

Neyi ele alacağız?

Bu modülde, üç farklı Windows teknolojisini kullanarak aynı uygulamayı üç farklı yolla yazmayı öğreneceksiniz. C# kullanırsınız, ancak bunu üç geliştirme çerçevesiyle birleştirirsiniz: Evrensel Windows Platformu (UWP), Windows Presentation Foundation (WPF) ve Windows Forms.

Ardından Windows Template Studio'yu (WTS) tanıtıyoruz ve modern bir uygulamanın çekirdeğini en az çabayla ne kadar hızlı oluşturabileceğinizi görebilirsiniz.

Üç platformdan oluşan bir hikaye

Yıllar içinde farklı teknolojiler ve gereksinimler, Windows üzerinde çalışan uygulamalar yazmanın birçok yolunun geliştirilmesine yol açmıştı. Hedef her zaman aynı olmuştur: geliştiricilerin bir kullanıcı arabirimi oluşturmasına ve temel ortak kod oluşturmasına yardımcı olarak, uygulamaları kullanışlı hale getiren benzersiz işlevleri eklemelerine yardımcı olun. Kimse metin pikselini piksel olarak görüntüleyen veya menüyü veya pencereyi oluşturan şekilleri çizen kod yazmak istemez. Geliştiriciler, tüm bu özellikleri (ve çok daha fazlasını! ) işleyen tutarlı, kanıtlanmış, güvenilir bir koda sahip olmak istiyor.

Bu amaçla Microsoft birçok araç ve kitaplık oluşturmuştur. Bu öğrenme yolunda göz atacağımız üçü UWP, WPF ve Windows Forms'dur. Üçü de temel uygulamalar oluşturmak için benzer yaklaşımlar sağlar.

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

Evrensel Windows Platformu

Windows 10, Windows çalıştıran her cihazda ortak bir uygulama platformu sağlayan Evrensel Windows Platformu (UWP) özelliğini kullanıma sunar. UWP çekirdek API'leri tüm Windows cihazlarında aynıdır. Uygulamanız yalnızca temel API'leri kullanıyorsa masaüstü bilgisayar, Xbox, karma gerçeklik başlığı veya başka bir şey olsun, herhangi bir Windows 10 cihazında çalışır.

Windows'u hedef alıyorsanız ve Windows API'lerine ve özelliklerine erişim sağlamak istiyorsanız UWP en iyisidir. UWP, modern bir uygulama platformunun diğer avantajlarını da sağlar. Bu avantajlar:

  • DPI ve ekran boyutu değişikliklerine uyum sağlamak için yerleşik desteğe sahip Genişletilebilir Uygulama İşaretleme Dili (XAML) tabanlı kullanıcı arabirimi modeli.
  • Kullanıcıların uygulamalara cihaz özelliklerine açıkça erişim izni veren bir güvenlik modeli.
  • Temiz yüklemeleri ve doğrudan Microsoft Store'da yayımlama özelliğini destekleyen bir paketleme modeli.

Windows Presentation Foundation

Windows Presentation Foundation (WPF), masaüstü istemci uygulamaları oluşturmaya yönelik bir ui çerçevesidir. WPF geliştirme platformu, aşağıdakiler dahil olmak üzere çok çeşitli uygulama geliştirme özelliklerini destekler:

  • Uygulama modeli
  • Kaynaklar
  • Denetimler
  • Grafik
  • Düzen
  • Veri bağlama
  • Belgeler
  • Güvenlik

.NET'teki Windows'a özgü kitaplıkların bir parçasıdır, bu nedenle ASP.NET Core veya Windows Forms kullanarak .NET ile uygulamalar oluşturmuşsanız programlama deneyimi tanıdık olmalıdır. WPF, uygulama programlama için bildirim temelli bir model sağlamak üzere XAML kullanır.

WPF ve Windows Forms, C++ ve Win32'den daha yüksek bir kodlama üretkenliği düzeyine sahip olmak istiyorsanız en iyisidir. Modern .NET'in kullanıcı arabirimi olmayan bölümleri artık platformlar arası olduğundan, bazı .NET kodunu ve kitaplıklarını macOS ve Linux gibi diğer platformlarla da paylaşabilirsiniz.

Windows Forms

Windows Forms , yaygın uygulama görevlerini basitleştiren standart bir temel sınıf kitaplıkları ve API'leri kümesi olan .NET için açık kaynak, grafik kullanıcı arabirimidir. Visual Studio gibi bir geliştirme ortamı kullandığınızda, bilgileri görüntüleyen, kullanıcılardan giriş isteyen ve ağ üzerinden uzak bilgisayarlarla iletişim kuran Windows Forms akıllı istemci uygulamaları oluşturabilirsiniz. Geçerli Windows Forms platformu eski bir .NET Framework kullanıcı arabirimi platformunu temel alır ve WPF ve UWP tarafından sağlanan bazı özelliklerden yoksundur.

Bu üç platform, bu eğitim modülünde odak noktamızdır. Başlamadan önce diğer iki seçeneğe hızlıca göz atalım: WinUI ve Win32.

WinUI ve Windows Uygulama SDK'sı

WinUI 3 , Windows Uygulama SDK'sı (Windows SDK'sından ayrılmış) ile birlikte gelen yerel ui platformu bileşenidir. Windows Uygulama SDK'sı, Windows 10 ve üzerini hedefleyen üretim masaüstü uygulamaları oluşturmak için kullanılabilecek ve Microsoft Store'da yayımlanabilen birleşik bir API'ler ve araçlar kümesi sağlar.

Dekont

Şu anda, Windows Kullanıcı Arabirimi Kitaplığı'nın (WinUI) iki nesli vardır: Windows Uygulama SDK'sında UWP için WinUI 2 ve WinUI 3. Her ikisi de Windows 10 ve sonraki sürümlerde üretime hazır uygulamalarda kullanılabilse de, her birinin farklı geliştirme hedefleri vardır. Bkz . WinUI 3 ve WinUI 2 Karşılaştırması.

Bir seçenekten daha bahsetmeden Windows uygulamaları yazma hakkında konuşamıyoruz: Win32.

Win32 (Windows API) ve C++

Win32 API'si (daha doğru bir şekilde Windows API'si olarak adlandırılır), uygulamaların Windows'un özelliklerini kullanmasını sağlar. Bu API'yi kullanarak, windows'un tüm sürümlerinde başarılı bir şekilde çalışan uygulamalar geliştirebilir ve her sürüme özgü özelliklerden ve özelliklerden yararlanmaya devam edebilirsiniz. En yüksek performans veya verimlilik düzeylerine ulaşmanız, yerel işletim sistemi özelliklerine erişmeniz veya DirectX teknolojilerini hedeflemeniz gerekiyorsa Win32 iyi bir seçimdir.

Bu yaklaşım, bellek ayırma ve SSE veya AVX yönergeleri gibi performans odaklı CPU özellikleri üzerinde doğrudan denetim sahibi olarak uygulamanız için en iyi performansı elde etmenizi sağlar. Düşük düzeyli, yüksek performanslı grafik erişimi için DirectX teknolojilerini hedeflemenin en iyi yoludur. C++ kodunu tüm Windows uygulamaları ve Windows dışı platformlar arasında paylaşabilirsiniz. Sonuç olarak, örneğin C# ve WPF ile karşılaştırıldığında, temel özelliklerin bile uygulanması için makul miktarda çalışma gerektirebilir.

Dekont

Daha fazla bilgi için bkz . Windows için uygulama yazma: Geliştirme teknolojisi seçme.

Yazdığınız uygulama

Bu modülde oluşturacağınız uygulama basit bir uygulamadır. Bir düğmeyi seçtiğinizde metin görüntüler ve bazı renkleri değiştirir.

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

Herhangi bir ödül kazanmayacak, ancak geliştirme platformları arasındaki benzerlikleri ve farklılıkları gösteriyor.

Doyduğunuzda, Windows Template Studio'yu denemeye geçebilirsiniz. WTS ile biraz daha etkileyici görünen bir uygulama oluşturursunuz.

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

Başlamaya hazır mısınız?