PROJEKT INŻYNIERSKI AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE

Wielkość: px
Rozpocząć pokaz od strony:

Download "PROJEKT INŻYNIERSKI AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE"

Transkrypt

1 AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE Wydział Inżynierii Metali i Informatyki Przemysłowej PROJEKT INŻYNIERSKI pt. Opracowanie aplikacji dla systemu Apple ios do obróbki zdjęć z użyciem frameworka Cocoa Touch oraz Quartz 2D Imię i nazwisko dyplomanta: Adrian Malina Kierunek studiów: Informatyka Stosowana Profil dyplomowania: Systemy Informatyki Przemysłowej Nr albumu: Opiekun: dr Magdalena Kopernik Podpis dyplomanta: Podpis opiekuna: Kraków 2012

2 Oświadczam, świadomy(- a) odpowiedzialności karnej za poświadczenie nieprawdy, że niniejszy projekt inżynierski wykonałem(- am) osobiście i że nie korzystałem(- am) ze źródeł innych niż wymienione w pracy. Kraków, dnia... Podpis dyplomanta... Strona 2

3 Spis treści: 0. Wstęp 4 Część I teoretyczna 1. System operacyjny Apple ios Historia systemu ios Architektura systemu ios 7 2. Środowisko Xcode 4 oraz język Objective-C Środowisko programistyczne Xcode Język Objective-C Przekazywanie komunikatów Interfejs i implementacja Akcesory Tworzenie obiektów Zarządzanie pamięcią Instruments Cel projektu 19 Część II projekt aplikacji do obróbki grafiki 4. Frameworki użyte w projekcie Cocoa Touch Quartz 2D Core Image Opis aplikacji Interfejs programu Struktura programu Okno pobierania zdjęcia z aparatu lub galerii Dostępne filtry graficzne Testowanie aplikacji i dyskusja wyników Wnioski i podsumowanie 37 Spis ilustracji 38 Spis tabel 38 Bibliografia 39 Strona 3

4 0. Wstęp Rosnąca popularność urządzeń mobilnych przyczyniła się do powstania nowoczesnych systemów operacyjnych wyposażonych w zestaw zaawansowanych środowisk programistycznych i frameworków służących do zwiększania efektywności pracy programisty nad projektem zapewniając sprawdzoną i stabilną funkcjonalność. Pomimo wcześniejszego istnienia kilku rozbudowanych systemów operacyjnych przeznaczonych dla urządzeń mobilnych (takich jak BlackBerry OS, czy Windows Mobile) prawdziwy wzrost popularności tych urządzeń przyniósł Apple iphone zaprezentowany na konferencji Macworld w 2007 roku. Początkowo nie wyróżniał się on na tle konkurencji, wręcz był on funkcjonalnie zacofany w stosunku do istniejących produktów (włączając w to brak możliwości instalowania zewnętrznych aplikacji), jednak spójny wygląd, oraz wyjątkowo prosta obsługa przyczyniły się do ponad sześciu milionów aparatów pierwszej generacji. Udostępnienie SDK (ang. Software Development Kit) zintegrowanego z IDE XCode oraz wprowadzenie cyfrowego modelu dystrybucji oprogramowania App Store przyczyniło się do gwałtownego rozwoju rynku aplikacji mobilnych. Tylko w pierwszych stu dniach działania usługi App Store osiągnięto wynik 200 milionów pobrań aplikacji. Skuteczność tego modelu dystrybucji oprogramowania natychmiast zauważyła konkurencja otwierając Google Android Market, Nokia Ovi Store czy też BlackBerry App World, jednak to Apple wciąż pozostaje niekwestionowanych liderem jeśli chodzi o przychód ze sprzedaży. O potędze rynku aplikacji mobilnych może świadczyć fenomen gry Angry Birds pobranej ponad pół miliarda razy. Framework Cocoa Touch wraz ze zintegrowanym środowiskiem programistycznym XCode oraz język Objective-C stały się obok Android SDK najbardziej pożądanymi umiejętnościami na rynku programowania urządzeń mobilnych, spychając królującą dotychczas Javę ME. Przedstawiona praca opisuje realizację projektu aplikacji do obróbki graficznej z wykorzystaniem warstwy systemu graficznego Quartz realizującego obsługę grafiki dwuwymiarowej. Strona 4

5 Część I - Teoretyczna Strona 5

6 1. System Operacyjny Apple ios 1.1 Historia systemu ios System Apple ios wywodzi się bezpośrednio z systemu Apple Mac OS X [1], który przeznaczony jest na komputery typu Macintosh. Początkowo były one wyposażone w procesory IBM PowerPC typu RISC, jednak z powodu problemów z dostawami, oraz wysoką ceną zostały one wyposażone w procesory o architekturze Intel x86. Mac OS X był nowym systemem [2], odcinającym się od architektury Mac OS Classic. Wywodzi się on z projektu NeXT przeznaczonego dla stacji roboczych, który to był oparty o architekturę Mach oraz 4.4BSD (Rysunek 1.). Jako natywny język programowania użyto obiektowo zorientowanego Objective-C. NeXT BSD 4.4 Rhapsody (1997) MacOS X (1999) ios (2007) Rysunek 1. Schemat rozwoju systemu ios (opracowanie własne na podstawie Kernelthread [2]). W 1997 roku podupadająca firma Apple postanowiła ponownie zatrudnić Steve a Jobsa, który postanowił wykupić swoją firmę NeXT Inc., po czym rozpoczął rozwój systemu Rapsody mającego być kontynuacją systemu Mac OS Classic przeznaczonego dla komputerów Macintosh. Duży nacisk położono na możliwość uruchamiania oprogramowania z klasycznej wersji systemu, jednocześnie wdrażając całkiem inną, Uniksową architekturę. Stabilna wersja systemu MacOS X 10.0 została wydana w 2001 roku. Mobilny system Apple ios, który początkowo nie posiadał nazwy własnej w prostej linii wywodzi się z biurkowego MacOS X. Został wydany w 2007 roku wraz z premierą pierwszego iphone a. Pierwsze wydanie ios systemu było zamknięte na aplikacje zewnętrze i nie posiadało publicznego SDK, co było główną przyczyną krytyki iphone a. Zestaw aplikacji ograniczał Strona 6

