Witam w PAM WIKI
To kompendium wiedzy z przedmiotu Programowania aplikacji mobilnych (PAM) na Katedrze Informatyki i Automatyki Politechniki Rzeszowskiej. Wybierz artykuł z menu po lewej stronie lub kliknij skrót poniżej.
Szybka nawigacja
Praktyczna ścieżka: Android/iOS, web-mobile, XR, IoT i AI — od podstaw do projektu semestralnego.
To kompendium wiedzy z przedmiotu Programowania aplikacji mobilnych (PAM) na Katedrze Informatyki i Automatyki Politechniki Rzeszowskiej. Wybierz artykuł z menu po lewej stronie lub kliknij skrót poniżej.
Interaktywna mapa tematów z zależnościami, widokiem tygodniowym, terminami i oznaczeniami priorytetów.
Zaprojektuj i zaimplementuj aplikację mobilną w zespole jako zaliczenie laboratoriów PAM.
Przewodnik krok po kroku przez przygotowanie środowiska, strukturę projektu i pierwsze kluczowe funkcje — od zera do działającego MVP.
Otwórz przewodnikZamień pomysł w plan realizacji: zakres, zadania, roboczogodziny, wycena i baza pod dokumenty BRD/FRD/TRD.
Otwórz kreatorWymagania końcowe projektu, role studentów, wzór oceny oraz kalkulator punktów i ocen dla zespołu i ról.
Otwórz stronę obronyGotowe szablony repozytoriów przyspieszające start projektu. Każdy starter zawiera proponowaną architekturę, wymagania środowiskowe, kroki uruchomienia (z wyjaśnieniem celu każdego kroku) oraz sugerowaną strukturę katalogów, aby zespół od początku pracował według spójnych standardów.
Architektura: Clean Architecture + MVVM, podział na moduły app, core, feature, przepływ danych przez UseCase i StateFlow.
Wymagania: Android Studio Iguana+, JDK 17, Android SDK 34+, Gradle 8+.
Uruchomienie krok po kroku:
./gradlew --refresh-dependencies), żeby pobrać poprawne wersje bibliotek i uniknąć konfliktów zależności.local.properties oraz plik .env z kluczami, aby oddzielić sekrety od kodu źródłowego i ułatwić zmianę środowisk../gradlew installDebug, aby potwierdzić poprawność konfiguracji i procesu build.Struktura katalogów:
android-starter/
├─ app/
├─ core/
│ ├─ ui/
│ ├─ network/
│ └─ database/
├─ feature/
│ ├─ auth/
│ └─ dashboard/
└─ buildSrc/
Użyj tego startera
Architektura: Feature-first + Clean, warstwy Presentation / Domain / Data, zarządzanie stanem Riverpod.
Wymagania: Flutter 3.22+, Dart 3.4+, Android/iOS toolchain, CocoaPods (dla iOS).
Uruchomienie krok po kroku:
flutter pub get, aby pobrać paczki i zsynchronizować lockfile projektu..env.example do .env i uzupełnij wartości, aby lokalnie podłączyć właściwe endpointy i klucze.dart run build_runner build, aby utworzyć klasy serializacji i adaptery wymagane przez warstwę data.flutter devices, aby upewnić się, że toolchain poprawnie wykrywa środowisko testowe.flutter run, aby zweryfikować przepływy użytkownika oraz poprawność integracji bibliotek.Struktura katalogów:
flutter-starter/
├─ lib/
│ ├─ core/
│ ├─ features/
│ │ ├─ auth/
│ │ └─ home/
│ └─ shared/
├─ test/
└─ assets/
Użyj tego startera
Architektura: Modular monorepo (apps/packages), feature folders, React Query + Zustand dla stanu lokalnego i serwerowego.
Wymagania: Node.js 20 LTS, pnpm 9+, Expo CLI, Android Studio/Xcode.
Uruchomienie krok po kroku:
pnpm install, aby odtworzyć identyczne środowisko JavaScript jak w CI..env.example do .env oraz uzupełnij endpointy, żeby aplikacja łączyła się z prawidłowym backendem.pnpm expo start, aby rozpocząć hot-reload i szybkie testowanie zmian.pnpm expo run:android lub pnpm expo run:ios, żeby przetestować natywne moduły poza Expo Go.Struktura katalogów:
rn-starter/
├─ apps/mobile/
├─ packages/
│ ├─ ui/
│ ├─ api/
│ └─ config/
├─ scripts/
└─ docs/
Użyj tego startera
Architektura: Warstwowy podział Scripts/Systems/UI, wzorzec MVC lub MVVM dla paneli UI, ScriptableObjects do konfiguracji danych i balansu.
Wymagania: Unity 2022 LTS+, Android Build Support, iOS Build Support, Visual Studio/Rider, Git LFS dla dużych assetów.
Uruchomienie krok po kroku:
Project Settings (Package Name, Company Name, min SDK), aby przygotować projekt pod publikację mobilną.Resources/Config) i klucze API, by uruchomić integracje online.Build And Run), aby potwierdzić płynność oraz poprawność inputu dotykowego.Struktura katalogów:
unity-starter/
├─ Assets/
│ ├─ Art/
│ ├─ Audio/
│ ├─ Prefabs/
│ ├─ Scenes/
│ ├─ Scripts/
│ │ ├─ Core/
│ │ ├─ Gameplay/
│ │ └─ UI/
│ └─ Settings/
├─ Packages/
└─ ProjectSettings/
Użyj tego startera
Architektura: Gameplay Framework (GameMode/GameState/PlayerController), logika hybrydowa C++ + Blueprints, modularne pluginy pod funkcje gameplay i usługi online.
Wymagania: Unreal Engine 5.4+, Visual Studio 2022 lub Rider, Android SDK/NDK, Xcode (dla iOS).
Uruchomienie krok po kroku:
.uproject), aby przygotować środowisko do kompilacji.Project Settings (platformy mobilne, input touch, rendering profile) pod docelowe urządzenia.Config/*.ini, by uruchomić usługi online.Package Project dla Android/iOS i przetestuj build na urządzeniu fizycznym, aby zweryfikować wydajność oraz sterowanie dotykowe.Struktura katalogów:
unreal-starter/
├─ Config/
├─ Content/
│ ├─ Blueprints/
│ ├─ Maps/
│ └─ UI/
├─ Source/
│ ├─ Core/
│ ├─ Gameplay/
│ └─ MobileHub/
└─ Plugins/
Użyj tego startera
Architektura: Ekrany oparte o ScreenManager, separacja logiki do warstw services/repositories, konfiguracja UI w plikach .kv.
Wymagania: Python 3.11+, pip/venv, Kivy 2.3+, Buildozer (Linux) lub BeeWare briefcase jako alternatywa.
Uruchomienie krok po kroku:
python -m venv .venv), by odizolować zależności projektu.pip install -r requirements.txt, aby odtworzyć komplet bibliotek lokalnie.python main.py, żeby szybko sprawdzić nawigację i logikę ekranów.buildozer.spec (nazwa pakietu, uprawnienia, wersja SDK), aby przygotować build mobilny.buildozer android debug i przetestuj na urządzeniu, aby potwierdzić zgodność działania na Androidzie.Struktura katalogów:
python-kivy-starter/
├─ app/
│ ├─ screens/
│ ├─ services/
│ └─ widgets/
├─ assets/
├─ tests/
├─ main.py
└─ buildozer.spec
Użyj tego startera
Architektura: Modular Angular (core/shared/features), routing lazy-loaded, integracje natywne przez Capacitor Plugins.
Wymagania: Node.js 20 LTS, npm 10+, Ionic CLI, Android Studio/Xcode do buildów mobilnych.
Uruchomienie krok po kroku:
npm ci, aby odtworzyć dokładny zestaw paczek z lockfile.src/environments/environment.example.ts do plików środowiskowych i ustaw endpointy API.ionic serve, aby szybko przetestować widoki i logikę biznesową.npx cap sync, aby zaktualizować projekty natywne o najnowszą wersję kodu webowego.npx cap sync i uruchom build z Android Studio/Xcode dla testów na urządzeniu.Struktura katalogów:
ionic-starter/
├─ src/
│ ├─ app/
│ │ ├─ core/
│ │ ├─ shared/
│ │ └─ features/
│ ├─ assets/
│ └─ environments/
├─ android/
├─ ios/
└─ capacitor.config.ts
Użyj tego startera
Architektura: Shared domain/data w KMP, osobne moduły UI dla Android/iOS, wspólne use-case'y i repozytoria.
Wymagania: IntelliJ IDEA/Android Studio, Kotlin 2.0+, JDK 17, Xcode 15+ (dla iOS), Gradle 8+.
Uruchomienie krok po kroku:
./gradlew tasks, aby pobrać wrapper i zweryfikować poprawną konfigurację pluginów.local.properties) i klucze API w modułach shared/mobile../gradlew :shared:test, aby potwierdzić stabilność warstwy biznesowej../gradlew :androidApp:installDebug, żeby zweryfikować integrację shared + UI../gradlew :shared:iosSimulatorArm64Test, aby sprawdzić zgodność na symulatorze.Struktura katalogów:
kmp-starter/
├─ shared/
│ ├─ src/commonMain/
│ ├─ src/androidMain/
│ └─ src/iosMain/
├─ androidApp/
├─ iosApp/
└─ build-logic/
Użyj tego startera
Architektura: MVVM + Coordinator, warstwa networking oparta o URLSession, modele i storage w SwiftData/CoreData.
Wymagania: Xcode 16+, Swift 6+, iOS 17+ SDK, Apple Developer Account (dla testów na fizycznym urządzeniu).
Uruchomienie krok po kroku:
pod install lub SPM), a następnie otwórz projekt w Xcode.Signing & Capabilities, żeby poprawnie podpisywać aplikację.Config/Dev.xcconfig) i endpointy API, aby połączyć aplikację z backendem.⌘U, żeby zweryfikować logikę ViewModeli i warstwy danych.Struktura katalogów:
swiftui-starter/
├─ App/
├─ Features/
│ ├─ Auth/
│ └─ Home/
├─ Core/
│ ├─ Networking/
│ ├─ Storage/
│ └─ DesignSystem/
├─ Resources/
└─ Tests/
Użyj tego startera
| Kryterium | Punkty | Waga |
|---|---|---|
| Działające, stabilne funkcje podstawowe | 30 pkt | Kluczowe |
| Jakość kodu i architektura | 20 pkt | Ważne |
| Interfejs użytkownika i UX | 15 pkt | Średnie |
| Komunikacja sieciowa i dane | 15 pkt | Średnie |
| Prezentacja i dokumentacja | 10 pkt | Średnie |
| Dodatkowe funkcje i kreatywność | 10 pkt | Bonus |
| Punkty | Ocena |
|---|---|
| 91–100 | 5.0 |
| 81–90 | 4.5 |
| 71–80 | 4.0 |
| 61–70 | 3.5 |
| 51–60 | 3.0 |
| < 50 | 2.0 |
Zobacz plik projekt-zaliczeniowy_z_laboratorium.md w wiki
Poniżej wczytywana jest pełna treść wiki, aby sekcja laboratoriów i projektu była spójna w jednym miejscu.
Egzamin sprawdzający wiedzę z wykładów i laboratoriów PAM.
Zacznij od modułu testu wiedzy ABCD, aby sprawdzić przygotowanie do egzaminu.
Pliki z wykładów i laboratoriów.
Interaktywne wersje wykładów.
Wyświetl prezentację bezpośrednio w aplikacji.