DATA
CZAS
IMIENINY
FAZA KSIĘŻYCA
STAFLOTA ⊕ SEKTOR ALFA · BITEDU STATION

Aplikacje desktopowe to programy uruchamiane bezpośrednio na komputerze użytkownika, bez potrzeby korzystania z przeglądarki internetowej. Działają lokalnie, mają dostęp do plików, sprzętu i innych zasobów systemu operacyjnego. W kontekście egzaminu INF.04 znajomość technologii desktopowych jest kluczowa, ponieważ uczniowie tworzyć będą aplikacje z graficznym interfejsem, obsługą zdarzeń i baz danych.


🔢 Co to jest IDE?

IDE (Integrated Development Environment) to zintegrowane środowisko programistyczne. Zawiera:

IDE ułatwia pisanie, testowanie i uruchamianie aplikacji. Przykłady: Visual Studio 2022, PyCharm, VS Code.


🌐 Typy aplikacji desktopowych

a) Aplikacje jednostanowiskowe

b) Aplikacje klienckie (client-server)

c) Aplikacje hybrydowe

d) Aplikacje wbudowane (embedded)


🔬 Technologie do tworzenia aplikacji desktopowych

1. Windows Forms (WinForms)

Windows Forms to jedna z najstarszych technologii Microsoftu do tworzenia interfejsów graficznych dla systemu Windows. Formularze projektuje się w Visual Studio metodą przeciągnij-i-upuść (drag & drop), co znacznie ułatwia naukę. Obsługuje zdarzenia (np. kliknięcie przycisku) i pozwala łatwo integrować się z lokalnymi bazami danych jak SQLite. Używa się jej głównie z językiem C#. Jest idealna do tworzenia prostych aplikacji narzędziowych, kalkulatorów i programów magazynowych.

2. WPF (Windows Presentation Foundation)

WPF to bardziej zaawansowana technologia Microsoftu, oparta na deklaratywnym języku XAML. Umożliwia tworzenie dynamicznych, nowoczesnych interfejsów z obsługą animacji, szablonów, stylów i danych powiązanych (binding). Obsługuje wzorzec MVVM, co poprawia strukturę kodu w większych projektach. Jest świetnym wyborem do aplikacji edukacyjnych, multimedialnych czy wizualizacyjnych. Wymaga większej wiedzy niż WinForms, ale daje znacznie więcej możliwości projektowych.

3. Electron

Electron to technologia pozwalająca tworzyć aplikacje desktopowe przy użyciu technologii webowych: HTML, CSS i JavaScript. Aplikacje działają na wszystkich głównych systemach operacyjnych (Windows, macOS, Linux) i są renderowane przez wbudowany silnik Chromium. Jest to popularny wybór dla nowoczesnych aplikacji narzędziowych i komunikatorów (np. Discord, Slack). Electron pozwala programistom webowym tworzyć aplikacje desktopowe bez konieczności nauki nowych języków. Wadą jest spore zużycie zasobów RAM.

4. Qt / PyQt

Qt to wszechstronny framework napisany w C++, a PyQt to jego wersja dostępna w języku Python. Umożliwia tworzenie eleganckich i wydajnych aplikacji graficznych, działających na Windows, Linux i macOS. Interfejs można tworzyć w kodzie lub z użyciem projektanta Qt Designer. PyQt łączy prostotę Pythona z możliwościami Qt, co czyni go dobrym wyborem dla średniozaawansowanych uczniów. Wadą jest konieczność instalowania dodatkowych bibliotek oraz większa złożoność konfiguracji.

5. JavaFX / Swing

JavaFX to nowoczesna technologia do tworzenia interfejsów graficznych w Języku Java, stanowi następcę Swinga. Pozwala tworzyć responsywne interfejsy z wykorzystaniem deklaratywnego FXML i CSS do stylizacji. Jest niezależna od systemu operacyjnego, ponieważ działa w środowisku JVM. Swing jest starszy, ale nadal popularny w edukacji ze względu na prostotę. JavaFX nadaje się do nowoczesnych aplikacji edukacyjnych i wizualizacji danych.

6. Avalonia

Avalonia to open-source’owy framework wzorowany na WPF, ale działający na Windows, Linux i macOS. Również wykorzystuje XAML do tworzenia UI i wspiera .NET Core/.NET 6+. Jest dobrą alternatywą dla twórców aplikacji .NET, którzy potrzebują wieloplatformowości. Społeczność Avalonii rozwija się dynamicznie, a narzędzia projektowe są coraz bardziej dostępne. Avalonia łączy nowoczesny wygląd i możliwości WPF z uniwersalnością Electron.


💻 Przegląd środowisk programistycznych (IDE)

▶️ Visual Studio 2022

▶️ Visual Studio Code

▶️ PyCharm


📊 Tabela porównawcza technologii i środowisk

Technologia / IDEJęzykiPlatformaUI graficznePrzykłady
WinForms (Visual Studio)C#, VB.NETWindows✅ TAKNotatnik, kalkulator
WPF (Visual Studio)C#, XAMLWindows✅ TAKSystemy graficzne, galerie
Electron (VS Code)JS, HTML, CSSWindows, Linux, macOS❌ NIEDiscord, Slack
Qt / PyQt (PyCharm)C++, PythonWindows, Linux, macOS✅ TAKVLC, Krita
JavaFX / SwingJavaUniwersalna (JVM)✅ TAKAplikacje edukacyjne, uczelniane
AvaloniaC#, XAMLWindows, Linux, macOS✅ TAKNowoczesne aplikacje .NET na Linux/macOS
VS CodeWielojęzycznyWieloplatformowy❌ NIEEdytor, debugowanie, web
PyCharmPythonWieloplatformowy❌ NIEGUI z Tkinter, PyQt

Podsumowanie