7 się jedynie do obsługi wiadomości tekstowych, kalendarza, galerii zdjęć, aparatu, kalkulatora, giełdy, map, pogody, notatek, zegara, telefonu, maila, przeglądarki internetowej i obsługi muzyki. Wraz z drugim wydaniem w 2008 roku Apple upubliczniło App Store a wraz z nim zestaw narzędzi programistycznych. Cyfrowy model dystrybucji oprogramowania stał się zamknięty, gdyż App Store jest jedyną, zgodną z licencją możliwością zainstalowania zewnętrznych aplikacji, jednak wysokie wymagania stawiane programistom w procesie akceptacji aplikacji do wirtualnego sklepu ograniczają dostępność do wadliwego, bądź złośliwego oprogramowania. 1.2 Architektura systemu ios Architektura systemu ios i MacOS X w dużej mierze jest wspólna, jednak wydzielono z Cocoa API warstwę dla urządzeń mobilnych Cocoa Touch, oraz uproszczono inne składniki systemu, bądź się ich pozbyto (jak np. maszyny wirtualnej Javy). System ios udostępnia cztery warstwy abstrakcji frameworków(rysunek 2.) [3], do których może odwoływać się programista. Cocoa Touch Media Services Core Services Core OS Jądro Środowisko jądra MACH System plików Sieć BSD Obsługa I/O Sterowniki Rysunek 2. Schemat budowy systemu ios (opracowanie własne na podstawie Techtopia [3]). Każda wyższa warstwa zwiększa poziom abstrakcji rozwiązania dostarczając przy tym narzędzia przyczyniające się do zmniejszenia nakładu pracy programisty oraz zredukowania objętości kodu, co bezpośrednio przyczynia się do poprawy jakości wytwarzanego oprogramowania. Strona 7

8 Przykładowo warstwa Cocoa Touch dostarcza framework Adress Book UI (AdressUI.framework) zapewniający integrację z książką adresową systemu. Tę samą funkcję może realizować framework Address Book (AdressBook.framework) z warstwy Core Services. Jednak wysoce abstrakcyjna warstwa z Cocoa Touch dostarcza nam domyślnie cztery kontrolery wraz z gotowym interfejsem graficznym do ich obsługi, których wywołanie i obsługa ogranicza się do kilku linijek kodu. Framework niższej warstwy abstrakcji ogranicza się jedynie do bezpośrednich odwołań do bazy danych książki adresowej pozostawiając nam realizację reszty zadań samodzielnie (np. stworzenie GUI). Warstwa Cocoa Touch jest najwyższą warstwą abstrakcji dostępną w systemie ios. Jej głównymi zadaniami są: obsługa rysowania elementów graficznego interfejsu użytkownika, zarządzanie cyklem życia aplikacji i wielozadaniowością oraz przechwytywanie i rozpoznawanie gestów wielodotykowych. Poza tym pozwala na integrację aplikacji z Mapami Google, książką adresową, obsługę wiadomości tekstowych i i, komunikację między wieloma urządzeniami, a także dostarcza możliwość włączenia do aplikacji reklam z platformy iad firmy Apple. Niższą warstwą jest warstwa multimedialna (ang. Media Services) zawierająca frameworki do renderowania grafiki i tekstu oraz obsługę audio. Do najważniejszych z nich można zaliczyć Core Animations, Core Audio, Core Text, OpenAL, OpenGL ES oraz (użyty w moim projekcie) Quartz 2D wraz z podlegającym mu frameworkiem Core Image, które dostarczają wydajne środowisko do renderowania grafiki 2D z użyciem GPU. Warstwa usług podstawowych (ang. Core Services) dostarcza najbardziej istotne usługi dla działania systemu, do których odwołują się warstwy wyższego poziomu. Kluczowymi frameworkami dostarczonymi przez Core Services są: Foundation Framework najważniejszy framework używany przy pracy z Objective- C. Jest zestawem klas mającym na celu przyśpieszenie pracy z językiem Objective-C. Klasy dostarczane przez niego rozpoczynają się od liter NS od nazwy systemu NextStep. Core Foundation Framework oparty o język C dostarcza podstawową funkcjonalność taką jak typy danych, kolekcje, praca ze Stringami, komunikację socketową i obsługę portów, wątki itp. Core Data Framework - zarządza modelem przechowywania danych. Zamiast pisać strukturę przechowywania danych ręcznie, modeluje się je z pomocą graficznych narzędzi Xcode. Przy wykonywaniu aplikacji wymodelowana struktura danych jest tworzona i zarządzana za pomocą tego frameworku. Dane są przechowywane przy Strona 8

