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.
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.
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
| Idea | HTML | XAML (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ąd | CSS | Atrybuty, style i szablony |
| Logika | JavaScript | C# (code-behind) |
6 · Dwie technologie Microsoftu
Odpowiedniki układów w Windows Forms
| WPF | Windows Forms | Co robi |
|---|---|---|
StackPanel | FlowLayoutPanel | Elementy jeden za drugim |
Grid | TableLayoutPanel | Wiersze i kolumny |
DockPanel | właściwość Dock + MenuStrip | Przypięcie do krawędzi |
GroupBox | GroupBox | Ramka z tytułem |
GridSplitter | SplitContainer | Ruchomy podział okna |
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
Visual Studio Installer → zaznaczone tylko „ASP.NET” (bez „.NET desktop development”)Na liście szablonów nie ma żadnego projektu WPF.
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
Szukam przycisku w projektancie WinForms i wklejam kod z WPF.Kod się nie kompiluje, bo to dwie różne technologie.
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
Zbudowałem aplikację WPF i uruchamiam ją na Macu.Program nie uruchomi się: WPF działa wyłącznie w Windows.
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.
Podsumowanie
Co warto zapamiętać
- IDE łączy edytor, kompilator, debugger i projektant. Dla .NET to Visual Studio.
- WPF opisuje wygląd w XAML, a logikę w C#, i działa tylko w Windows.
- Windows Forms to starszy framework z wizualnym projektantem i kodem generowanym w tle.
- Qt jest wieloplatformowy (C++ i Python).
- 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ę →