Aplikacje mobilne · Środowisko
Środowisko pracy: Visual Studio, .NET MAUI i emulatory
To największa różnica względem WPF: w .NET MAUI nie ma wygodnego projektanta z przeciąganiem kontrolek. XAML piszesz ręcznie, a efekt sprawdzasz przez Hot Reload i emulator. Zanim napiszesz kod, musisz sprawnie poruszać się po tym warsztacie.
- około 45 minut
- Visual Studio · .NET MAUI · emulator
- INF.04.6.1
Po tej lekcji: wybrać środowisko do aplikacji mobilnych, zainstalować właściwe obciążenie, skonfigurować emulator, wskazać platformę docelową i wyjaśnić działanie Hot Reload oraz kluczowe wpisy pliku .csproj.
Uruchomiony szablon i pierwsza zmiana na żywo
Zanim zaczniemy pisać aplikacje, musimy wiedzieć, gdzie je uruchamiamy. Działający emulator, podgląd w lekcji i aplikacja Windows to różne rzeczy.
Najpierw uruchomisz mały ekran. Potem połączysz go z kodem i sprawdzisz konkretne wyniki. Dodatki wykonuj dopiero, gdy wersja podstawowa działa. Quiz i oceniane zadania pozostają w biurku po zalogowaniu.
1 · Wybierz narzędzie
Android Studio, Xcode czy Visual Studio z MAUI
Zaznacz wymagania projektu i zobacz, które środowisko je spełnia.
Najpierw przewidź, potem sprawdź: W modelu Hot Reload zmień Text etykiety, a potem Spacing stosu. Najpierw przewidź, czy zmieni się treść czy odległość. Podgląd w lekcji jest uproszczeniem, nie uruchamia C#.
Wybieramy Visual Studio z .NET MAUI, bo wykorzystuje znajomość C# z wcześniejszych działów i obsługuje wiele platform jednym projektem. Model pomaga zobaczyć mechanizm; właściwą aplikację uruchomisz z plików poniżej.
1. Przygotuj miejsce pracy
Zanim uruchomisz: trzy połączenia
x:Class="ProbaMaui.NazwaStrony" w XAML musi zgadzać się z namespace ProbaMaui i nazwą klasy C#. InitializeComponent() tworzy kontrolki opisane w XAML.
x:Name="PoleImie" daje kodowi C# dostęp przez PoleImie.Text. Z kolei Clicked="Zapisz_Clicked" wskazuje metodę o tej nazwie w pliku .xaml.cs. Sam napis przycisku w Text niczego nie podpina.
Gdy dodajesz XAML z obsługą zdarzeń, od razu uzupełnij też odpowiadający C#. Uruchamiaj dopiero po skończeniu oznaczonej pary plików; brakujący handler nie jest błędem środowiska.
2. Uruchom sam wygląd — jeszcze bez logiki
W świeżym projekcie zastąp MainPage.xaml poniższym ekranem. W MainPage.xaml.cs zachowaj konstruktor z InitializeComponent(); usuń szablonowy licznik i OnCounterClicked, bo nie ma ich już w XAML. Na tym etapie App i AppShell pozostają z szablonu. To pełny, tymczasowy XAML — później świadomie go podmienisz, nie dokleisz do drugiego ContentPage.
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ProbaMaui.MainPage">
<VerticalStackLayout Padding="24" Spacing="14">
<Label Text="Mój pierwszy test MAUI" FontSize="24" />
<Label Text="Zmień ten napis podczas debugowania." />
</VerticalStackLayout>
</ContentPage>
- Pierwsza próba Uruchom. Zobaczysz kontrolki, ale przyciski bez Clicked jeszcze nic nie robią. Sprawdź rozmiar i kolejność elementów. Zatrzymaj aplikację przed następnym etapem.
IDE i RAD: narzędzie oraz sposób pracy
IDE — Integrated Development Environment
Zintegrowane środowisko programistyczne: edytor, kompilacja, debugowanie i zarządzanie projektem w jednym miejscu.
Na przykład Visual Studio: piszesz XAML/C#, stawiasz breakpoint, uruchamiasz aplikację.
RAD — Rapid Application Development
Szybkie budowanie i sprawdzanie kolejnych wersji aplikacji z użyciem gotowych komponentów i krótkiej informacji zwrotnej.
Na przykład Szablon MAUI → gotowa kontrolka Entry → XAML Hot Reload → test poprawki. RAD nie oznacza braku kodu ani gwarancji projektanta przeciągnij–upuść.
Zacznijmy od różnicy
Nie przeciągasz, tylko piszesz
To jak różnica między edytorem WYSIWYG, w którym od razu widzisz efekt, a pisaniem czystego HTML i CSS z podglądem po zapisaniu. W MAUI musisz umieć wyobrazić sobie efekt, patrząc na kod, i sprawdzać go po zapisaniu, a nie klikając gotowe elementy z palety.
Dlatego w tym dziale bardziej niż w WPF liczy się czytanie i pisanie XAML z klawiatury. Bez sprawnego warsztatu każda kolejna lekcja będzie frustrująca.
2 · Przygotuj stanowisko
Obciążenie „.NET Multi-platform App UI development”
W Visual Studio Installer trzeba zaznaczyć to obciążenie. Instalator pobiera szablony projektów MAUI, Android SDK i obrazy emulatora Androida. To duża instalacja (kilka GB), więc zaplanuj czas i miejsce na dysku.
3 · Zamiast projektanta
Zmieniaj XAML i patrz na efekt od razu
To odpowiednik XAML Hot Reload: zmieniasz kod, zapisujesz, a uruchomiona aplikacja na emulatorze aktualizuje wygląd bez ponownego budowania i restartu. Tutaj zmień kolor, rozmiar czcionki albo tekst i obserwuj ekran telefonu.
Pełne budowanie aplikacji mobilnej trwa dłużej niż WPF. Hot Reload oszczędza ten czas przy każdej zmianie wyglądu.
4 · Co pomaga w pracy
Trzy narzędzia zamiast projektanta
| Narzędzie | Co daje | Uwaga |
|---|---|---|
| IntelliSense | Podpowiedzi nazw kontrolek i właściwości podczas pisania XAML, jak w C#. | Działa od razu, bez uruchamiania aplikacji. |
| XAML Hot Reload | Zmiana wyglądu na uruchomionym emulatorze lub urządzeniu bez restartu. | Kluczowe narzędzie w tym dziale. |
| XAML Live Preview | Podgląd interfejsu działającej aplikacji wewnątrz Visual Studio, współpracujący z Hot Reload. | Nie zastępuje uruchomienia aplikacji; dostępność zależy od platformy i wersji narzędzi. |
5 · Gdzie uruchamiasz
Emulator Androida albo prawdziwy telefon
Testowanie wymaga emulatora (wirtualne urządzenie na komputerze) albo prawdziwego telefonu podłączonego kablem USB z włączonym trybem debugowania (Ustawienia → Opcje programistyczne → Debugowanie USB).
Emulator konfigurujesz przez Android Device Manager (Narzędzia → Android → Android Device Manager): tworzysz nowe urządzenie, wybierasz model telefonu i wersję Androida (API Level) i pobierasz obraz systemu. Im nowszy obraz, tym więcej zasobów zużywa. Na słabszym komputerze wybierz starszy, lżejszy obraz.
Przed uruchomieniem wybierz platformę docelową na pasku narzędzi, obok przycisku Start: konkretny emulator Androida, „Windows Machine” albo „Mac Catalyst”. Bez wyboru przycisk będzie nieaktywny lub zgłosi brak urządzenia.
6 · Co jest w .csproj
Cztery wpisy, które odróżniają MAUI od WPF
Plik PierwszaAplikacjaMaui.csproj otworzysz dwukrotnie klikając nazwę projektu. Kliknij kolejne wpisy.
Dlaczego liczba mnoga?
Lista platform oddzielona średnikami. Windows dochodzi warunkowo, tylko gdy budujesz na Windows.
Jedna linia sprawia, że ten sam projekt kompiluje się na kilka różnych systemów.
Co włącza?
Obsługę .NET MAUI w projekcie, analogicznie do UseWPF w WPF.
Bez tego nie działają typy MAUI.
Co to znaczy?
Jeden projekt zamiast osobnych projektów dla każdej platformy (starszy Xamarin.Forms wymagał osobnych).
Cały kod i zasoby w jednym miejscu.
Do czego służy?
Unikalny identyfikator aplikacji w formacie odwróconej domeny. Trafi do Google Play przy publikacji.
Rozróżnia Twoją aplikację od wszystkich innych.
4. Połącz wygląd z działaniem
Teraz zbuduj docelowy przykład. Pełne pliki poniżej zastępują swoje wcześniejsze wersje. Przeczytaj opis nad kodem i objaśnienia pod nim; potem sprawdź przepływ danych, nie tylko brak czerwonych podkreśleń.
Ta lekcja nie wymaga dodatkowego kodu C#: ćwiczysz przygotowanie i uruchamianie środowiska.
5. Odbiór: czy naprawdę działa?
Wykonaj próby w swojej aplikacji, nie tylko w modelu na stronie. Zaznaczaj dopiero po sprawdzeniu wyniku. Funkcje urządzenia wymagają testu na właściwej platformie.
7 · Czego unikać
Cztery błędy na starcie
Brak obciążenia MAUI w instalatorze
Instalacja Visual Studio bez „.NET Multi-platform App UI development”W nowym projekcie nie ma żadnego szablonu .NET MAUI.
Visual Studio Installer → Modyfikuj → zaznacz obciążenie MAUISzablony, Android SDK i emulator należą do tego obciążenia.
Szukanie projektanta jak w WPF
Szukam Toolboxa do przeciągania kontrolek na podgląd.Zniechęcenie, bo takiego wygodnego projektanta w MAUI nie ma.
Piszę XAML ręcznie z IntelliSense i sprawdzam przez Hot Reload.To normalny sposób pracy w MAUI.
Zbyt ciężki emulator
Najnowszy obraz Androida na starszym komputerzeEmulator uruchamia się bardzo wolno lub wcale.
Starszy, lżejszy obraz systemu albo prawdziwy telefon przez USBNowsze obrazy zużywają więcej pamięci i procesora.
Niewybrana platforma docelowa
Pasek narzędzi: brak wybranego urządzeniaPrzycisk Start jest nieaktywny albo zgłasza brak urządzenia docelowego.
Wybierz emulator, „Windows Machine” lub „Mac Catalyst” z listy obok przycisku StartVisual Studio musi wiedzieć, na czym uruchomić aplikację.
Ćwiczenie z pomocą · samodzielna praca
6. Mała zmiana, którą zrobisz samodzielnie
Zmień dwa niezależne elementy szablonu i zanotuj, które zmiany było widać bez restartu.
Zmień dwa niezależne elementy szablonu i zanotuj, które zmiany było widać bez restartu. Dotychczasowe działanie ma pozostać poprawne.
? Potrzebujesz pomocy? Rozwiązuj krok po kroku.
Krok 1 — pokaż podpowiedź
Zacznij od Text istniejącej etykiety, nie od usuwania handlerów przycisku.
Krok 2 — pokaż podpowiedź
Zapisz XAML podczas uruchomionej sesji debugowania.
Krok 3 — pokaż podpowiedź
W oknie Output sprawdź komunikaty XAML Hot Reload, zamiast zgadywać, czy zapis dotarł.
Otwórz tylko tyle podpowiedzi, ile potrzebujesz. Po każdym kroku wróć do zadania i sprawdź wynik.
8 · Sprawdź się
Narzędzia i ustawienia
Cztery krótkie sytuacje.
Podsumowanie
Co warto zapamiętać
- Visual Studio + .NET MAUI daje jeden projekt na Androida, iOS, Windows i macOS.
- Potrzebujesz obciążenia .NET Multi-platform App UI development (kilka GB).
- W MAUI nie ma wygodnego projektanta: piszesz XAML ręcznie z IntelliSense i Hot Reload.
- Testujesz na emulatorze (Android Device Manager) albo na telefonie przez USB. Przed startem wybierz platformę docelową.
- W
.csproj:TargetFrameworks(wiele platform),UseMaui,SingleProject,ApplicationId.
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ę →