9 pomocy bazy SQLite, a framework zapewnia sprawdzanie poprawności typów danych, sprawdzania spójności między relacjami, wsparcie dla grupowania, filtrowania i organizowania danych w pamięci. Core Location Framework zbiera informacje o położeniu za pomocą GPS, stacji bazowych GSM oraz sieci WiFi. Biblioteki SQLite dostarczają lekkie i wydajne środowisko SQL, którego obsługą zajmuje się Core Data Framework. Programista ios rzadko odwołuje się do warstwy Core Services bezpośrednio szukając rozwiązania prostszego, dostarczonego przez wyższe warstwy abstrakcji. Ostatnią warstwą jest warstwa bazowa systemu Core OS która odwołuje się bezpośrednio do sprzętu. Obsługuje urządzenia takie jak Akcelerometr, Bluetooth, a także zapewnia obsługę akcesoriów zewnętrznych wpinanych do urządzenia za pomocą 30- pinowego wejścia, bądź przez Bluetooth. Najważniejszą częścią tej warstwy jest System. System oparty jest o hybrydowe jądro Darwin (Tabela 1.) [4] przystosowane do pracy pod 32-bitową architekturą typu RISC ARM (ang. Advanced RISC Machine). Łączy ono mikrojądro Mach 3, oraz wiele elementów systemu 4.4BSD takich jak stos sieciowy, czy wirtualne systemy plików. Dzięki włączeniu krytycznych usług do jądra można zachować wysoką wydajność dla najważniejszych zadań (jak w jądrach monolitycznych). Natura mikrojądra natomiast zapewnia modułowość, bez potrzeby wkompilowania całej funkcjonalności do jądra opcjonalne moduły mogą działać w przestrzeni użytkownika. MACH BSD Mikrojądro Mach zarządza zasobami takimi jak użycie procesora, pamięci, planowanie wykonywania procesów oraz dostarcza infrastrukturę do komunikacji z innymi warstwami systemu operacyjnego. Warstwa BSD dostarcza obsługę systemów plików, sieci, systemu bezpieczeństwa UNIX, modelu procesów BSD (sygnały, ID procesów itp.), zgodność z API POSIX a oraz wątki POSIX owe pthreads. Tabela 1. Opis warstw jądra (opracowane na podstawie osxbook.com [4]) Poza UNIXowym hybrydowym jądrem warstwa System dostarcza zestaw narzędzi bazowych. Za pomocą biblioteki LibSystem (napisanej w języku C) mamy dostęp do obsługi wątków (POSIX), sieci (BSD), systemu plików, wejścia/wyjścia, usług DNS, informacji lokalizacyjnych, zarządzania pamięci czy też funkcji matematycznych. Strona 9

10 2. Środowisko Xcode 4 oraz język Objective-C W tym rozdziale zostały przedstawione dwa główne narzędzie do tworzenia aplikacji dla systemu ios środowisko programistyczne Xcode [5], wraz z jego narzędziami pomocniczymi, oraz język Objective-C przeznaczony do programowania w dedykowanym dla ios SDK. 2.1 Środowisko programistyczne Xcode Xcode [5] jest zintegrowanym środowiskiem programistycznym przeznaczonym do rozwoju oprogramowania na platformę MacOS X oraz ios. Poza edytorem kodu i kompilatorem zawiera narzędzia do debugowania, kontroli wersji, emulator urządzeń ios a, a także narzędzia do badania wydajności, diagnostyki połączeń sieciowych, Bluetooth, USB. Środowisko obsługuje wiele języków programowania w tym: C, C++, Objective-C, Java, Python, Ruby. Potrafi ono tworzyć pliki wykonywalne uruchamiające się jednocześnie na platformie PowerPC, a także Intel x86. W przypadku aplikacji na ios docelową architekturą jest ARM. Rysunek 3. Podstawowe narzędzia środowiska Xcode 4 (zrzut ekranu) Podstawowym zestawem aplikacji są: Xcode zintegrowane środowisko programistyczne. Instruments zestaw narzędzi debbugerskich. Dashcode narzędzie do tworzenia widgetów przystosowanych do systemowego Dashboarda (specjalnej przestrzeni, w której można je umieszczać), a także do tworzenia małych narzędzi dla przeglądarki Safari oraz Mobile Safari. Quartz Composer środowisko do programowania wizualnego. Efekty graficzne tworzy się składając z gotowych komponentów diagramy. Powstające kompozycje Strona 10

11 mogą być wyeksportowane do postaci wtyczki i użyte w zewnętrznych programach. Za pomocą akcji Automatora stworzony efekt może być zaaplikowany do dowolnego zdjęcia, filmu, czy też kontrolki w aplikacji. Niestety na chwilę obecną nie można ich użyć bezpośrednio przez SDK ios. W porównaniu do poprzednich wersji Xcode a wersja 4 została znacząco zmieniona [5]. Interfejs programu został zunifikowany. Wielookienkowy tryb pracy został sprowadzony do jednego okna roboczego. Projektant interfejsu aplikacji Interface Builder - został zintegrowany z głównym oknem aplikacji. Aby zaprogramować wybraną akcję (tzw. Outlet) wystarczy przeciągnąć kontrolkę do okna edytora klas. Moduł Assistant służący do modelowania baz danych pozwala na wizualne projektowanie struktury bazy. Co więcej każda zmiana w diagramie powoduje automatyczne generowanie kodu klas służących do obsługi danych. W gestii programisty pozostają jedynie ewentualne drobne poprawki. Okno programu Xcode 4 (Rysunek 4.) domyślnie składa się z kilku głównych paneli, choć jest w dużym stopniu konfigurowalne. Lewa strona górnego panelu służy do sterowania procesem wykonywania aplikacji można wybrać rodzaj kompilacji (Run, test, profile, analyse), zatrzymać aplikację, wybrać urządzenie docelowe (skonfigurowane urządzenie fizyczne, bądź też symulator), przeskakiwać między pułapkami. Prawa strona odpowiada za włączanie paneli środowiska. Nawigacja Edytor kodu Debuggowanie Biblioteki Inspektor Rysunek 4. Okno programu Xcode 4. Strona 11

12 Panel nawigacji (Rysunek 5.) [6] służy do przeglądania zasobów projektu. W zależności od wybranej ikony można nawigować w różny sposób: Rysunek 5. Panel nawigacji (ze strony ios Developer Library [6]). Project navigator pozwala na przeglądanie projektu wyświetlając jego zawartość jako pliki. Widok umożliwia tworzenie nowych plików, dołączanie frameworków do projektu, oraz przeglądanie plików wynikowych działania projektu. Symbol navigator dostarcza hierarchiczny schemat klas, metod, atrybutów i innych struktur związanych z paradygmatem programowania obiektowego. Pozwala na łatwą refaktoryzację oraz enkapsulację kodu. Search navigator wyszukiwarka fraz. Issue navigator pokazuje błędy i ostrzeżenia związane z kodem projektu a także proponuje rozwiązania problemów. Debug navigator zawiera podstawowe narzędzia debuggerskie. Breakpoints navigator pomaga w przeskakiwaniu między pułapkami podczas wykonywania programu. Log navigator dostarcza interfejs do przeglądania logów tworzonych podczas kompilacji oraz podczas czasu pracy aplikacji. Edytor kodu posiada wiele pomocniczych funkcjonalności przyspieszających pracę z kodem, takich jak automatyczne formatowanie kodu, generowanie wcięć, sugerowanie i poprawianie kodu oraz dostęp do dokumentacji online. Dzięki funkcji Assistant editor możemy podzielić okno edytora na dwie części i jednocześnie poruszać się po pliku nagłówkowym i implementacji w przypadku edycji klas. Uruchamiając plik widoku (.xib lub.nib) możemy w prosty sposób tworzyć akcje przeciągając jedynie wybraną kontrolkę (np. Button) do okna edycji klasy. Assistant uzupełni kod tworząc twz. outlet o wybranych parametrach. Co więcej Assistant editor pozwala na graficzne tworzenie modeli relacyjnych baz danych i ich późniejszy eksport w formie klas używających frameworka Core Data. Panel Inspektora wyświetla informacje o obecnie edytowanym pliku takie jak kodowanie, rodzaj znaków zakończenia linii czy też ścieżkę pliku. Strona 12

