MAS dr. Inż. Mariusz Trzaska. Wykład 12. Tworzenie graficznych interfejsów użytkownika



Podobne dokumenty
To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Narzędzia RAD (wykład 1)

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Środowiska i platformy programistyczne

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Opis. Wykład: 30 Laboratorium: 30

Król Łukasz Nr albumu:

KARTA MODUŁU KSZTAŁCENIA

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Struktury systemów operacyjnych

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Android - wprowadzenie. Łukasz Przywarty

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Podstawy programowania w Qt4

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Środowisko NetBeans. Paweł Boguszewski

Programowanie Obiektowe GUI

Tworzenie oprogramowania

Swing Application Framework czyli tam i z powrotem. Copyright Piotr Kochański & Erudis,

Podstawy programowania. Wprowadzenie

Programowanie obiektowe

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Programowanie obiektowe zastosowanie języka Java SE

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

WPF 4.5 : księga eksperta / Adam Nathan. Gliwice, cop Spis treści

Rok akademicki: 2014/2015 Kod: MIO s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Nadchooooodzi FireMooooooooonkey!

MSI dr. Inż. Mariusz Trzaska. użytkownika

Instrukcja laboratoryjna nr.4

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Praca w środowisku Visual Studio 2008, Visual C

Programowanie obiektowe

Instrukcja laboratoryjna cz.3

OpenLaszlo. OpenLaszlo

Programowanie w Javie Wykład 6 Okienka w Javie (AWT)

Rys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych.

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

16) Wprowadzenie do raportowania Rave

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Uniwersytet Jagielloński Interfejsy graficzne. Wykład 6. Style interfejsu. Barbara Strug

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika.

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Języki i paradygmaty programowania - 1

Procesowa specyfikacja systemów IT

Programowanie obiektowe. Wprowadzenie

Programowanie w C. dr inż. Stanisław Wszelak

Podstawy Swing. Tomasz Borzyszkowski

WPROWADZENIE DO JĘZYKA JAVA

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Narzędzia i platformy programowania w Internecie

Konspekt pracy inżynierskiej

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Automatyzacja Testowania w WEB 2.0

Komunikacja i wymiana danych

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Java jako język programowania

Zaawansowane programowanie w języku C++

Co to jest Java? Java jest niezależna od platofrmy

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

MVVM Light Toolkit. Julita Borkowska

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

PODSTAWY PROJEKTOWANIA

Programowanie RAD Delphi

Iwona Iskierka, Sławomir Iskierka

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Język programowania. Andrzej Bobyk

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

rozdział 1: WSTĘP DO PROGRAMOWANIA WIZUALNEGO

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Programowanie obiektowe

Wykład 9. Projektowanie interfejsu użytkownika

OBJECT MANAGER V1.3.0 ( B U I L D ) R E L E A S E N O T E S

Transkrypt:

MAS dr. Inż. Mariusz Trzaska Wykład 12 Tworzenie graficznych interfejsów użytkownika

Zagadnienia o Wprowadzenie o Biblioteki GUI dla Javy, dla C++, Dla C#. o Własna biblioteka GUI o Implementacja GUI Ręczne pisanie kodu, Edytory wizualne, Podejście deklaratywne. o Podsumowanie Wykorzystano: www.wikipedia.org, Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 2

Biblioteki do tworzenia GUI o Wykorzystanie bibliotek GUI Dostarczanych z językiem, Firm trzecich, Samodzielne stworzenie. o Kryteria wyboru Łatwość użycia, Modyfikowalność, Wydajność, Przenaszalność, Cena, Estetyka. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 3

o Możliwości AWT, Swing, SWT, Inne? Biblioteki dla języka Java o Ocena dostępnych rozwiązań Łatwość użycia, Modyfikowalność, Przenaszalność, Estetyka. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 4

