Aplikacje desktopowe · Wprowadzenie

Środowisko i technologie: czym pisać aplikacje na komputer

Zanim napiszesz pierwszą linię kodu, warto wiedzieć, czego użyjesz i dlaczego. Poznasz IDE, trzy frameworki desktopowe (WPF, WinForms, Qt) i dowiesz się, jak dobrać technologię do wymagań projektu.

  • około 35 minut
  • Visual Studio · WPF · WinForms · Qt
  • INF.04.5.1 · INF.04.5.2

Po tej lekcji: wyjaśnić, czym jest IDE, porównać WPF, WinForms i Qt, wskazać pasujący framework do wymagań oraz zainstalować Visual Studio z właściwym obciążeniem.

Zacznijmy od narzędzia

IDE to warsztat w jednym miejscu

IDE (Integrated Development Environment) to zintegrowane środowisko programistyczne. Zamiast osobno edytora, kompilatora i narzędzia do szukania błędów dostajesz wszystko w jednym oknie:

- edytor kodu z podpowiedziami (IntelliSense), - kompilator, który zamienia kod na program, - debugger, czyli narzędzie do wykonywania programu krok po kroku, - projektant interfejsu, w którym widzisz okno w trakcie budowania.

Dla platformy .NET i Windows standardem jest Visual Studio. W nim zbudujesz wszystkie aplikacje desktopowe z tego działu.

1 · Wybierz technologię

Zaznacz wymagania, zobacz, kto je spełnia

Wyobraź sobie, że klient zamawia program. Kliknij wymagania, które ma spełniać, a karty technologii pokażą, kto sobie z nimi poradzi. Spróbuj kilku zestawów, w tym takiego, którego nie spełni nikt.

Ta interakcja wymaga włączonego JavaScriptu.

Nie ma technologii najlepszej do wszystkiego. Dobór zaczyna się od wymagań: system, język, wygląd i czas.

2 · Poznaj uczestników

WPF, WinForms i Qt w kilku zdaniach

WPFWindows Presentation Foundation

Interfejs opisujesz w XAML, logikę piszesz w C#. Ma wiązanie danych, style, animacje i wzorzec MVVM. To nasze główne narzędzie w tym dziale.

Na przykład aplikacje biznesowe, panele sterowania

Windows Formsstarszy framework

Okno składasz myszą z kontrolek, a Visual Studio generuje kod w tle. Szybki start, ale układ oparty na współrzędnych jest mniej elastyczny.

Na przykład proste narzędzia wewnętrzne

Qtwieloplatformowy

Biblioteka głównie dla C++ i Pythona, pozwalająca uruchomić ten sam program na Windows, macOS i Linuksie bez przepisywania.

Na przykład programy działające na wielu systemach

3 · Nasz wybór

Dlaczego uczymy się właśnie WPF

WPF rozdziela wygląd od logiki. Wygląd siedzi w pliku XAML, a logika w C# (tzw. code-behind). Dzięki temu jedna osoba może projektować okno, a druga pisać działanie, bez wchodzenia sobie w drogę.

To także ten sam sposób myślenia, który zobaczysz w aplikacjach mobilnych: .NET MAUI używa bardzo podobnego XAML. Nauka WPF procentuje więc dwa razy.

Laboratorium · ćwiczenie w przeglądarce, do którego odsyłają rozgrzewki na końcu lekcji

4 · Zajrzyj w przyszłość

Szkielet okna, który napiszemy w następnej lekcji

Nie musisz rozumieć każdej linijki. Zauważ strukturę: Window to całe okno, Grid to kontener, a TextBlock to napis. Zagnieżdżanie znaczników jest takie samo jak w HTML. Zmień tekst lub rozmiar czcionki i zobacz efekt.

Ta interakcja wymaga włączonego JavaScriptu.

XAML jest podobny do HTML, ale opisuje okno programu na komputerze, a nie stronę internetową.

5 · Jeśli znasz HTML

Co jest czym w XAML

IdeaHTMLXAML (WPF)
Cała strona lub okno<html> / <body><Window>
Kontener układający<div> + CSS<Grid>, <StackPanel>
Napis<p>, <span><TextBlock>
Pole do wpisania<input type="text"><TextBox>
Przycisk<button><Button>
WyglądCSSAtrybuty, style i szablony
LogikaJavaScriptC# (code-behind)
Zasada zagnieżdżania jest taka sama, różni się zestaw znaczników i sposób nadawania wyglądu.

6 · Dwie technologie Microsoftu

Odpowiedniki układów w Windows Forms

WPFWindows FormsCo robi
StackPanelFlowLayoutPanelElementy jeden za drugim
GridTableLayoutPanelWiersze i kolumny
DockPanelwłaściwość Dock + MenuStripPrzypięcie do krawędzi
GroupBoxGroupBoxRamka z tytułem
GridSplitterSplitContainerRuchomy podział okna
Kluczowa różnica: WPF dopasowuje układ do rozmiaru okna, a WinForms opiera się na współrzędnych i właściwości Anchor.

7 · Przygotuj stanowisko

Co zrobić przed następną lekcją

To jedyny konkretny warunek techniczny, żeby wykonywać zadania z tego działu. Zaznaczaj kroki w trakcie.

8 · Czego unikać

Trzy pułapki na starcie

Instalacja bez obciążenia desktopowego
Tak nie
Visual Studio Installer → zaznaczone tylko „ASP.NET” (bez „.NET desktop development”)

Na liście szablonów nie ma żadnego projektu WPF.

Tak
Visual Studio Installer → Modyfikuj → zaznacz „.NET desktop development”

Szablony WPF należą do obciążenia desktopowego. Możesz je dodać później przez przycisk Modyfikuj.

Mylenie WPF z WinForms
Tak nie
Szukam przycisku w projektancie WinForms i wklejam kod z WPF.

Kod się nie kompiluje, bo to dwie różne technologie.

Tak
Sprawdź na początku, czy szablon projektu to „Aplikacja WPF (.NET)”.

WPF i WinForms mają różne filozofie i różne zestawy klas, więc kod nie przenosi się wprost.

Oczekiwanie, że WPF ruszy na macOS
Tak nie
Zbudowałem aplikację WPF i uruchamiam ją na Macu.

Program nie uruchomi się: WPF działa wyłącznie w Windows.

Tak
Do aplikacji wieloplatformowych wybierz .NET MAUI albo Qt.

WPF korzysta z technologii graficznych Windows.

9 · Sprawdź się

Którą technologię wybierzesz?

Cztery krótkie sytuacje. Wybierz najlepszy wybór.

Ta interakcja wymaga włączonego JavaScriptu.

Podsumowanie

Co warto zapamiętać

  1. IDE łączy edytor, kompilator, debugger i projektant. Dla .NET to Visual Studio.
  2. WPF opisuje wygląd w XAML, a logikę w C#, i działa tylko w Windows.
  3. Windows Forms to starszy framework z wizualnym projektantem i kodem generowanym w tle.
  4. Qt jest wieloplatformowy (C++ i Python).
  5. Bez obciążenia „.NET desktop development” w instalatorze nie ma szablonów WPF.

Dalej na swoim koncie

Rozgrzewki, quiz i zadania są w biurku ucznia.

Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.

Zaloguj się →
Źródła i dalsza nauka