13 Panel Bibliotek (Rysunek 6.) [6] zawiera gotowe elementy, które można wykorzystać w tworzonym projekcie. Zakładka File Template zawiera gotowe schematy plików takich jak klasy, widoki, kontrolery. Code Snippets zawiera kawałki kodu, które można używać wielokrotnie, np. deklaracje struktur obiektowych (klasy, typy wyliczeniowe, unie, struktury), pętle, bloki wyjątków, bloki switch czy też alokowanie pamięci. Rysunek 6. Panel bibliotek (opracowanie własne na podstawie ios Developer Library [6]). Panel Objects jest zbiorem funkcji i kontrolek frameworka Cocoa Touch, które zostały opisane w Rozdziale 4.1. Panel Media dostarcza nam dostęp do zawartości multimedialnej projektu, takich jak pliki graficzne, audio i wideo. W nowym Xcode [7] wprowadzono także nowy kompilator Apple LLVM Compiler 2.0 dla języków C, Objective-C oraz C++, który jest znacznie szybszy od używanego wcześniej GCC. Podświetlanie składni oraz uzupełnianie kodu jest realizowane przez ten sam parser co podczas kompilacji, a nie przez wewnętrzny parser środowiska, dzięki czemu już podczas edycji kodu eliminujemy możliwe błędy kompilacji. 2.2 Język Objective-C Język Objective-C [8-10] powstał jako rozszerzenie obiektowe języka C za wzór przyjmując pierwszy w pełni język obiektowy Smalltalk. Aby odróżnić elementy obiektowe języka od klasycznej składni C użyto symboli nawiasów kwadratowych [] oraz Klasa składa się z dwóch plików pliku nagłówkowego.h (ang. header), oraz pliku.m (ang. implementation) zawierającego definicje metod. Do języka wprowadzono także własne typy na wzór typów z czystego C, z których najważniejszy jest id, będący referencją do obiektu. Dla programisty popularnych języków obiektowych jak Java, czy C++, których obiektowość jest oparta o język Simula składnia zaczerpnięta ze Smalltalka może wydawać się dziwna. Strona 13

14 2.2.1 Przekazywanie komunikatów W języku Objective-C nie wykonuje się operacji wywołując metody, a wysyła komunikaty. Aby wysłać komunikat method do obiektu object z argumentem argument należy użyć następującej składni: [obiect method:argument]; co odpowiada wywołaniu metody w C++: obiect -> method(argument); Możliwe jest także używanie komunikatów zagnieżdżonych (w przypadku więcej niż dwóch komunikatów przyjęto konwencję zapisywania ich w wielu linijkach): [obiect method:[obiect2 method2]]; Bardzo charakterystyczne jest przekazywanie komunikatów z wieloma parametrami. Wywołanie metody zdefiniowanej tak: -(int) zmienpolozeniex:(int)x Y:(int)y Z:(int)z; odbywa się następująco: [obiect zmienpolozeniex:5 Y:15 Z:25]; Takie przekazanie komunikatu nie ma swojego odpowiednika w języku C++ w wywoływaniu metody Interfejs i implementacja Pliki nagłówkowe i implementacja klasy przypomina tę znaną z języka C++. Obrazowy interfejs i implementację przedstawia Tabela 2. przyklad.h #ifndef przyklad h #define przyklad h C++ przyklad.cpp #include <iostream>; #include "przyklad.h"; class Przyklad { private: int zmienna; public: // metody statyczne static typ metodastatyczna(); // metody obiektu typ metoda(typ parametr, typ parametr2); }; typ Przyklad::metodaStatyczna(){ // ciało metody return zmienna; } typ Przyklad::metoda(typ parametr, typ parametr2){ // ciało metody return zmienna; } #endif Strona 14

15 przyklad.h #import Przyklad : NSObject{ //zmienne int zmienna; } // metody klasy +(typ)metodastatyczna; //metody obiektu -(typ)metoda:(typ)parametr Objective- C przyklad.m #import Przyklad +(typ) metodastatyczna{ // ciało metody return zmienna; } -(typ)metoda:(typ)parametr kilkaparametrow:(typ)parametr2{ // ciało metody return zmienna; Tabela 2. Porównanie schematycznego wyglądu klasy w językach C++ i Objective- C Słowo w języku Objective-C jest odpowiednikiem deklaracji w pliku nagłówkowym w języku C++ (nie należy go mylić ze słowem interface znanym z języków Java i C#, które deklarują abstrakcyjną reprezentację klasy w języku Objective-C odpowiedzialne są za to protokoły Podobnie jak w języku C++ zmienne i metody mają swój poziom widoczności (co określają Odpowiednikiem słowa kluczowego static w Objective-C jest symbol +. Metodę opatrzoną tym symbolem nazywamy metodą klasową Akcesory Tradycyjny zapis gettera i settera wygląda następująco: [obiekt setzmienna: (void)zmienna]; // setter wyjscie = [obiekt zmienna]; // getter Przyjęło się, iż nie używa się prefiksu get. Od wprowadzenia Objective-C 2.0 istnieje możliwość używania notacji z kropką: obiekt.zmienna = (typ)zmienna2; // setter wyjscie = obiekt.zmienna; // getter Należy pamiętać, iż w jednym projekcie powinno się używać jednej konwencji odwoływania się do obiektu. W języku Objective-C zmienne obiektu są zmiennymi prywatnymi w związku z czym trzeba utworzyć odpowiedni akcesor: -(typ) metoda:(typ)zmienna { return [self innametoda: zmienna]; } Strona 15

