Czym jest Framework, dlaczego WPF rządzi na desktopie i kto tu tak naprawdę pisze kod?

1. Biblioteka a Framework – Kto tu kim rządzi? (Zasada Hollywoodzka)

Bardzo częstym błędem na egzaminie zawodowym jest mylenie biblioteki (library) z frameworkiem (szkieletem programistycznym). Obie rzeczy to cudzy kod, którego używamy, by nie wymyślać koła na nowo. Różnica tkwi w tym, kto sprawuje kontrolę nad działaniem aplikacji.

Tradycyjny program (Biblioteka):
TWÓJ KOD  ──[wywołuje]──►  BIBLIOTEKA (np. Math.Sqrt)

Program oparty o Framework:
FRAMEWORK (Silnik WPF)  ──[wywołuje w odpowiednim momencie]──►  TWÓJ KOD (np. Obsługa kliknięcia)

Biblioteka = Skrzynka z narzędziami / Market budowlany

Gdy piszecie tradycyjny program i musicie obliczyć pierwiastek kwadratowy, sięgacie po Math.Sqrt(). Gdy chcecie zapisać plik JSON, sięgacie po bibliotekę Newtonsoft.Json.

Framework = Gotowa linia montażowa lub szkielet biurowca

Framework to gotowa architektura. Wyobraźcie sobie fabrykę samochodów: taśmociąg jedzie sam, silniki są montowane w określonym rytmie, a Wy dostajecie tylko jedno, ściśle wyznaczone stanowisko np. wkręcanie kierownicy.

„Nie dzwoń do nas – to my zadzwonimy do ciebie”

W aplikacjach okienkowych to framework zarządza pętlą zdarzeń systemu Windows. Czeka na ruch myszką, kliknięcie klawiatury, odrysowuje piksele na ekranie i dopiero w odpowiedzi na te zdarzenia wywołuje funkcje, które Wy napisaliście (np. Button_Click).

2. WPF: Dwa światy pod jednym dachem

.NET to cała platforma, a WPF (Windows Presentation Foundation) to wyspecjalizowany framework wewnątrz .NET, stworzony do pisania nowoczesnych aplikacji okienkowych dla systemu Windows.

Dlaczego w uczymy się WPF, a nie starego Windows Forms? Z trzech kluczowych powodów:

A. Rozdzielenie wyglądu od logiki (XAML + C#)

W WPF interfejs aplikacji budujemy zupełnie inaczej niż w starych technologiach:

B. Grafika wektorowa i potęga karty graficznej (DirectX)

C. CKE nie pozwala :(

3. Dlaczego Visual Studio (IDE), a nie Notatnik?

Podczas instalacji Visual Studio z dodatkiem dla .NET desktop instalator pobiera kilkanaście gigabajtów danych. Dlaczego zatem nie możemy używać głupiego notatnika, który nie zajmuje kilkunastu gigabajtów?

Odpowiedź brzmi: możesz, ale praca zajmie Ci 10 razy więcej czasu i oszalejesz od szukania literówek.

Visual Studio to nie edytor tekstu to IDE (Integrated Development Environment). Łączy w jednym oknie dziesiątki narzędzi inżynieryjnych:

Narzędzie w Visual Studio Co nam daje podczas pracy z WPF?
XAML Designer (Podgląd) Widzimy tworzone okno w czasie rzeczywistym w trybie podziału ekranu (Split View). Zmiana w kodzie natychmiast odświeża podgląd.
IntelliSense & IntelliCode Prawdziwy anioł stróż. Podpowiada nazwy kontrolek, atrybutów, a wciśnięcie klawisza Tab po wpisaniu zdarzenia (np. Click=) samo tworzy odpowiednią metodę w pliku C#.
XAML Hot Reload Magia! Możecie uruchomić program, zmienić kolor tła lub rozmiar marginesu w kodzie XAML, a aplikacja natychmiast się zaktualizuje bez konieczności zatrzymywania i ponownej kompilacji.
Debugger i punkty wstrzymania Zatrzymywanie programu w dowolnej linii, podglądanie wartości zmiennych w pamięci RAM i tropienie błędów linijka po linijce.

⚠️ Ważna uwaga: Za skompilowanie programu odpowiada zestaw narzędzi .NET SDK (polecenie dotnet build / silnik MSBuild), a nie sam program Visual Studio. Oznacza to, że z poziomu konsoli da się skompilować kod z Notatnika, ale Visual Studio daje nam potężne ułatwienia, bez których współczesne programowanie komercyjne byłoby koszmarem.