Biblioteki dla języka Java (2) o AWT (Abstract Window Toolkit; http://java.sun.com/products/jdk/awt/), Rok wydania: 1995, Wykorzystanie natywnych widgetów danej platformy (różny wygląd na różnych OS), Podstawowy zestaw widgetów (przyciski, pola tekstowe, menu, itp.), Obsługa zdarzeń, Interfejs pomiędzy natywnym systemem, a aplikacją Java, Managery rozkładu, Obsługa schowka i Drag&Drop, Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 5

Biblioteki dla języka Java (3) o AWT (Abstract Window Toolkit) c.d., Dostęp do urządzeń wejściowych takich jak mysz czy klawiatura, Natywny interfejs AWT umożliwiający generowanie obrazu bezpośrednio do powierzchni widgetu, Dostęp do zasobnika systemowego (nie na wszystkich systemach), Zdolność do uruchamiania niektórych aplikacji systemowych z poziomu Javy, np. obsługa poczty czy przeglądarka internetowa. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 6

Biblioteki dla języka Java (4) o Swing (http://www.javaswing.net/, ), Rok wydania: 1997, Wygląd oraz zachowanie widgetów określone przez Javę (taki sam wygląd i zachowanie na różnych OS). Są rysowane przy wykorzystaniu Java2D, Rozszerzony (względem AWT) zestaw widgetów, Look&Feel aplikacji korzystającej ze Swinga jest określany przez wybrany temat graficzny (pluggable look and feel ), Niezależność od platformy, Rozszerzalność, Zorientowany na komponenty, Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 7

Biblioteki dla języka Java (5) o Swing (http://www.javaswing.net/, ) c.d., Łatwa modyfikowalność: Wykorzystanie gotowych elementów przy rysowaniu: border, inset, decorations, Łatwe określanie własności (np. border), Renderers, Konfugurowalność (m. in. w czasie wykonania runtime), Lekki UI. Wykorzystanie własnych mechanizmów renderujących. Częściowe korzystanie z AWT, m.in. component.paint(), Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 8

Biblioteki dla języka Java (6) o Swing (http://www.javaswing.net/, ) c.d., Wykorzystanie MVC (Model-View-Controller). Większość widgetów ma przypisany własny model (określony przez interfejsy języka Java), który definiuje sposób postępowania z danymi. Biblioteka dostarcza podstawową implementację różnych modeli. Zdarzenia: fizyczne, np. kliknięcie przyciskiem myszy, Związane z modelem, np. dodanie wiersza danych do tabeli. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 9

Biblioteki dla języka Java (7) o SWT (Standard Widget Toolkit; http://www.eclipse.org/swt/) Stworzony przez IBM, a aktualnie rozwijany przez fundację Eclipse, Wykorzystuje natywne możliwości systemu operacyjnego do rysowania kontrolek, Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 10

Biblioteki dla języka Java (8) o SWT (Standard Widget Toolkit; http://www.eclipse.org/swt/) c.d. Eclipse Foundation: Celem SWT jest dostarczanie wspólnego API udostępniającego natywne widgety na różnych platformach. Wydajność względem Swing: Szybszy przy rysowaniu, Wolniejszy przy pobieraniu danych (wykorzystuje JNI - Java Native Interface). Programy korzystające z SWT są przenośne, ale wymagają dedykowanej implementacji SWT dla każdego OS (innych nawet dla Windows x86 oraz x64). Nie zawsze jest ona dostępna dla wszystkich platform na których istnieje JVM. Bardzo dobra praca pod Windows. Na innych platformach potencjalne problemy. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 11

Biblioteki dla języka Java (9) o SWT (Standard Widget Toolkit; http://www.eclipse.org/swt/) c.d. W przypadku gdy widgety na określonym OS nie udostępniają określonej funkcjonalności, SWT implementuje ją samodzielnie. SWT nie wykorzystuje MVC, ale daje możliwość współpracy z biblioteką JFace (), która wspiera to podejście. Ze względu na użycie natywnych widgetów, ich dostosowanie nie zawsze jest łatwe. Konieczność ręcznego zwalniania zasobów wykorzystywanych przez widget: metoda.dispose(). W praktyce są to zwykle podklasy Resource takie jak Image, Color oraz Font. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 12

o Microsoft Win32 API, Biblioteki dla języka C/C++ Bardzo niskopoziomowy sposób pracy, Największa wydajność, Wykorzystuje: GDI (Graphics Device Interface), Common Dialog Box Library, Common Control Library. MFC (Microsoft Foundation Class Library), opakowuje Win32 API, Sposób pracy bardziej obiektowy, ale nadal pozostawia nieco do życzenia, Produkty Borlanda: OWL (Object Windows Library), VCL (Visual Component Library). Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 13

Biblioteki dla języka C/C++ (2) o Microsoft c.d. WinForms (Windows Forms; http://windowsclient.net/), Działa również z MS C#, Rozprowadzany razem z MS.NET, Opakowuje Win32 API, ale robi to duuuużo lepiej niż MFC, Bardzo duża liczba kontrolek, Rozszerzany przez User Interface Process Application Block Version 2.0 (wprowadza m.in. odpowiednik MVC). Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 14

Biblioteki dla języka C/C++ (3) o Microsoft c.d. WPF (Windows Presentation Foundation; http://windowsclient.net/). Działa również z MS C#, Najlepsze możliwości tworzenia GUI o unikalnym wyglądzie: Tradycyjne kontrolki z tematami graficznymi, Skomplikowany tekst, Obrazki, Wideo, Grafika 2D, Grafika 3D. Bardzo duża liczba unikalnych kontrolek. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 15

Biblioteki dla języka C/C++ (4) o Microsoft c.d. WPF (Windows Presentation Foundation; http://windowsclient.net/) c.d. Umożliwia wykorzystanie deklaratywnego podejścia do tworzenia GUI język XAML, Nowe narzędzia dla grafików: MS Expression Blend. Forms, Controls WinForms PDF WinForms + GDI WMP Direct3D WPF X X X Complex text X X Images X X Video / Audio X X 2D Graphics X X 3D Graphics X X Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 16

Biblioteki dla języka C/C++ (5) o Qt (http://www.trolltech.com/products/qt/) Pierwsze prace zostały rozpoczęte w 1991, Przenaszalność (Unix, Linux, MacOS X, Windows, Windows CE, Java), Wykorzystanie niestandardowych dodatków do C++, które są przetwarzane przez pre-procesor, Wsparcie dla: Wielu języków, Baz danych SQL, Przetwarzania XML, Zarządzania wątkami, Technologii sieciowych Pracy z plikami. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 17

Biblioteki dla języka C/C++ (6) o Qt c.d. Ostatnie wersje wykorzystują mechanizmy OS do wyświetlania kontrolek, Kompilator meta dostarcza informacje, które nie są normalnie dostępne w C++. Dzięki temu biblioteka oferuje wsparcie m.in. dla asynchronicznego wołania funkcji. Aplikacje, m.in: KDE, Opera, Google Earth, Skype, Qtopia, Photoshop Elements, Virtual Box. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 18

Biblioteki dla języka C/C++ (7) o wxwidgets (http://wxwidgets.org/), Pierwsze wydanie: 1992. Przenaszalność: Mac OS, Linux/Unix (X11, Motif, and GTK+), OpenVMS, OS/2, AmigaOS. Wykorzystuje natywne możliwości OS, Zarządzanie zasobami, Dodatkowe możliwości, m.in: Praca z OpenGL, Dostęp do baz danych ODBC, Komunikacja sieciowa oparta na socket ach. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 19

Biblioteki dla języka C/C++ (8) o GTK+ (The GIMP Toolkit, http://www.gtk.org/), Przenaszalność, Pierwotnie stworzony dla GIMP a, Różne silniki do wyświetlania kontrolek (m.in. emulujące popularne L&F), Nowa wersja (GTK+ 2) zawiera ulepszony rendering kontrolek, nowy silnik tematów graficznych, wsparcie dla Unicode. o Duuużo innych rozwiązań... Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 20

Biblioteki dla języka C# o Microsoft WinForms, o Microsoft WPF (Windows Presentation Foundation) o wxwidgets (wiązanie do C#), o GTK+ (wiązanie do C#), o Mono (otwarta implementacja.net włączając WinForms), Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 21

Własna biblioteka GUI o Dlaczego nie skorzystać z istniejących rozwiązań? o Wybór modelu: Fizyczny zdarzeniowy, Semantyczny zdarzeniowy, Mieszany: fizyczno-semantyczny, Inny? o Zestaw widgetów, o Sposób rysowania kontrolek, o Łączenie zdarzeń z ich obsługą. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 22

Własna biblioteka GUI (2) o Zwykle, w czasie implementacji takiej biblioteki, występuje konieczność pracy na bardzo niskim poziomie abstrakcji: Przechwytywanie niskopoziomowych zdarzeń systemu operacyjnego: wciśnięcie/zwolnienie klawisza klawiatury, zmiana położenia kursora myszy, wciśnięcie/zwolnienie klawisza myszy. Rysowanie kontrolek w oparciu o podstawowe elementy graficzne (linia, punkt, okrąg, bitmapa). o Praca dość trudna. W miarę możliwości, lepiej używać istniejących rozwiązań. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 23

Implementacja GUI o Ręczne pisanie kodu źródłowego, o Wykorzystanie specjalizowanego edytora, o Podejście deklaratywne. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 24

Implementacja GUI ręczne pisanie kodu o Największa kontrola nad efektem końcowym w kategoriach: Funkcjonalności, Wydajności, Przenaszalności, Użyteczności, Estetyki. o Niestety zwykle wymaga dość dużej wiedzy dotyczącej konkretnej platformy/biblioteki. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 25

Implementacja GUI ręczne pisanie kodu (2) o Utrudnione (pod pewnymi względami) nanoszenie poprawek. o Stosunkowo niewielka szybkość tworzenia GUI. o Duża podatność na błędy. o Metoda w większości wypadków nie powinna być stosowana. o Chociaż czasami jest jedynym sposobem osiągnięcia zamierzonego efektu. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 26

Implementacja GUI edytory graficzne o Różna jakość istniejących rozwiązań: Tylko generowanie. Ręcznie naniesione poprawki są tracone przy ponownym generowaniu kodu. Praca dwukierunkowa (bi-directional code generation). Edytor odzwierciedla w projekcie graficznym, ręcznie (w kodzie źródłowym) naniesione zmiany. o Duża szybkość tworzenia GUI. o Mała podatność na błędy. o Natychmiastowy podgląd efektu końcowego. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 27

Implementacja GUI edytory graficzne (2) o Wydaje się, że wykorzystanie dobrego edytora GUI jest najlepszym sposobem tworzenia interfejsu. o Rozwiązania warte polecenia: Microsoft Visual Studio: Języki: C#, C++, Biblioteki: WinForms, WPF, MFC NetBeans IDE 6.1 Eclipse Jigloo SWT/Swing GUI Builder http://www.cloudgarden.com/jigloo/ Darmowy do zastosowań niekomercyjnych. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 28

Implementacja GUI edytory graficzne (3) o Rozwiązania warte polecenia c.d.: Eclipse WindowBuilder Pro SWT, Swing, GWT Designer Płatny (329,00 USD) http://www.windowbuilderpro.com/ IntelliJ IDEA IDE 7.x http://www.jetbrains.com/idea/ Płatne (176,00 Euro) Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 29

Implementacja GUI podejście deklaratywne o A może komputer sam stworzy dla nas GUI? o Koncentrujemy się na tym: co jest do zrobienia, a nie jak to zrobić? o Różne stopnie zautomatyzowania: Deklaratywność semantyczna: określamy, które elementy modelu danych mają mieć widgety, Deklaratywność komponentowa: definiujemy jakie widgety maja być stworzone. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 30

Implementacja GUI podejście deklaratywne (2) o Wydaje się, że taki sposób pracy będzie zyskiwał na popularności. o Szczególnie w przypadku GUI, które: są dość standardowe (wygląd, funkcjonalność) nie muszą być szczególnie dopracowane. o Szukanie złotego środka pomiędzy: Zaangażowaniem programisty Generycznością (uniwersalnością) rozwiązania. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 31

Implementacja GUI podejście deklaratywne (3) o Istniejące rozwiązania komercyjne, np. Microsoft XAML (Extensible Application Markup Language, kiedyś Extensible Avalon Markup Language), Mocno wykorzystywany w.net, a szczególnie w WPF, Windows Phone i Windows Store Apps Definiowanie: Elementów GUI: 2D, 3D, Łączenia do danych (data binding), Zdarzeń, Efektów specjalnych: obrót, animacja Bezpośrednie przełożenie na kod C#. Programista i tak musi się sporo napracować definiując te elementy. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 32

Implementacja GUI podejście deklaratywne (4) o Microsoft XAML c.d. Przykładowy kod XAML <Button Content="Click me"> <Button.Margin> <Thickness Left="10" Top="20" Right="10" Bottom="30"/> </Button.Margin> </Button> <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:class="mynamespace.mypagecode"> <Button Click="ClickHandler" >Click Me!</Button> </Page> Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 33

Implementacja GUI podejście deklaratywne (5) o Bardziej użyteczne podejście mogłoby być opisane poniższymi założeniami: Programista określa elementy modelu danych (klasy), które powinny mieć stworzone GUI: Atrybuty, Metody. System generuje formularze (okna z kontrolkami) umożliwiające tworzenie nowych instancji danych, ich edycje, itp. Ewentualnie doprecyzowanie dalszych szczegółów: Etykiety tekstowe, Rodzaje konkretnych widgetów,... Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 34

Podsumowanie o o o o o Współczesne języki programowania są dostarczane z dość wygodnymi bibliotekami do tworzenia GUI. Oprócz nich programista może wykorzystywać rozwiązania innych firm, które czasami są lepsze (łatwiejsze w użyciu, szybsze, przenośne, itp.). Graficzny Interfejs Użytkownika może być implementowany korzystając z kilku sposobów: Ręcznie, W specjalizowanym edytorze, Deklaratywnie. Wydaje się, że aktualnie najatrakcyjniejsze jest podejście zakładające wykorzystanie edytora. Niemniej, w przyszłości może się to zmienić na rzecz rozwiązań deklaratywnych. Modelowanie i Analiza Systemów Informacyjnych (MAS), wykład 12 35