16 co odpowiadało by w C++: typ metoda (typ)zmienna { return this -> innametoda(zmienna); } Tworzenie obiektów Istnieją dwa główne sposoby tworzenia obiektów. Pierwszy z nich jest bardziej automatyczny i tworzy obiekty samozwalniające (ang. autorelease) się: typ* nowyobiekt = [typ zmienna]; Drugi zagnieżdżony sposób jest sposobem niskopoziomowym: typ* nowyobiekt = [[typ alloc] init]; Metoda alloc rezerwuje pamięć i instancję obiektu określonego typu, a metoda init dokonuje wstępnej konfiguracji obiektu, jak ustawianie zmiennych instancji. Używając typów wbudowanych Objective-C przeważnie nie znamy szczegółów tego procesu. Jednak wiele klas posiada wiele wersji metody init, np. klasa NSNumber: NSNumber* nowyobiekt = [[NSNumber alloc] initwithfloat:5.2]; Zarządzanie pamięcią W porównaniu do takich języków jak Java, czy C# Objective-C nie oferuje Garbage Collectora do 5-tej wersji ios SDK. Jeżeli alokujemy pamięć dla obiektu musimy pamiętać o zwalnianiu pamięci po zakończeniu pracy z obiektem. Do śledzenia alokacji i ewentualnych wycieków pamięci można użyć narzędzi Instruments opisanych w Rozdziale 2.3. Najprostsze operacje zarządzania pamięcią to alokowanie i zwalnianie pamięci (Rysunek 7. (a)). Do tego służą metody alloc oraz release: typ *nowyobiekt = [[typ alloc] init ]; // alokujemy pamięć [argument release]; // zwalniamy pamięć (a) (b) (1) (0) [obj alloc] [obj release] (1) (0) (0) [obj alloc] [obj autorelease] [obj release] (c) (1) (0) (1) (0) [obj alloc] [obj autorelease] [obj retain] [obj release] Rysunek 7. Sposoby zarządzania pamięcią (opracowanie własne). Strona 16

17 Aby zwolnić pamięć można oprócz release użyć metody autorelease, która zwalnia obiekt, ale nie robi tego natychmiastowo (Rysunek 7. (b)). Szary kwadrat oznacza, iż obiekt istnieje w pamięci, natomiast (1) oraz (0) określa czy istnieje dostęp do obiektu. Trzecia metoda (Rysunek 7. (c)). umożliwia alokację obiektu, skonfigurowanie go i automatyczne zwolnienie z pamięci, jednak dostęp do obiektu jest zachowywany przez metodę retain. Jest to przydatne w momencie kiedy chcemy uzyskać dostęp do obiektu ostatni raz. Po wywołaniu metody retain obiekt zostanie usunięty z pamięci. W Objective-C 2.0 został wprowadzony mechanizm odśmiecający pamięć nazywany Automatic Reference Counting. 2.3 Instruments Narzędzie Instruments składa się z wielu modułów(rysunek 8.) służących do badania jakości wytwarzanego oprogramowania, które przedstawia w formie wykresów, ale także umożliwia dostęp do dokładnych danych w formie logów tekstowych. Rysunek 8. Narzędzie Instruments dostępne moduły (zrzut ekranu). Moduły odpowiedzialne są za: Allocations śledzi alokowanie pamięci przez konkretne obiekty Strona 17

18 Leaks - poszukuje wycieków pamięci i prowadzi statystyki alokacji pamięci przez obiekty Activity Monitor monitor aktywności prowadzi statystyki dotyczące użycia procesora, pamięci, dysku czy sieci. Automation pozwala na tworzenie skryptów, które symulują interakcje z interfejsem użytkownika aplikacji Energy Diagnostics zbiera informacje na temat zużycia energii przez procesor, wyświetlacz, moduły Bluetooth, WiFi i GSM. Network Connections analizuje ruch sieciowy Core Animations bada wydajność renderowania animacji przy pomocy frameworka Core Animations OpenGL ES Analysis wyszukuje i analizuje problemy z wydajnością renderowania grafiki z użyciem OpenGL ES Instruments umożliwia śledzenie wykonywania programów dla urządzeń fizycznych z systemem ios oraz MacOS X, a także pozwala na pracę z symulatorem systemu ios. Strona 18

19 3. Cel projektu Celem niniejszego projektu jest stworzenie aplikacji do podstawowej obróbki zdjęć dla systemu ios z możliwością pobierania zdjęć z wbudowanej kamery bądź też z galerii zdjęć. W celu zrealizowania projektu posłużono się środowiskiem programistycznym Xcode 4 wraz z zainstalowanym ios SDK 5. Założono, iż interakcja między użytkownikiem a urządzeniem mobilnym ma być zrealizowana za pomocą frameworka Cocoa Touch, a stworzona aplikacja powinna być oparta o wzorzec projektowy Model-Widok-Kontroler. Renderowanie grafiki ma być zaimplementowane poprzez graficzne frameworki Quartz 2D oraz Cocoa Touch, a sama aplikacja ma umożliwiać pobieranie zdjęć bezpośrednio za pomocą aparatu wbudowanego w urządzenie. Strona 19

20 Część II - Projekt aplikacji do obróbki zdjęć Strona 20

21 4. Frameworki użyte w projekcie Założeniem przy projektowaniu aplikacji mobilnej na system ios było maksymalne wykorzystanie możliwości dostarczanych wraz z SDK firmy Apple a co za tym idzie zminimalizowanie implementacji własnych funkcji do niezbędnego minimum. Użyte SDK [3] w wersji 5-tej dostarcza ważną nowość przy projektowaniu aplikacji mianowicie framework Core Images, który wcześniej był dostępny jedynie dla biurkowej linii systemów Apple Mac OS X. 4.1 Cocoa Touch Framework Cocoa Touch jest obiektowym frameworkiem napisanym głównie w języku Objective-C służącym przede wszystkim do implementacji interakcji pomiędzy użytkownikiem a urządzeniem. Cocoa Touch implementuje wzorzec projektowy Model-Widok-Kontroler (Rysunek 8.) [12]. Model jest zestawem klas odpowiadających za reprezentację danych. Wszystkie funkcje operujące na zbiorach danych powinny być zawarte w nim. Model nie odpowiada za graficzną reprezentację danych, nie musi nawet wiedzieć, że takowa istnieje. Całość danych zawartych w modelu powinna być zhermetyzowana. Kontroler Model Widok Rysunek 9. Wzorzec projektowy Model- Widok- Kontroler [12]. Widok odpowiada za graficzną reprezentację programu w środowisku Xcode widok tworzy się za pomocą projektanta interfejsu Interface Buildera. Do stworzenia podstawowego interfejsu wystarczą proste operacje typu przeciągnij i upuść w tej pracy jedynie kilka widoków zostało wzbogaconych o własny kod. Większość interakcji realizuje wprowadzony przez SDK 5 Storyboard [13] narzędzie służące do tworzenia i dodawania interakcji za pomocą graficznego edytora. Storyboard (Rysunek 10.) rozwiązuje znaczną część problemów z nawigacją między widokami w projekcie występującymi w poprzednich wersjach SDK. Strona 21

22 Rysunek 10. Schemat widoków utworzonych za pomocą Storyboard (zrzut ekranu). Strona 22

23 Kontroler jest łącznikiem pomiędzy widokiem a reprezentacją danych. Odpowiedzialny jest za logikę aplikacji oraz za komunikację pomiędzy modelem a widokiem. Najważniejszą klasą w aplikacji jest klasa AppDelegate. Zawiera ona okno główne oraz domyślne metody mówiące o cyklu życia aplikacji. #import AppDelegate : UIResponder (strong, nonatomic) UIWindow Klasa ta domyślnie tworzy nową instancję okna, która automatycznie poszukuje głównego kontrolera widoków klasy RootViewController. Klasa ta nie jest niczym innym jak kontrolerem widoku utworzonego przez Storyboarda, który znajduje się w pliku MainStoryboard.storyboard, będącego plikiem XML. W przypadku tej aplikacji realizowany jest widok stron z klasy UIPageViewController. #import RootViewController : UIViewController (strong, nonatomic) UIPageViewController Framework Cocoa Touch dostarcza pokaźny zestaw domyślnych obiektów. Zawarte są w nim między innymi: Kontrolki: o Label etykieta tekstowa, o Button przycisk dotykowy, o Text Field pole tekstowe o Slider suwak, o Switch przełącznik stanu, Widoki: o Table View widok tabeli (wiersze), o Image View widok obrazka, o Text View widok tekstu, o Web View zagnieżdżony widok strony internetowej, o Map View widok mapy, Rozpoznawanie gestów: o Tap Guesture gest pukania, o Pinch Guesture - gest szczypania, Strona 23

24 o Rotation Guesture gest obracania, o Swipe Guesture gest przesuwania, o Pan Guesture gest rozsuwania palców, o Long Press Guesture gest długiego przytrzymania palców, Obiekty i kontrolery o View Controller kontroler widoku, o Table View Controller kontroler widoku tabeli, o Navigation Controller kontroler widoku nawigacji, o Tab Bar Controller kontroler widoku kart, o Page View Controller kontroler widoku stron, Aby móc określić interakcje między obiektem a jego graficzną formą należy nadać obiektowi ujście (ang. outlet) bądź akcję. Ujście pozwala na odwołanie się do obiektu w celu, np. zmiany jego właściwości (np. zmiana etykiety tekstowej), natomiast akcja pozwala na określenie, która metoda klasy może być wywoływana bezpośrednio z widoku. #import Filters : UIView { UISlider *rotate; // definicja obiektu (nonatomic, retain) IBOutlet UISlider *rotate; // ustawiamy outlet -(IBAction)doRotate:(id)sender; // definicja metody do której można przypisać akcję Po poprawnym ustaleniu w kodzie outletów oraz akcji możliwe będzie za pomocą projektanta interfejsów ustalenie interakcji (przez przeciągnięcie ikony plusa do odpowiedniej kontrolki w widoku). 4.2 Quartz 2D Framework Quartz 2D [14] jest dwuwymiarowym silnikiem renderującym dla systemów MacOS X dostarczającym podstawowych funkcji graficznych takich jak rysowanie prymitywów, przezroczystość, cienie, zarządzanie kolorami czy anty-aliasing. Pomimo, iż w projekcie nie został on bezpośrednio użyty to jest on podstawą dla innych frameworków systemu ios, takich jak Core Animation, Core Video, OpenGL ES oraz użyty w moim projekcie Core Images. Strona 24

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

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios Politechnika Poznańska, Instytut Informatyki, TWO/GE Programowanie dla ios 13 stycznia 2012 Urządzenia ios Urządzenie Data prezentacji iphone 9.01.2007/06.2007 ipod touch 5.09.2007 iphone 3G 9.06.2008

Bardziej szczegółowo

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński Plan Prezentacji. Programowanie ios. Jak zacząć? Co warto wiedzieć o programowaniu na platformę ios? Kilka słów na temat Obiective-C.

Bardziej szczegółowo

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS Wymagana wiedza wstępna: 1) Student musi 1) Umieć stworzyć projekt aplikacji konsolowej w XCode z wykorzystaniem Objective-C

Bardziej szczegółowo

Programowanie dla iphone projektowanie interfejsu użytkownika

Programowanie dla iphone projektowanie interfejsu użytkownika #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

OBC01/TOPMOB Projektowanie w języku Objective-C

OBC01/TOPMOB Projektowanie w języku Objective-C Szkolenie skierowane do: Programistów zaczynających pracę z platformą ios na urządzeniach iphone oraz ipad. Tematy zajęć: Dzień 1 1. Wprowadzenie Zarys historyczny NextStep oraz rozwój Apple ios Historia

Bardziej szczegółowo

Dzięki szkoleniu. Dni: 3. Opis: Adresaci szkolenia

Dzięki szkoleniu. Dni: 3. Opis: Adresaci szkolenia Kod szkolenia: Tytuł szkolenia: IOS/START Programowanie ios - szybki start Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów, którzy chcą od podstaw poznać język Objective- C oraz

Bardziej szczegółowo

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

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

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

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

Bardziej szczegółowo

Temat 4. Storyboard i element interfejsu użytkownika Gra w kulki- część 1

Temat 4. Storyboard i element interfejsu użytkownika Gra w kulki- część 1 Temat 4. Storyboard i element interfejsu użytkownika Gra w kulki- część 1 Wymagana wiedza wstępna: 1) Student musi 1) Umieć stworzyć projekt aplikacji konsolowej w XCode z wykorzystaniem Objective-C 2)

Bardziej szczegółowo

Android - wprowadzenie. Łukasz Przywarty 171018

Android - wprowadzenie. Łukasz Przywarty 171018 Android - wprowadzenie Łukasz Przywarty 171018 Ramowy plan prezentacji Czym jest Android: definicja, krótka historia. Architektura systemu. Architektura aplikacji. Właściwości systemu. Środowisko deweloperskie.

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8 Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem

Bardziej szczegółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część I Rozpoczęcie pracy z usługami Reporting Services Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...

Bardziej szczegółowo

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

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C Wymagana wiedza wstępna: 1) Student musi 1) Znać język C 2) Znać zasady zarządzania pamięcią w komputerze 3) Znać pojecie wskaźnika

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Konspekt pracy inżynierskiej

Konspekt pracy inżynierskiej Konspekt pracy inżynierskiej Wydział Elektryczny Informatyka, Semestr VI Promotor: dr inż. Tomasz Bilski 1. Proponowany tytuł pracy inżynierskiej: Komunikator Gandu na platformę mobilną Android. 2. Cel

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

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

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

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

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska JavaFX - wprowadzenie JavaFX Wydział Informatyki i Zarządzania Politechnika Wrocławska Definicja JavaFX - wprowadzenie Definicja Historia JavaFX Script Rich Internet Application JavaFX - rodzina technologii

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

16) Wprowadzenie do raportowania Rave

16) Wprowadzenie do raportowania Rave 16) Wprowadzenie do raportowania Rave Tematyka rozdziału: Przegląd wszystkich komponentów Rave Tworzenie nowego raportu przy użyciu formatki w środowisku Delphi Aktywacja środowiska Report Authoring Visual

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

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

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

Bardziej szczegółowo

tel. (+48 81) 538 47 21/22 fax (+48 81) 538 45 80 Cel przedmiotu

tel. (+48 81) 538 47 21/22 fax (+48 81) 538 45 80 Cel przedmiotu 0-68 Lublin tel. (+48 8) 538 47 / fax (+48 8) 538 45 80 Przedmiot: Programowanie aplikacji Rok: 4 Semestr: 7 Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 4 Ćwiczenia

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Spis treści. Księgarnia PWN: Roland Zimek - SWiSH Max2 i SWiSH Max3. Wprowadzenie... 9

Spis treści. Księgarnia PWN: Roland Zimek - SWiSH Max2 i SWiSH Max3. Wprowadzenie... 9 Księgarnia PWN: Roland Zimek - SWiSH Max2 i SWiSH Max3 Spis treści Wprowadzenie... 9 1. Opis programu i instalacja... 13 1.1. Nowości w SWiSH Max2... 13 1.1.1. Wygląd okna programu... 13 1.1.2. Język skryptowy...

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

Instrukcja obsługi. Karta video USB + program DVR-USB/8F. Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia.

Instrukcja obsługi. Karta video USB + program DVR-USB/8F. Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia. Instrukcja obsługi Karta video USB + program DVR-USB/8F Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia. Spis treści 1. Wprowadzenie...3 1.1. Opis...3 1.2. Wymagania systemowe...5

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

Tworzenie prezentacji w MS PowerPoint

Tworzenie prezentacji w MS PowerPoint Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Notka biograficzna Dr inż. Mariusz Trzaska jest adiunktem w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych, gdzie zajmuje się

Bardziej szczegółowo

Aplikacje w środowisku VBA. Visual Basic for Aplications

Aplikacje w środowisku VBA. Visual Basic for Aplications Aplikacje w środowisku VBA Visual Basic for Aplications Podstawowe informacje o VBA Visual Basic for Aplications, w skrócie VBA, to język programowania rozwijany przez Microsoft, którego zastosowanie pozwala

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Opis szybkiego uruchomienia programu APBSoft

Opis szybkiego uruchomienia programu APBSoft Opis szybkiego uruchomienia programu APBSoft www.telmatik.pl Program APBSoft należy instalować z otrzymanej płyty CD albo pobrać ze strony www.telmatik.pl. W drugim przypadku program dostarczany jest w

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA

INŻYNIERIA OPROGRAMOWANIA INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy

Bardziej szczegółowo

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

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

OpenGL Embedded Systems

OpenGL Embedded Systems OpenGL Embedded Systems Instrukcja instalacji niezbędnego oprogramowania Czym jest OpenGL ES? To podzbiór biblioteki OpenGL zaprojektowany dla urządzeo mobilnych (telefony komórkowe, konsole do gier).

Bardziej szczegółowo

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia OPIS PRZEDMIOTU Nazwa przedmiotu Programowanie i obsługa systemów mobilnych Kod przedmiotu Wydział Instytut/Katedra Kierunek Specjalizacja/specjalność Wydział Matematyki, Fizyki i Techniki Instytut Mechaniki

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

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

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Podstawy technologii cyfrowej i komputerów

Podstawy technologii cyfrowej i komputerów BESKIDZKIE TOWARZYSTWO EDUKACYJNE Podstawy technologii cyfrowej i komputerów Budowa komputerów cz. 2 systemy operacyjne mgr inż. Radosław Wylon 2010 1 Spis treści: Rozdział I 3 1. Systemy operacyjne 3

Bardziej szczegółowo

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4 ICD 2 Czym jest In-Circuit Debugger? 2 O poradniku 3 Gdzie szukać dodatkowych informacji? 4 ICD 1 ICD 25.08.2009 Czym jest In-Circuit Debugger? Większość procesorów dostarcza systemów debugowania (ang.

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Webowy generator wykresów wykorzystujący program gnuplot

Webowy generator wykresów wykorzystujący program gnuplot Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący

Bardziej szczegółowo

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

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Agenda Dlaczego PhoneGap i co to jest? Możliwości PhoneGap Jak pisać aplikacje z PhoneGap? Konfiguracja i przykład aplikacji

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 013/01 Nr programu: 31[01]/T,SP/MENIS/00.06.1 Okres kształcenia: łącznie ok. 170 godz. lekcyjne Moduł Bok wprowadzający 1. Zapoznanie z programem nauczania i

Bardziej szczegółowo

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest

Bardziej szczegółowo

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...

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... WARCABY Spis treści 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...9 1.PRZYJĘTE ZASADY GRY 1. W grze bierze

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT

Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT O co chodzi? - Przypomnienie Hackathon - http://en.wikipedia.org/wiki/hackathon A hackathon is an event in which computer programmers

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu. AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

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

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+ Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu

Bardziej szczegółowo

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK. Darmowe oprogramowanie narzędziowe sterowników PLC FATEK. Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK. WinProllader jest prostym interfejsem użytkownika służącym do programowania

Bardziej szczegółowo

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009 ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Oracle Application Express -

Oracle Application Express - Oracle Application Express - Wprowadzenie Wprowadzenie Oracle Application Express (dawniej: HTML DB) to narzędzie do szybkiego tworzenia aplikacji Web owych korzystających z bazy danych Oracle. Od użytkownika

Bardziej szczegółowo

CouchDB. Michał Nowikowski

CouchDB. Michał Nowikowski CouchDB Michał Nowikowski Agenda Wprowadzenie do CouchDB Mój przypadek Wyniki i wnioski Dokumenty CouchDB Format JSON Pary nazwa wartość Możliwe tablice i struktury Załączniki Brak limitów na liczbę i

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

Voicer. SPIKON Aplikacja Voicer V100

Voicer. SPIKON Aplikacja Voicer V100 Voicer SPIKON Aplikacja Voicer V100 SPIKON Voicer Aplikacja Voicer w platformie SPIKON dedykowana jest przede wszystkim konsultantom kampanii wirtualnego Call Center. Dając łatwy dostęp do najważniejszych

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH W KLASIE 4 SZKOŁY PODSTAWOWEJ

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH W KLASIE 4 SZKOŁY PODSTAWOWEJ WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH W KLASIE 4 SZKOŁY PODSTAWOWEJ 1. W ZAKRESIE BEZPIECZNEGO POSŁUGIWANIA SIĘ KOMPUTEREM I OPROGRAMOWANIEM UCZEŃ: przestrzega podstawowych zasad bezpiecznej i higienicznej

Bardziej szczegółowo

MagicInfo Express instrukcja obsługi

MagicInfo Express instrukcja obsługi MagicInfo Express instrukcja obsługi INFO MagicInfo Express Kreator zawartości to program pozwalający w prosty sposób tworzyć zawartość LFD na podstawie różnych szablonów oraz harmonogramy wyświetlania

Bardziej szczegółowo

DESIGNER APPLICATION. powered by

DESIGNER APPLICATION. powered by DESIGNER APPLICATION powered by O FIRMIE HiddenData specjalizuje się w technologii dystrybucji treści video w Internecie oraz w budowie złożonych, funkcjonalnych aplikacji internetowych i mobilnych. Budujemy

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Pierwsze kroki z easy Soft CoDeSys. 2009 Eaton Corporation. All rights reserved.

Pierwsze kroki z easy Soft CoDeSys. 2009 Eaton Corporation. All rights reserved. Pierwsze kroki z easy Soft CoDeSys Tworzenie prostego programu Rozpoczęcie pracy 2 Tworzenie prostego programu Wybór aparatu 3 Tworzenie prostego programu Wybór języka programowania Do wyboru jest sześć

Bardziej szczegółowo

Przewodnik Szybki start

Przewodnik Szybki start Przewodnik Szybki start Program Microsoft Visio 2013 wygląda inaczej niż wcześniejsze wersje, dlatego przygotowaliśmy ten przewodnik, aby skrócić czas nauki jego obsługi. Zaktualizowane szablony Szablony

Bardziej szczegółowo

Dokumentacja projektu QUAIKE Architektura oprogramowania

Dokumentacja projektu QUAIKE Architektura oprogramowania Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura

Bardziej szczegółowo

Rozdział 1. Przegląd bramofonu SAFE

Rozdział 1. Przegląd bramofonu SAFE Spis treści INSTRUKCJA OBSŁUGI SPIS TREŚCI ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE... 2 1.1 OPIS... 2 1.2. FUNKCJE... 2 1.3. WYMAGANIA SYSTEMOWE... 2 1.4. ROZPOCZĘCIE UŻYTKOWANIA... 3 ROZDZIAŁ2. DZIAŁANIE

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński MonoGame Wieloplatformowe gry w C# Mateusz Cicheński Plan prezentacji Założenia Alternatywy Narzędzia Różnice między WP8, ios, Android DEMO Podsumowanie Założenia CEL: Stworzenie wieloplatformowej gry

Bardziej szczegółowo

gdmss Lite Android DVR Mobile Client Instrukcja obsługi oprogramowania

gdmss Lite Android DVR Mobile Client Instrukcja obsługi oprogramowania gdmss Lite Android DVR Mobile Client Instrukcja obsługi oprogramowania Tylko na telefony z systemem Android Spis treści 1 INFORMACJE OGÓLNE... 3 1.1 Wprowadzenie...3 1.2 Funkcje...3 1.3 Obsługiwane wersje

Bardziej szczegółowo