3. Techniki informatyczne dla urządzeń typu PDA

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

Download "3. Techniki informatyczne dla urządzeń typu PDA"

Transkrypt

1 3. Techniki informatyczne dla urządzeń typu PDA Historia urządzeń typu PDA sięga wiele lat wstecz aż do połowy lat siedemdziesiątych, kiedy pojawiły się zaawansowane kalkulatory które można uznać za pierwowzory komputerów przenośnych. Lecz już znacznie wcześniej pisarze literatury fantastycznej i twórcy filmów przewidywali powstanie takich urządzeń np. Issac Asimov już w roku 1956 w opowiadaniu Ostatnie Pytanie pisał o kieszonkowym terminalu, zaś załoga statku Enterprise w serialu Star Trek korzystała z wielofunkcyjnego przyrządu o nazwie Tricorder. [12] W kwestii pierwszego urządzenia które można nazwać osobistym organizatorem opinie są podzielone, co wynika głównie z różnych definicji tego terminu. Niektóre źródła wskazują na firmę Toshiba, która w roku 1978 zaprezentowała model LC-836MN znany jako Memo Note 30. Był to rozbudowany kalkulator z możliwością zapisywania numerów telefonów i prostych notatek tekstowych. Co ciekawe już to pierwsze urządzenie było rozmiarów dzisiejszych PDA. Pierwsze komputery kieszonkowe projektowane od podstaw jako organizatory pojawiły się w latach 80-tych były to Psion Organizer oraz Sharp Wizard można je więc uznać za pierwsze urządzenia typu PDA. Razem z pierwszym z nich powstał system operacyjny EPOC który jest podstawą niezwykle dzisiaj popularnego Symbiana. W roku 1987 pojawił sie pierwszy komputer z funkcją rozpoznawania pisma odręcznego Linus Technologies WriteTop. Dwa lata później zadebiutował Atari Portfolio pierwszy komputer kieszonkowy kompatybilny z PC zbudowany na procesorze 80C88 4,9152MHz. Posiadał on 128kB RAM i 256kB ROM oraz korzystał ze zmodyfikowanej wersji MS-DOS o nazwie DIP DOS Wyświetlacz był monochromatyczny bez podświetlenia i umożliwiał wyświetlenie obrazu o rozdzielczości 240x64. Urządzenie to do dziś cieszy się pewną popularnością wśród pasjonatów z uwagi na swoją prostotę i brak zbędnych rozwiązań. Znane jest też z roli w filmie Terminator 2. Termin Personal Digital Assistant został użyty po raz pierwszy na targach Computer Electronics Show w Las Vegas w roku 1992 prezes Apple Computer nazwał w ten sposób ich produkt Apple Newton. Warto zaznaczyć, że urządzenie to miało bardzo wygodny w użyciu interfejs użytkownika i innowacyjny sposób edycji tekstu przy pomocy rysika. [9] 7

2 3.1. Typy urządzeń mobilnych Powoli zacierają się granice między urządzeniami typu PDA, telefonami komórkowymi i ultra-mobilnymi notebookami. Najprościej urządzenia mobilne można podzielić na: PDA / palmtopy telefony komórkowe / Smartfony RIM BlackBerry Microsoft Origami Niestety producenci nie ułatwiają kupującym wyboru urządzenia realizują funkcje swoich niedawnych konkurentów i co jakiś czas pojawiają się wynalazki trudne do zakwalifikowania do jednej z tych grup. Do tego niektóre z istniejących na rynku produktów potrafią realizować funkcje PDA niejako przy okazji lub przy pomocy odpowiedniego oprogramowania (niekoniecznie legalnego). Przykładami mogą tutaj być Sony PlayStation Portable (PSP) lub Apple ipod. PDA Urządzenia typu PDA (ang. Personal Digital Assistant, Portable Digital Assistant), w Polsce znane pod nazwę palmtop, to małe przenośne komputery osobiste. Początkowo projektowany były jako osobiste organizatory, ale z biegiem czasu stawały się coraz bardziej uniwersalne. Używa się ich do prowadzenia kalendarza, książki adresowej, rozrywki, korzystania z internetu, poczty , drobnych prac biurowych, lub do nawigacji przy pomocy GPS. Najbardziej typową cechą takiego urządzenia jest ekran dotykowy obsługiwany głównie rysikiem. Z reguły posiadają też co najmniej jeden interfejs do komunikacji z otoczeniem za pomocą podczerwieni (IrDA) lub fal radiowych (WiFi, Bluetooth). Niektóre nowe produkty posiadają wbudowany odbiornik GPS. Ważną cechą PDA jest możliwość synchronizacji danych z komputerem osobistym, dotyczy to głównie książki adresowej, kalendarza i poczty elektronicznej. Z funkcji tej korzystają też niektóre programy działające na obu typach urządzeń. Do synchronizacji służy odpowiednie oprogramowanie na platformie Pocket PC jest to Microsoft ActiveSync lub Windows Mobile Center, zaś na PalmOS stosuje się HotSync Manager. [12] Jako że PDA jest pełnowartościowym komputerem to możliwe jest uruchamianie na nim różnych aplikacji. Dostępne są odpowiedniki programów z praktycznie każdej dziedziny znanej z komputerów osobistych, niestety w przytłaczającej większości jest to oprogramowanie płatne. 8

3 Smartfony Smartfony (spolszczony termin smartphone, czyli mądry telefon lub sprytny telefon ) to określenie nadane telefonom komórkowym które mają dodatkową funkcjonalność na wzór komputerów osobistych. Historia tych urządzeń sięga roku 1992 gdy na targach COMDEX zaprezentowane zostało prototypowe urządzenie o nazwie Simon. Posiadało ono kalendarz, książkę adresową, kalkulator, notatnik, pocztę elektroniczną i gry. Większość z takich telefonów posiada aparat cyfrowy, obsługuje wiadomości oraz udostępnia organizator. Z reguły wyposażone jest też w dodatkowy interfejs do wprowadzania danych miniaturową klawiaturę QWERTY lub ekran dotykowy. Ważną ich zaletą jest możliwość instalowania dodatkowego, pełnowartościowego oprogramowania, gdyż zwykłe telefony mogą korzystać tylko z mocno ograniczonych aplikacji Java. Jako system operacyjny stosowane są wszystkie liczące się na rynku rozwiązania od Symbian OS po Palm OS. [12] RIM BlackBerry BlackBerry to komputer kieszonkowy który stworzony został w 1999 roku. Obsługuje on wiadomości , rozmowy głosowe, wiadomości SMS, faksowanie przez internet, przeglądanie stron WWW oraz inne bezprzewodowe usługi informacyjne. Urządzenie to zostało stworzone przez kanadyjską firmę Research in Motion i przesyła dane bezprzewodowo przez sieci operatorów telefonii komórkowej. Przyczyniło się do rozwoju rynku urządzeń mobilnych, gdzie jako pierwsze koncentrując się na obsłudze wiadomości . Zastosowana w nim została po raz pierwszy technologia push- umożliwiająca stałe połączenie z serwerem i odbiór poczty w czasie rzeczywistym. Oprogramowanie BlackBerry może być również używane na telefonach typu smartphone. Stylistyka i funkcjonalność terminali nawiązują do urządzeń PDA, przy czym urządzenie posiada specjalną klawiaturę pozwalającą na szybkie pisanie przy użyciu samych kciuków oraz thumbwheel pokrętło nawigacyjne obsługiwane również kciukiem. Niektóre odmiany Black- Berry do wymiany danych używają również WiFi lub Bluetooth. W przypadku zgubienia lub kradzieży terminala istnieje możliwość zdalnego zablokowania i wymazania danych z urządzenia. Na świecie z tego rozwiązania korzysta ponad 8 milionów użytkowników (dane z marca 2007) oraz różne służby i agencje rządowe. W Polsce BlackBerry jest bardzo mało popularne. W swojej ofercie mają je Era oraz Polkomtel. [12] 9

4 Microsoft Origami Firma Microsoft zaprezentowała niedawno koncepcyjne urządzenie o nazwie Origami które należy do rodziny ultra-mobile PC (UMPC). Miało ono zrewolucjonizować rynek urządzeń mobilnych łącząc to co najlepsze z obu światów komputerów osobistych oraz urządzeń typu PDA. Niestety wysoka cena pierwszych urządzeń daleka od zapowiadanych 600 dolarów jest powodem nikłego obecnie zainteresowania tym rozwiązaniem Systemy operacyjne i środowiska uruchomieniowe W chwili obecnej na rynku systemów operacyjnych dla urządzeń przenośnych liczą się trzy rozwiązania Windows CE, PalmOS i Symbian. Pozostałe systemy i środowiska uruchomieniowe zostały opisane dla porządku, gdyż i one mają swoje zastosowania. Windows CE System Windows CE (czasem zwany też w skrócie WinCE) jest odmianą systemu Windows firmy Microsoft przeznaczoną dla małych urządzeń i systemów wbudowanych. Posiada on zupełnie inne jądro niż okrojona wersja systemu dla komputerów osobistych i jest dostępny dla architektur Intel x86, MIPS, ARM oraz Hitachi SuperH. Microsoft twierdzi, że skrót CE pochodzi od założeń projektowych brzmiących Compact, Connectable, Compatible, Companion, Efficient, jednak niektórzy przypuszczają, że oznacza on po prostu Consumer Electronics lub Compact Edition. Interesującą cechą która wyróżnia Windows CE od jego starszego brata jest publiczna dostępność części kodu źródłowego. Historia systemu rozpoczęła się w roku 1992 gdy narodził się projekt WinPad który miał być systemem przeznaczonym dla komputerów naręcznych. Równocześnie powstawać zaczął projekt Pulsar mający być bezprzewodowym urządzeniem na podobieństwo pagera. Dwa lata później oba projekty połączyły się w jeden o nazwie Pegasus. W roku 1996 do sklepów trafiły pierwsze urządzenia z systemem Windows CE 1.0. Rok później narodził się Windows CE 2.0 i 2.10, obsługujące więcej peryferii, karty sieciowe, USB, FAT32, czcionki True Type oraz klawiaturę ekranową dzięki czemu system ten zaczął przypominać dzisiejsze rozwiązania. Następny w tej serii był Windows CE 2.11 oferujący obsługę ekranów 320x240 oraz rozpoznawanie pisma odręcznego (niestety tylko chińskiego). Kolejna wersja czyli Windows CE 3.0 była podstawą Pocket PC 2000 oraz 2002 i miała na celu konkurowanie z bardzo 10

5 popularnym na rynku systemem PalmOS. Pojawił się wówczas Pocket Office, który miał przekonać do Pocket PC osoby pracujące w czasie podróży. Następny był Windows CE 4.0 na którym opierały się Windows Mobile 2003 i 2003SE, czyli pierwsze systemy występujące pod nazwą Windows Mobile i korzystające z.net Compact Framework 1.0 środowiska dla programów zbudowanych na platformie.net (ekran Today urządzenia widoczny jest na rys. 3.1). Określenia Windows CE i Windows Mobile są często używane zamiennie, co nie jest do końca prawidłowe, gdyż ten ostatni należy określić jako zbiór platform opartych na Windows CE. W roku 2005 pojawił się Windows Mobile 5.0 o nazwie kodowej Magneto. Był to jeden z nielicznych przypadków gdy Microsoft zdecydował sie na utratę pełnej zgodności wstecz w zamian za wielkie zmiany w architekturze systemu. Zbudowany był na podstawie Windows CE 5.0. W ramach zmian rozwiązano największą bolączkę poprzednich wersji systemu konieczność ciągłego ładowania baterii, gdyż wcześniej wszystkie programy i dane użytkownika umieszczone były w pamięci RAM. Z uwagi na malejące ceny pamięci flash zdecydowano się przenieść wszystko do pamięci nieulotnej, dzięki czemu nie traci się danych po wyczerpaniu zasilania. Najnowszą wersją systemu jest Windows Mobile 6 o nazwie kodowej Crossbow, zaprezentowany w lutym 2007 roku (patrz rys. 3.2). Do jego głównych zalet zaliczyć można możliwość aktualizacji systemu, lepsze wsparcie dla technologii VoIP, lepszą obsługę stosu Bluetooth oraz bardzo rozbudowane narzędzia internetowe. [12] Rys. 3.1.: Ekran Today systemu Pocket PC 2003 Rys. 3.2.: Ekran Today systemu Windows Mobile 6 11

6 PalmOS PalmOS jest dość popularnym systemem operacyjnym stworzonym w 1996 roku przez firmę 3COM i zaprezentowanym na urządzeniu Pilot Później urządzenia przemianowano na Palm Pilot i wydzielono firmę Palm Computing mającą zająć się tylko urządzeniami typu PDA. Licencja na system PalmOS była udzielana różnym firmom i przez długi czas był on najpopularniejszym rozwiązaniem na rynku. Pracowały pod jego kontrolą urządzenia firm takich jak Handspring (Visor), TRG, IBM (Workpad c3), Sony (Clie). System nie jest zbyt nowoczesny w porównaniu do konkurencji (brak mu np. wielozadaniowości), ale nadrabia to stabilnością i szybkością działania. Przykładowe aplikacje widoczne są na rys. 3.3 i 3.4. Bardzo nieliczne urządzenia posiadają klawiaturę, zamiast tego w systemie PalmOS stosowane jest specjalne rozwiązanie o nazwie Graffiti (patrz rozdział 3.3). Dość specyficzne jest też zarządzanie pamięcią brak jest osobnych obszarów na składowanie danych i uruchamianie aplikacji. Dzięki temu przy małej ilości pamięci urządzenia takie mogą działać bardzo sprawnie. Ważną cechą systemu PalmOS jest duża kompatybilność nawet z bardzo starymi aplikacjami. [12] Rys. 3.4.: PalmOS 6 Cobalt, Rys. 3.3.: PalmOS 6 Cobalt, lista odtwarzacz multimedialny dostępnych aplikacji 12

7 Symbian Symbian OS to system operacyjny z dołączonym zestawem bibliotek, zestawem rozwiązań interfejsu użytkownika oraz specyfikacją dla programów narzędziowych autorstwa konsorcjum Symbian, które tworzą największe firmy produkujące telefony komórkowe (Nokia, Samsung, Siemens, Motorola). Powstał na podstawie systemu EPOC nieistniejącej dziś firmy Psion i działa wyłącznie na procesorach ARM. Jest to system operacyjny dla telefonów komórkowych, dzięki któremu telefon przestaje być zwykłym narzędziem, a staje się wielofunkcyjnym i multimedialnym urządzeniem mobilnym. Umożliwia korzystanie z internetu, edycję dokumentów, fotografowanie i edycję zdjęć, nagrywanie i odtwarzanie filmów czy też rozrywkę przez wiele rodzajów gier. Obecnie istnieje 55 różnych modeli telefonów opartych na Symbianie, zaś od jego powstania w 1998 roku sprzedano ponad 100 milionów urządzeń w niego wyposażonych. Dostępnych jest ponad 5000 aplikacji na tę platformę [12]. Przykładowe ekrany znajdują się na rys. 3.5 i 3.6. Rys. 3.5.: Symbian, lista dostępnych aplikacji Rys. 3.6.: Symbian, przykładowa aplikacja FExplorer 13

8 Linux Linux (poprawnie: GNU/Linux) jest najbardziej znanym z wolnych systemów operacyjnych i w ciągu ostatnich lat zyskał ogromną popularność. Powstał w roku 1991 w ramach pracy dyplomowej Linusa Torvaldsa i po opublikowaniu źródeł w sieci spotkał się ze sporym zainteresowaniem. Szybko wokół niego wyrosła duża społeczność dzisiaj liczbę użytkowników różnych dystrybucji tego systemu ocenia się na wiele milionów osób. Pierwotna wersja Linuksa stworzona została z myślą o procesorach rodziny x86, jednak z biegiem lat powstawały wersje na coraz to nowsze architektury. Nie pominięto tu urządzeń typu PDA, które doczekały się dystrybucji typu Linux VR. [7] Niestety większość tych inicjatyw jest prowadzona przez pasjonatów, jedyną firmą która poważnie się zainteresowała wykorzystaniem otwartego systemu w swoich produktach jest Sharp, którego seria urządzeń o nazwie Zaurus pracuje pod kontrolą Linuksa od 2002 r. (patrz rys. 3.7). Przez długi czas rozwój Linuksa na platformach mobilnych ograniczał brak wspólnych standardów, które powinien spełniać taki system. W ostatnim czasie zaczęło się to zmieniać 12. czerwca 2007 r. Linux Phone Standards (LiPH) Forum opublikowało pierwszą w historii specyfikacje Linuksa dla urządzeń przenośnych. Zawiera ona m.in. opis książki adresowej, wybierania głosowego, metod wprowadzania tekstu czy interfejsu użytkownika. [4] Rys. 3.7.: Sharp Zaurus, lista dostępnych aplikacji 14

9 Windows XP Embedded Windows XP Embedded (zwany w skrócie XPe) nie jest systemem dla komputerów typu PDA, jednak warto go umieścić w tym zestawieniu. Jest to zmniejszona wersja systemu Windows XP, oparta na tych samych elementach co wersja Professional, lecz skierowana do firm które potrzebują pełnego API WIN32 bez narzutu wersji dla komputerów osobistych. Można na nim uruchomić istniejące aplikacje i sterowniki dla Windows XP, jedynie urządzenie musi posiadać co najmniej 32MB pamięci flash, 32MB RAM i procesor klasy Pentium 200 lub lepszy. System ten nie jest związany z Windows CE, oba systemy celują w różne rynki urządzeń, a ich wady i zalety się uzupełniają. Kierowany jest on głównie do urządzeń takich jak bankomaty, kasy, roboty przemysłowe, cienkie klienty, przystawki TV, urządzenia nawigacyjne, itp. [12] Przykładowe urządzenia działające pod kontrolą systemu XPe widać są na rys. 3.8 i 3.9. Rys. 3.8.: Tablet Kaleo firmy TeXXmo działający pod kontrolą systemu Windows XP Rys. 3.9.: Analizator sieci z systemem Windows XP Embedded, zastosowania rozrywkowe Embedded Java Platform, Micro Edition Specyfikacja ta, znana jest również pod nazwą J2ME lub Java ME, została opracowana przez firmę Sun Microsystems i opisuje uproszczoną wersję platformy Java 2. Zaprojektowano ją z myślą o urządzeniach o bardzo ograniczonych zasobach, takich jak telefony lub urządzenia typu PDA. J2ME posiada własny, okrojony zestaw klas zwany konfiguracją (ang.: configuration). Uzupełniane są one przez profile dodające własne klasy zapewniające wykonywanie określonych zadań na konkretnych urządzeniach. Te z kolei mogą być wzbogacane o pakiety opcjonalne. Najczę- 15

10 ściej spotykane jest połączenie konfiguracji CLDC (ang.: Connected Limited Device Configuration) i profilu MIDP (ang.: Mobile Information Device Profile). Ważną zaletą związaną bezpośrednio ze specyfiką środowiska Java jest możliwość przenoszenia między urządzeniami aplikacji stworzonych przy użyciu J2ME dzięki zastosowaniu kodu pośredniego który po uruchomieniu jest tłumaczony na kod maszynowy danego urządzenia. Niestety wiąże się to z dość niską wydajnością takiego rozwiązania, co jest dodatkowo potęgowane często niewielką mocą obliczeniową urządzeń przenośnych Techniki wprowadzania danych Urządzenia mobilne z racji swoich rozmiarów pozbawione są znanych z komputerów osobistych akcesoriów jak pełnowymiarowa klawiatura i mysz. Zamiast tego projektanci mają do dyspozycji ekran dotykowy i niekiedy miniaturową klawiaturę w tym punkcie opisano co udało się im osiągnąć przy takich ograniczeniach. Rysik i ekran dotykowy Jest to najpopularniejsza metoda wprowadzania danych. Za pomocą rysika wskazuje się i wybiera elementy odpowiednio przygotowanego interfejsu który składa się głównie z przycisków, pól wybieralnych, menu rozwijalnych, zakładek i suwaków. Niekiedy aplikacja idzie o krok dalej i umożliwia obsługę za pomocą palca (np. oprogramowanie do nawigacji samochodowej, gdzie obsługa w czasie jazdy musi być jak najmniej rozpraszająca dla kierowcy). Klawiatura ekranowa Klawiatura jest najbardziej popularną metodą wprowadzania danych, jednak z uwagi na swój rozmiar urządzenie jest jej pozbawione poza kilkoma przyciskami funkcyjnymi. Poradzono sobie z tym w ten sposób, że na ekranie wyświetlana jest miniaturowa klawiatura z której korzysta się przy pomocy rysika i wyświetlanych podpowiedzi. Nie jest to zbyt wygodne rozwiązanie, stąd unika się w miarę możliwości konieczności wpisywania dłuższych tekstów w aplikacjach i koncentruje na wykorzystaniu kontrolek wyboru, a nie wprowadzania danych. Niekiedy spotykane są klawiatury uproszczone gdy trzeba wprowadzić określony zestaw znaków, np. same cyfry. Wówczas przyciski mogą być znacznie większe niż zazwyczaj. Istnieją specjalne klawiatury dla urządzeń PDA, najczęściej rozkładane i po złożeniu mieszczące sie w dłoni, lecz są stosunkowo mało popularne, również z uwagi na cenę. Z kompute- 16

11 rem komunikują sie przez podczerwień lub Bluetooth. W przypadku urządzeń posiadających host USB istnieje możliwość podłączenia pełnowymiarowej klawiatury wyposażonej w ten interfejs, lecz z przyczyn oczywistych jest to rzadko wykorzystywane. Niektóre telefony typu smartphone posiadają wysuwaną lub odchylaną klawiaturę, lecz wpływa to znacząco na rozmiar urządzenia. Ciekawostką jest stworzona przez firmę I-Tech klawiatura laserowa urządzenie wielkości zapalniczki postawione na płaskiej powierzchni wyświetla na niej klawiaturę za pomocą promienia lasera. Podczas pisania czujnik promieni podczerwonych określa w którym miejscu znajduje sie nasz palec i na tej podstawie wyznaczany jest wciśnięty klawisz. Niestety rozwiązanie to jest jeszcze mało użyteczne, gdyż gubi się przy szybszym pisaniu i kosztuje prawie 180 dolarów. Podejmowane są różne próby udoskonalenia klawiatury ekranowej, jedną z nich jest metoda HexInput korzysta ona z klawiatury gdzie klawisze mają postać odpowiednio dla danego języka rozmieszczonych sześciokątów. Można wybierać je pojedynczo, jednak siła tego rozwiązania to możliwość pisania za pomocą odpowiednich ruchów rysikiem po klawiszach. Dla przykładu wprowadzenie angielskiego zdania this is a test. wymaga jedynie trzech pociągnięć! [12] Pismo odręczne i rozpoznawanie głosu Jest to najmniej rozpowszechniony sposób wprowadzania danych z powodu dużego skomplikowania algorytmów rozpoznawania pisma odręcznego lub głosu oraz do niedawna niewystarczającej mocy obliczeniowej do tego zadania. Ta sytuacja się powoli zmienia, gdyż Microsoft w systemie Windows Mobile 5.0 umożliwił rozpoznawanie wpisywanych odręcznie notatek, lecz niestety tylko w wersji angielskiej. Pojawiają się również aplikacje komercyjne, w tym doskonały PenReader firmy Paragon Software Group który wśród obsługiwanych języków ma również polski. Niestety taka wygoda wiąże się z wydatkiem niemal 25 dolarów. Warto również wspomnieć o stworzonym przez firmę Palm Inc. rozwiązaniu o nazwie graffiti. Znaki wprowadza się za pomocą określonych, przypominających litery, pociągnięć rysikiem. Pierwotna wersja tego systemu koncentrowała się na rysowaniu znaku jednym ruchem, co ułatwiało wprowadzanie znaków takich jak A, F, K i T w których znajdują się przecięcia. Do rysowania służyło specjalne pole, podzielone na dwa obszary osobno dla liter i cyfr. Wytoczony i wygrany w 2001 roku przez firmę Xerox proces o naruszenie praw patentowych spowodował opracowanie nowego systemu o nazwie graffiti 2 który znacząco różni się od poprzednika i używa tradycyjnych liter alfabetu łacińskiego. [12] 17

12 Multi-touch Multi-touch jest techniką interakcji z komputerem przy pomocy ekranu dotykowego który rozpoznaje wiele dotknięć naraz, często również z pomiarem siły nacisku. Umożliwia to stosowanie intuicyjnych gestów przy pomocy wielu palców naraz lub całych dłoni. Najbardziej znanym przykładem wykorzystania tej techniki jest powiększanie zdjęć które wykonuje się przy pomocy dwóch palców ciągnących za przeciwległe rogi. Wiele z tych gestów jest trudne lub niemożliwe do wykonania przy pomocy myszy lub rysika. Rozwiązanie to zdobywa coraz większą popularność. Głośno zapowiadany na drugą połowę 2007 roku telefon Apple iphone będzie korzystać z obsługi przez Multi-touch. Na początku czerwca 2007 Microsoft zaprezentował praktycznie gotowy produkt o nazwie Microsoft Surface który jest interaktywną powierzchnią z której korzysta się przy pomocy tej techniki. Dasher Jest to mało znane narzędzie do wprowadzania danych przypominające grę zręcznościową. Polega ono na wybieraniu kursorem kolejnych liter z powiększających się obszarów, które są tworzone na podstawie analizy probabilistycznej dla danego języka litery które najprawdopodobniej wystąpią po aktualnie wybranej umieszczane są na największych polach. Do tego jest to system uczący się, więc nowe słowa będą łatwiejsze do wpisania następnym razem. [6] 3.4. Dostępne środowiska programistyczne i bazy danych Rosnąca popularność komputerów kieszonkowych PDA powoduje coraz większe zapotrzebowanie na oprogramowanie. Pomimo, iż rynek ten jest nadal słabo rozwinięty, to wiele firm oferuje swoje rozwiązania do tworzenia aplikacji na te platformy. Poza takimi gigantami jak Microsoft czy Borland są to również mniej znane firmy, oferujące równie rozbudowane środowiska IDE. Z punktu widzenia niniejszej pracy najważniejsze są rozwiązania umożliwiające tworzenie aplikacji na urządzenia typu Pocket PC ze środowiskiem Windows Mobile 5, będącym najnowszą odsłoną systemu firmy Microsoft. Przeszło ono sporo zmian w stosunku do poprzedniej wersji, w wyniku czego wiele wcześniejszych aplikacji nie działa prawidłowo pod jego kontrolą. Ponieważ chcemy, by nasz program był jak najbardziej uniwersalny i nowoczesny, to możliwość stworzenia aplikacji zgodnej z Windows Mobile 5 jest konieczna. Istnieją również środowiska umożliwiające pisanie aplikacji wyłącznie dla konkurencyjnego systemu PalmOS, lecz zostały tutaj pominięte. 18

13 Zestawienie dostępnych języków programowania i środowisk programistycznych Na platformie Windows Mobile dostępne są praktycznie wszystkie najbardziej popularne języki programowania basic, C++, Java, C#, zarówno w wersjach płatnych jak i darmowych. NS Basic (Basic) NS Basic/CE to pełny zestaw narzędzi umożliwiających programowanie urządzenia z systemem Windows CE na swoim komputerze osobistym. Wykorzystuje standard firmy Microsoft w postaci silnika VBScript połączonego z zestawem rozszerzeń, dzięki czemu tworzy kompletne środowisko do budowy aplikacji. Dostarcza ono pełną i nowoczesną implementację języka BASIC. VBScript jest wbudowany w pamięć ROM wielu urządzeń z systemem Windows CE, dzięki czemu wymagania co do pamięci są niskie. Rozszerzenia dodają wsparcie dla operacji na plikach, operacji wejścia/wyjścia, biblioteki Winsock, funkcji finansowych, baz danych oraz zbioru standardowych obiektów oraz okien dialogowych interfejsu użytkownika. Wspierane są takie technologie jak ADO oraz ActiveX. Tworzone aplikacje są typu napisz raz, uruchom gdziekolwiek. Wymagania: Pocket PC z Windows CE 2.x lub nowszym 300KB pamięci (minimum) ActiveSync (do instalacji) Strona domowa: Cena: $149,95 Eve VM (Java) Ewe to środowisko programistyczne, które umożliwia pisanie aplikacji w języku Java, które działają w ten sam sposób na komputerach PC, urządzeniach przenośnych, a nawet jako aplet w przeglądarce internetowej. Ewe jest maszyną wirtualną o najkrótszym czasie uruchomienia i najbardziej wydajnym zarządzaniu pamięcią. Zaawansowane możliwości na urządzeniach przenośnych obejmują: łatwe programowanie portu podczerwieni zaawansowane API do komunikacji desktop-urządzenie z synchronizacją poziomy tryb wyświetlania na wszystkich platformach 19

14 modyfikowalny interfejs użytkownika biblioteka GUI podobna do SWING, lecz o wiele mniejsza interfejs natywnych metod dostępu do specyficznych API urządzenia Strona domowa: Cena: bezpłatna, licencja LGPL SuperWaba (Java) SuperWaba to platforma do rozwoju aplikacji dla urządzeń PDA oraz telefonów typu smartphone. Została stworzona na początku roku 2000 na podstawie innego projektu open-source o nazwie Waba. SuperWaba została tak zaprojektowana, że można korzystać ze standardowych środowisk IDE dla języka Java. Mimo to nie implementuje żadnej części języka Java i nie ma powiązań z firmą Sun Microsystems. Głównym elementem środowiska jest maszyna wirtualna SWVM, która korzysta z koncepcji języka Java napisz raz, uruchom gdziekolwiek. Zalety: niski koszt utrzymania oraz całkowity koszt posiadania (TCO) platforma jest typu royalty- -free, bez licencji na urządzenie, zamiast tego wymaga tylko niskiej opłaty rocznej większa wydajność w porównaniu do platform takich jak.net i J2ME, SWVM ma niskie wymagania co do pamięci łatwość nauki proste w użyciu biblioteki, skierowane na tworzenie aplikacji komercyjnych otwarta platforma, umożliwiająca dostęp do kodu źródłowego oraz możliwość dowolnej dystrybucji oprogramowania zawartego w SWSDK. Strona domowa: Cena: wersja community: bezpłatna, licencja GPL, wersja professional: płatna, licencja LGPL Borland Delphi (Pascal) Delphi (oznaczane często jako Borland Delphi) to zintegrowane środowisko programistyczne typu RAD, przeznaczone do pracy pod kontrolą Microsoft Windows, działające zgodnie z zasadą dwustronnej edycji. Odpowiednik Delphi dla Linuksa nosi nazwę Kylix. Delphi jest następcą środowiska Turbo Pascal będącego połączeniem kompilatora języka Pascal ze środowiskiem edycyjnym. Pierwsza, 16-bitowa wersja ukazała się w 1995 roku i przeznaczona była do pracy w Microsoft Windows 3.1. Było to jedno z pierwszych narzędzi typu Rapid Application Development 20

15 Cechy i funkcjonalność: wspomaganie dla obsługi relacyjnych systemów bazodanowych wspiera obsługę standardowych mechanizmów windowsowych, np. COM/ActiveX szeroki zestaw gotowych do użycia komponentów rozszerzalność środowiska (zarówno palety komponentów jak i samego IDE) budowa wizualnej części aplikacji za pomocą techniki przeciągnij i upuść zawiera wiele elementów mających na celu uproszczenie tworzenia aplikacji internetowych szybki, efektywny kompilator zawiera wiele dodatkowych narzędzi wspomagających programistów Strona domowa: Cena: Delphi 2006 Architect: Delphi 2006 Enterprise: Delphi 2006 Professional: Delphu 2005 Personal: 3490 EUR 2500 EUR 1090 EUR bezpłatne do zastosowań komercyjnych GoDB/gBasic (Basic) GoDB to dostępne dla wielu platform narzędzie do szybkiej budowy aplikacji dla urządzeń mobilnych i bezprzewodowych. Aplikacje raz utworzone mogą być uruchamiane na urządzeniach przenośnych od PDA, przez notebooki po komputery stacjonarne oraz na wszystkich popularnych systemach operacyjnych jak Windows, Linux, Palm OS, Windows CE, Symbian itp. Główne zalety GoDB w stosunku do platform takich jak.net, Code Warrior, Appforge: Aplikacje stworzone na innych platformach często działają tylko na konkretnym urządzaniu GoDB posiada wbudowaną bazę danych zgodną ze standardem ANSI SQL, Tworzenie skomplikowanych okien dialogowych jest bardzo proste, Wiele elementów aplikacji biznesowych jest wbudowanych, do tego platforma jest zoptymalizowana pod kątem operacji bazodanowych takich jak filtry czy raporty, Nie trzeba aplikacji od nowa instalować na urządzeniu. GoDB używa do tego procesu Synch, Wbudowane mechanizmy kompresji, Rozbudowana synchronizacja przez GPRS, WLAN lub dialup z użyciem SSL oraz VPN, Wsparcie dla wielu języków oraz mechanizmów oszczędzania energii, Wbudowane mechanizmy bezpieczeństwa na wielu poziomach urządzenia, wymiany danych i po stronie serwera. Domyślne szyfrowanie AES i własne mechanizmy szyfrowania. 21

16 Specyfikacja techniczna: Wymaga jedynie 500KB wolnego miejsca i 256KB pamięci, Może działać na urządzeniach z wyświetlaczem monochromatycznym i rozdzielczością 160x160, jak też na wyświetlaczach o wysokiej rozdzielczości i dużej liczbie kolorów, Napisany w czystym ANSI C w celu zachowania przenośności, Wbudowany garbage-collector, Dynamiczny przydział zasobów w zależności od platformy, Wszystkie główne elementy są modularne i wymienne, Dostęp do specyficznych właściwości sprzętu możliwy jest przez ładowalne moduły. Strona domowa: Cena: b/d PocketC Architect / PocketC (C) PocketC Architect jest wersją rozwojową PocketC. Użyty został ten sam zaawansowany kompilator OrbC oraz biblioteki stworzone dla OrbForms Designer, z rozszerzeniami które umożliwiają skompilowanie klasycznych aplikacji PocketC. Tradycyjnie narzędzie to jest dostępne w wersji dla środowiska PalmOS oraz Windows. Niestety nie istnieje wersja dla platformy Windows Mobile, rozwój zatrzymał się na etapie Windows CE. Zalety: Rozbudowany, podobny do C język Pełne wsparcie dla obiektów, dziedziczenia oraz interfejsów Ułatwienia debugowania (logowanie, asercje, kod tylko do debugowania) Bogate API zorientowane obiektowo Wsparcie dla dodatków (własne funkcje i obiekty) Automatyczna zmiana rozmiarów formularzy na urządzeniach które to umożliwiają Kompatybilność z projektami stworzonymi w OrbForms Designer Kompatybilność (przy minimalnym wysiłku) z kodem źródłowym PocketC Strona domowa: Cena: Palm - $20, desktop: $30, Palm + desktop: $45 22

17 evb embedded Visual Basic (Basic) Microsoft zakończył wsparcie dla tego języka razem z systemem Windows Pocket PC Dla systemu Windows Mobile 5 nie zostały przygotowane biblioteki umożliwiające uruchomienie istniejących aplikacji, zamiast tego firma zmusza do przepisania ich pod środowisko.net. Strona domowa: Cena: n/d evisualc embedded Visual C++ (C++) J/w, wsparcie dla tego języka zostało zakończone. Microsoft proponuje w zamian przejście na środowisko.net. Strona domowa: Cena: n/d Visual Basic.NET (Basic) Visual Basic.NET (VB.NET) - obiektowy język programowania zaprojektowany przez firmę Microsoft. Program napisany w tym języku kompilowany jest do kodu pośredniego wykonywanego w maszynie wirtualnej.net lub Mono. Język VB.NET ma wiele cech wspólnych z językami programowania Visual Basic i BASIC. Do uruchomienia programu napisanego w języku VB.Net w systemie Windows wymagana jest biblioteka uruchomieniowa zwana.net Framework dostępna za darmo na stronie Microsoftu. Cechy języka: Język jest nieczuły na wielkość znaków a-z <=> A-Z Występuje Garbage Collector Nie ma jawnego dostępu do wskaźników Dostęp do obiektów następuje poprzez referencje (kompensujące brak wskaźników) Nawiasy sześcienne występują tylko przy określaniu elementów tablicy Generyczność znana np. z Ada 95 czy C++ jako <template> Brak operatora porównania "==" czy operatora przypisania ":=", występuje jeden operator "=" oznaczający przypisanie lub porównanie. Wbudowana w składnię obsługa synchronizacji wątków SyncLock 23

18 Strona domowa: Cena: Visual Studio 2005 Standard ENG academic edition: Visual Studio 2005 Standard ENG: Visual Studio 2005 Pro ENG: ok. 800 PLN ok PLN ok PLN Visual C# (C#) C Sharp (C#) jest obiektowym językiem programowania zaprojektowanym przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft. Program napisany w tym języku kompilowany jest do języka CIL (Common Intermediate Language), specjalnego kodu pośredniego wykonywanego w środowisku uruchomieniowym.net, Mono lub DotGNU. Język C# ma wiele cech wspólnych z językami programowania C++ i Java. Do uruchomienia programu napisanego w języku C# w systemie operacyjnym Microsoft Windows wymagane jest środowisko uruchomieniowe zwane.net Framework (patrz rozdział 3.5) dostępna za darmo na stronie Microsoftu. Cechy języka obiektowość z hierarchią o jednym elemencie nadrzędnym: podobnie jak w Javie, kod programu jest zbiorem klas. W przeciwieństwie do Javy jednak, w C# hierarchia dziedziczenia opiera się na istnieniu jednej klasy object (System.Object), która stanowi element nadrzędny tej hierarchii. W szczególności oznacza to, że również typy proste (int, double, itd.) są obiektami z właściwymi sobie metodami, np. int i=1; string s = i.tostring(); odśmiecanie pamięci: zarządzaniem pamięcią zajmuje się środowisko uruchomieniowe. właściwości, indeksery, delegacje, zdarzenia: język C# pozwala definiować wiele różnych elementów składowych klas, nie tylko pola czy metody. refleksje i atrybuty (metaprogramowanie): w czasie pracy programu istnieje możliwość analizy struktury kodu z poziomu tego kodu. Umożliwia to tworzenie wysoce uniwersalnych mechanizmów operujących na strukturze kodu nie znanej w czasie kompilacji. Wykorzystywane to jest m.in. w bibliotekach ORM, narzędziach do analizy i weryfikacji kodu czy rozszerzeniach AOP. Mechanizm atrybutów został z C# zapożyczony do Javy w wersji 1.5. typy ogólne (generics - dostępne od wersji.net 2.0): mechanizm zbliżony swoją ogólnością do szablonów w C++, jednak tu typ ogólny jest przenoszony do modułu binarnego i możliwy jest do wykorzystania bez konieczności posiadania kodu źródłowego (szablony w C++ to w uproszczeniu rozbudowane makrodefinicje) 24

19 dynamiczne tworzenie kodu: biblioteki.net umożliwiają dynamiczne tworzenie kodu w czasie działania programu i włączanie go do kodu aktualnie wykonywanego. Możliwe jest zarówno dynamiczne tworzenie kodu wykonywalnego ze źródeł C# jak i tworzenie dynamicznych modułów w języku pośrednim (MSIL). bogata biblioteka klas BCL, umożliwiająca rozwijanie aplikacji konsolowych, okienkowych (System.Windows.Forms), bazodanowych (ADO.NET), sieciowych (System.Net), w architekturze rozproszonej (WebServices) czy dynamicznych aplikacji internetowych (ASP.NET) Strona domowa: Cena: Visual Studio 2005 Standard ENG academic edition: ok. 800 PLN Visual Studio 2005 Standard ENG: Visual Studio 2005 Pro ENG: ok PLN ok PLN Dostępne bazy danych Powstająca aplikacja będzie współpracować z bazą danych, stąd konieczność porównania i wyboru odpowiedniego rozwiązania. Ograniczone możliwości urządzenia przenośnego zmuszają do korzystania z prostych rozwiązań, nie wymagających wielu zasobów, zatem większe serwery bazodanowe należy odrzucić. Najprostsze rozwiązania jak proste nierelacyjne bazy danych lub operowanie bezpośrednio na plikach tekstowych są mało funkcjonalne i często równie mało wydajne, a do tego niezbyt odporne na błędy. Pozostają dwa wyjścia dostarczany przez Microsoft SQL Server CE stworzony specjalnie dla urządzeń mobilnych lub baza danych oparta na bibliotece SQLite, która nie potrzebuje osobnego procesu RDBMS i operując bezpośrednio na plikach z danymi udostępnia rozbudowaną składnię języka SQL. Poniżej znajduje się krótka charakterystyka tych rozwiązań. Ostatecznie wybór padł na bazę SQLite z uwagi na jej wysoką wydajność, szczególnie w porównaniu z rozwiązaniem Microsoftu (w sieci można się spotkać wręcz z opiniami, że jeszcze tylko ich dział marketingu uważa tę bazę za wydajną). Co prawda SQLite nie udostępnia żadnych mechanizmów synchronizacji i replikacji, lecz stworzenie ich jest ciekawym wyzwaniem. 25

20 MS SQL Server CE Microsoft SQL Server Compact Edition to niewielka baza danych która może zostać uruchomiona na komputerach osobistych, urządzeniach przenośnych i tabletach. Wymaga mniej niż 2MB przestrzeni dyskowej i około 5MB pamięci. oraz w przeciwieństwie do pełnej wersji serwera nie wymaga uruchomienia osobnego procesu RDBMS. Ważną cechą tego rozwiązania jest możliwość synchronizacji z innymi wersjami Microsoft SQL Servera. Wsparcie dla tej bazy danych jest w pełni zintegrowane ze środowiskiem Visual Studio 2005 i w pełni obsługuje ADO.NET. SQL Server CE posiada zaimplementowany podzbiór składni języka SQL 92. [5] SQLite SQLite to stworzony przez Richarda Hippa w roku 2000 system zarządzania bazą danych oraz biblioteka C implementująca taki system, obsługująca język SQL. Rozwiązanie dostępne jest na licencji public domain. Biblioteka implementuje silnik SQL, dając możliwość używania bazy danych bez konieczności uruchamiania osobnego procesu RDBMS. W wielu zastosowaniach, a w szczególności w systemach wbudowanych, takie rozwiązanie jest najpraktyczniejsze. SQLite posiada również API do innych niż C języków programowania, w tym również platformy.net. Baza może łączyć się przez ODBC. Zawartość trzymana jest w jednym pliku o rozmiarze do 2 TB. Struktura bazy zbudowana jest przy użyciu drzew binarnych (ang. B-Tree). Osobne drzewo jest używane dla każdej z tabel i każdego z indeksów. SQLite udostępnia transakcje ACID oraz większość standardu SQL 92. Zalety SQLite to m.in.: Obsługa zapytań zagnieżdżonych Obsługa widoków Obsługa transakcji Obsługa triggerów (niepełna) Możliwość definiowania własnych funkcji Opcjonalne trzymanie danych w pamięci RAM, co dodatkowo przyśpiesza działanie Należy zaznaczyć, że niektórych z oferowanych przez SQLite funkcji brakuje nawet w tak rozbudowanych serwerach baz danych jak MySQL, zaś wydajność przy obsłudze jednego użytkownika w porównaniu do innych baz danych jest bardzo wysoka. [10] 26

21 Vieka esql Vieka esql jest rozbudowaną odmianą bazy SQLite która ma wszystkie je zalety i dodaje jeszcze kilka własnych rozwiązań, w tym m.in. graficzne narzędzia do obsługi bazy danych oraz kompresję pliku z danymi. Jako ciekawostkę można podać, że baza ta używana jest na pokładzie niszczycieli US Navy klasy DDG oraz w innych gałęziach US Military. Ważną dla nas zaletą jest to, że dla platformy Windows dla wszystkich zastosowań oraz dla Windows Mobile dla zastosowań prywatnych oraz tworzenia darmowych aplikacji ta baza danych jest bezpłatna. [11] Wadą Vieka esql jest bardzo słaba dokumentacja (większość linków na głównej stronie projektu od ponad roku prowadzi do stron z treścią coming soon ) oraz problemy z uruchomieniem bazy w środowisku.net (tutaj również przeszkodą jest brak dokumentacji) NET Framework.NET Framework to platforma programistyczna opracowana przez firmę Microsoft. Został on zaprojektowany jako zintegrowane środowisko, które w założeniu ma umożliwiać bezproblemowe wytwarzanie i uruchamianie aplikacji internetowych, aplikacji bazujących na Windows Forms oraz aplikacji dla urządzeń mobilnych. Główne cele platformy to: zapewnienie logicznie spójnego, obiektowego środowiska dla rozmaitych aplikacji zapewnienie środowiska które pozwoli zminimalizować konflikty wersji które przez wiele lat były problemem programistów Windows głównie problemy z bibliotekami DLL zapewnienie przenośnego środowiska, które będzie bazowało na certyfikowanych standardach i które będzie dawało możliwość zarządzania przez dowolny system operacyjny już teraz język C# oraz infrastruktura wspólnego języka (ang. Common Language Infrastructure, CLI) są objęte standardami ECMA (ang. European Computer Manufacturers Association) zapewnienie środowiska zarządzanego, w którym weryfikacja kodu pod kątem bezpieczeństwa wykonywania będzie możliwie prosta Realizacja tych założeń wymagała opracowanie odpowiedniej architektury, która dzieli platformę na dwie części: wspólne środowisko uruchomieniowe (ang.: Common Language Runtime, CLR) oraz bibliotekę klas platformy (ang.: Framework Class Library, FCL). 27

22 Środowisko uruchomieniowe CLR to opracowana przez firmę Microsoft implementacja standardu CLI, która obsługuje wykonywanie kodu i wszystkie związane z tym zadania, czyli kompilację, zarządzanie pamięcią i wątkami, zapewnianie bezpieczeństwa oraz wymuszanie bezpieczeństwa typów. Kod wykonywany w środowisku CLR nazywa się kodem zarządzanym w przeciwieństwie do np. obiektów COM lub komponentów bazujących na Windows API. Biblioteka klas platformy FCL jest biblioteką kodu wielokrotnego użytku definiującą typy (klasy, struktury, itp.) które są udostępniane aplikacjom pracującym pod kontrolą CLR. Standard infrastruktury wspólnego języka CLI definiuje niezależne od platformy środowisko wykonywania wirtualnego kodu. Nie preferuje on żadnego systemu operacyjnego, więc można go stosować zarówno w środowisku Linux jak i w Windows. Głównym elementem tego standardu jest definicja wspólnego kodu pośredniego (ang.: Common Intermediate Language, CIL) który musi być generowany przez kompilatory zgodne ze standardem CLI, oraz system typów, który definiuje typy danych obsługiwane przez wszystkie zgodne języki programowania. Język pośredni jest kompilowany do języka właściwego dla docelowego systemu operacyjnego. Platforma.NET jest implementacją standardów CLI zaproponowaną przez firmę Microsoft, oferującą daleko bardziej rozbudowany zestaw rozwiązań i funkcji niż ten zdefiniowany w standardowej implementacji. Obecnie istnieje ponad 40 języków programowania zgodnych z.net, z których wiele musiało przejść istotne zmiany by dostosować się do nowego środowiska. Dlatego zwykle oznacza się takie języki przyrostkiem.net (np. Delphi.NET, VB.NET, itp.). [3] Obecnie najbardziej znane platformy.net to: Microsoft.NET Frawework Mono projekt Novella na licencji Open Source DotGNU Portable NET implementacja powstająca w ramach projektu GNU Warto na koniec wspomnieć o języku Nemerle który również jest oparty na platformie.net. Powstał on we Wrocławiu i zawiera elementy programowania funkcyjnego i obiektowego. Składnia języka wzorowana jest na C# i posiada zaawansowany system makrodefinicji. Rozwijany jest nie tylko przez kadrę naukową, lecz również przez studentów w ramach prac dyplomowych. 28

23 .NET compact framework.net Compact Framework (.NET CF) jest wersją.net Framework przeznaczoną do uruchamiania na urządzeniach przenośnych takich jak PDA, telefony komórkowe lub przystawki telewizyjne. Wykorzystuje on podzbiór klas pełnego.net Framework oraz kilka własnych klas projektowanych specjalnie dla urządzeń mobilnych. Aby móc uruchomić aplikację.net CF potrzebna jest biblioteka.net Compact Framework Runtime. Dostępna jest dla systemów Windows CE począwszy od wersji Pocket PC Aplikacji stworzonych dla.net CF nie można uruchomić na komputerze PC. Wśród elementów wspólnych z pełnym.net Framework na pierwszym miejscu znajduje się ten sam mechanizm CLR wraz z JIT, garbage-collectorem i CLS. Dostępne jest wsparcie dla wielu języków, wspólny zbiór typów, model wątków i zgodność ze standardem ECMA. [5] Z różnic wymienić można m.in.: całkowity brak wsparcia dla ASP.NET z uwagi na zupełnie inny obszar zastosowań. wiele klas i komponentów jest ograniczonych w stosunku do swoich odpowiedników z.net Framework z reguły z powodów technicznych jak np. ograniczeń pamięci. brak jest wsparcia dla obiektów COM, ActiveX oraz Windows Scripting Host, jednak można korzystać z wywołań P/Invoke do bibliotek DLL, a te z kolei mogą obsługiwać COM nie istnieje tu pojęcie katalogu bieżącego wywołanie Directory.GetCurrentDirectory() zwróci błąd (jest jednak sposób na obejście tego ograniczenia opisany w rozdziale 4) ADO.NET jest pozbawiony wsparcia dla mechanizmu OLEDB, zamiast tego do dyspozycji jest SQL Server CE.NET (patrz rozdział 3.4) obliczenia zmiennoprzecinkowe dla bardzo małych wartości zwracają zero (wynika to m.in. z ograniczeń architektury MIPS, zaś z powodów wydajnościowych nie stosuje się emulacji) trochę inne podejście do operacji wejścia/wyjścia wynikające z innego systemu operacyjnego, np. brak informacji o zmianie pliku lub brak dostępu do atrybutów plików i katalogów brak jest walidacji XML oraz zapytań XPath 29

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

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

Środowiska i platformy programistyczne

Środowiska i platformy programistyczne Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,

Bardziej szczegółowo

Król Łukasz Nr albumu: 254102

Król Łukasz Nr albumu: 254102 Król Łukasz Nr albumu: 254102 Podstawy o Delphi Język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są

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

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

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

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

Dotacje na innowacje. Inwestujemy w waszą przyszłość. PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007 Windows Mobile Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007 Wykład 14-2 Windows CE Modułowy system operacyjny Platform Builder pozwala na wybranie tych

Bardziej szczegółowo

Podział komputerów. Wykład z Technologii Informacyjnych. Piotr Mika

Podział komputerów. Wykład z Technologii Informacyjnych. Piotr Mika Podział komputerów Wykład z Technologii Informacyjnych Piotr Mika Superkomputery Przeznaczone do wykonywania skomplikowanych obliczeń numerycznych, modelowania giełdy, symulacje, modelowanie atmosfery

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Tworzenie aplikacji Web Alicja Zwiewka. Page 1 Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową

Bardziej szczegółowo

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

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD). Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD). Rapid Application Development RAD Szybkie tworzenie programów użytkowych (Rapid Application Development RAD) jest mającą

Bardziej szczegółowo

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

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

Bardziej szczegółowo

egroupware czy phpgroupware jest też mniej stabilny.

egroupware czy phpgroupware jest też mniej stabilny. Opengroupware to projekt udostępniający kompletny serwer aplikacji oparty na systemie Linux. Dostępny na licencji GNU GPL, strona domowa: http://www.opengroupware.org/ Jego cechy to wysoka stabilność,

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja

Bardziej szczegółowo

SERWERY KOMUNIKACYJNE ALCATEL-LUCENT

SERWERY KOMUNIKACYJNE ALCATEL-LUCENT SERWERY KOMUNIKACYJNE ALCATEL-LUCENT OmniPCX Enterprise Serwer komunikacyjny Alcatel-Lucent OmniPCX Enterprise Communication Server (CS) to serwer komunikacyjny dostępny w formie oprogramowania na różne

Bardziej szczegółowo

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

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle 2010-10-21 Organizacja zajęć BAZY DANYCH II WYKŁAD 1 Wykładowca dr inż. Agnieszka Bołtuć, pokój 304, e-mail: aboltuc@ii.uwb.edu.pl Liczba godzin i forma zajęć: 15 godzin wykładu oraz 30 godzin laboratorium Konsultacje:

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

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS (c) 2008 Grupa SPOT SJ Grupa SPOT Krzysztof Cieślak, Maciej Gdula Spółka Jawna Podstawowe dane: firma założona w roku 2004 w wyniku połączenia

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

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

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

Programowanie aplikacji na urządzenia mobilne

Programowanie aplikacji na urządzenia mobilne Informatyka I Programowanie aplikacji na urządzenia mobilne dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 JME - Java Platform Micro Edition JME platforma Java przeznaczona

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

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

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

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.

Bardziej szczegółowo

ZAPOZNANIE SIĘ ZE ŚRODOWISKIEM MICROSOFT VISUAL STUDIO 2005 WYKORZYSTYWANYM W

ZAPOZNANIE SIĘ ZE ŚRODOWISKIEM MICROSOFT VISUAL STUDIO 2005 WYKORZYSTYWANYM W LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ ZE ŚRODOWISKIEM MICROSOFT VISUAL STUDIO 2005 WYKORZYSTYWANYM W PROJEKTOWANIU APLIKACJI MOBILNYCH I. Temat ćwiczenia wykorzystywanym w projektowaniu aplikacji

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

www.gim4.slupsk.pl/przedmioty

www.gim4.slupsk.pl/przedmioty Lekcja 4. Program komputerowy - instalacja i uruchomienie 1. Rodzaje programów komputerowych 2. Systemy operacyjne 3. Instalowanie programu 4. Uruchamianie programu 5. Kilka zasad pracy z programem komputerowym

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

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po

Bardziej szczegółowo

Cztery nowe tablety firmy ASUS. pawel100g, 19 styczeń 2011, 09:32

Cztery nowe tablety firmy ASUS. pawel100g, 19 styczeń 2011, 09:32 Cztery nowe tablety firmy ASUS pawel100g, 19 styczeń 2011, 09:32 Podczas największych na świecie targów elektroniki użytkowej CES (Consumer Electronics Show) firma ASUS zaprezentowała swoje cztery nowe

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta

Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych do elewacji budynku klienta Wszechobecna nowa technologia Smartfony obecnie coraz częściej zastępują zwykłe telefony

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką Autor: Paweł Konieczny Promotor: dr Jadwigi Bakonyi Kategorie: aplikacja www Słowa kluczowe: Serwis

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

dziennik Instrukcja obsługi

dziennik Instrukcja obsługi Ham Radio Deluxe dziennik Instrukcja obsługi Wg. Simon Brown, HB9DRV Tłumaczenie SP4JEU grudzień 22, 2008 Zawartość 3 Wprowadzenie 5 Po co... 5 Główne cechy... 5 baza danych 7 ODBC... 7 Który produkt

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania Autor: Anna Nowak Promotor: dr inż. Jan Kowalski Kategorie: gra logiczna Słowa kluczowe: Sudoku, generowanie plansz, algorytmy,

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Wykład Ćwiczenia Laboratorium Projekt Seminarium WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):

Bardziej szczegółowo

Motorola Phone Tools. Krótkie wprowadzenie

Motorola Phone Tools. Krótkie wprowadzenie Motorola Phone Tools Krótkie wprowadzenie Spis treści Minimalne wymagania... 2 Przed instalacją Motorola Phone Tools... 3 Instalowanie Motorola Phone Tools... 4 Instalacja i konfiguracja urządzenia przenośnego...

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

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po

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

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

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

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

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

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

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

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

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres Artur Kozubski Software Development GigaCon Warszawa 2008 Plan Historia projektu Firebird Architektura serwera Administracja

Bardziej szczegółowo

Program Płatnik 10.01.001. Instrukcja instalacji

Program Płatnik 10.01.001. Instrukcja instalacji Program Płatnik 10.01.001 Instrukcja instalacji S P I S T R E Ś C I 1. Wymagania sprzętowe programu Płatnik... 3 2. Wymagania systemowe programu... 3 3. Instalacja programu - bez serwera SQL... 4 4. Instalacja

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

Sieciowe dyski wirtualne oraz VM platforma jako usługa. Bogusław Kaczałek Kon-dor GIS Konsulting

Sieciowe dyski wirtualne oraz VM platforma jako usługa. Bogusław Kaczałek Kon-dor GIS Konsulting Sieciowe dyski wirtualne oraz VM platforma jako usługa Bogusław Kaczałek Kon-dor GIS Konsulting Rola służby GiK w tworzeniu polskiej IIP Wisła 8-10 września 2010 Wirtualne dyski sieciowe co to jest? Pod

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia Zadanie nr 4.5: Oprogramowanie bazodanowe Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia Zakres przedmiotu zamówienia obejmuje dostarczenie, wdrożenie oraz konfigurację

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

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

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze

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

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia Budowa komputera Schemat funkcjonalny i podstawowe parametry Podstawowe pojęcia Pojęcia podstawowe PC personal computer (komputer osobisty) Kompatybilność to cecha systemów komputerowych, która umoŝliwia

Bardziej szczegółowo

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.

Bardziej szczegółowo

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach) Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach) 1. Wstęp: 1.1. Cel. Niniejszy dokument przestawia specyfikację wymagań systemowych (zarówno funkcjonalnych jak i niefunkcjonalnych)

Bardziej szczegółowo

Kancelaria Prawna.WEB - POMOC

Kancelaria Prawna.WEB - POMOC Kancelaria Prawna.WEB - POMOC I Kancelaria Prawna.WEB Spis treści Część I Wprowadzenie 1 Część II Wymagania systemowe 1 Część III Instalacja KP.WEB 9 1 Konfiguracja... dostępu do dokumentów 11 Część IV

Bardziej szczegółowo

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT Integracja jest to całokształt działao zmierzających do scalenia różnych rozwiązao informatycznych. W miarę rozwoju nowych technologii informatycznych

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

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

Elastyczność i mobilność w jednym, kompletnym pakiecie Panasonic UC Pro. Doskonała łączność gdziekolwiek się znajdujesz

Elastyczność i mobilność w jednym, kompletnym pakiecie Panasonic UC Pro. Doskonała łączność gdziekolwiek się znajdujesz Elastyczność i mobilność w jednym, kompletnym pakiecie Panasonic UC Pro Doskonała łączność gdziekolwiek się znajdujesz Aplikacja UC Pro oferuje szeroki zakres możliwości Wykonywanie połączeń Szybkie i

Bardziej szczegółowo

OSGi Agata Hejmej 4.05.2009

OSGi Agata Hejmej 4.05.2009 OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce

Bardziej szczegółowo

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

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych: Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie

Bardziej szczegółowo

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone. Wymagania systemowe dla Qlik Sense Qlik Sense June 2018 Copyright 1993-2018 QlikTech International AB. Wszelkie prawa zastrzeżone. Copyright 1993-2018 QlikTech International AB. Wszelkie prawa zastrzeżone.

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski 1.) Wymagania sprzętowe: SSI Katalog Program do katalogowania zawartości dysków Dariusz Kalinowski - System operacyjny: Windows 2000 lub Windows xp - Procesor minimum Pentium 1Ghz - Pamięć RAM minimum

Bardziej szczegółowo

PyPy's Approach to Virtual Machine Construction

PyPy's Approach to Virtual Machine Construction PyPy's Approach to Virtual Machine Construction Armin Rigo, Samuele Pedroni Prezentacja: Michał Bendowski Czym jest PyPy? Implementacja Pythona w Pythonie - wydajniejsza niż oryginalna implementacja w

Bardziej szczegółowo

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Kasy Fiskalne Lublin Analityk

Kasy Fiskalne Lublin Analityk Kasy Fiskalne Lublin Analityk http://sklep.soft-tec.lublin.pl/produkt/analityk Producent Cena Cena netto Insert 984.00 PLN 800.00 PLN Analityk to system wspomagania decyzji, który opiera się na najnowszych

Bardziej szczegółowo

System do komunikacji on-line

System do komunikacji on-line System do komunikacji on-line CoSurfing.net Cloud Firma WebLive Systems jest pionierem technologii wspólnego surfowania po stronach polskim. internetowych Nasza innowacyjne w na platforma skali rynku posiada

Bardziej szczegółowo

Wydział Informatyki, Elektroniki i Telekomunikacji. Katedra Informatyki

Wydział Informatyki, Elektroniki i Telekomunikacji. Katedra Informatyki Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Informatyki Pastebin w wersji zorientowanej na środowisko mobilne z klientem pozwalającym na oba kierunki przeklejania. Dokumentacja deweloperska

Bardziej szczegółowo

LearnIT project PL/08/LLP-LdV/TOI/140001

LearnIT project PL/08/LLP-LdV/TOI/140001 LearnIT project PL/08/LLP-LdV/TOI/140001 Newsletter Issue 2 April 2009 Drogi czytelniku, Przedstawiamy z przyjemnością drugie wydanie biuletynu projektu LearnIT. W tym wydaniu chcemy powiedzieć więcej

Bardziej szczegółowo

System zarządzania bazą danych lecznicy dla zwierząt

System zarządzania bazą danych lecznicy dla zwierząt System zarządzania bazą danych lecznicy dla zwierząt WetKlinika Autorzy: Marek Synoradzki, 164740 Marek Wiewiórski, 164751 Rok studiów: III Wydział Informatyki i Zarządzania Prowadzący: Mgr Hanna Mazur

Bardziej szczegółowo

INSTRUKCJA I WSKAZÓWKI

INSTRUKCJA I WSKAZÓWKI INSTRUKCJA I WSKAZÓWKI korzystania z maszyny wirtualnej Oracle VirtualBox 4 Michał Karbowańczyk, wrzesień 2011 Spis treści 1 Informacje wstępne...4 1.1 Nazewnictwo...4 1.2 Legalność...4 1.3 Instalacja

Bardziej szczegółowo

Szybki start instalacji SUSE Linux Enterprise Server 11 SP1

Szybki start instalacji SUSE Linux Enterprise Server 11 SP1 Szybki start instalacji SUSE Linux Enterprise Server 11 SP1 Szybki start instalacji SUSE Linux Enterprise Server 11 SP1 SKRÓCONA INSTRUKCJA OBSŁUGI NOVELL Aby zainstalować nową wersję produktu SUSE Linux

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności

Bardziej szczegółowo

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

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java   1 / 8 Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick

Bardziej szczegółowo

Czym jest technologia Bluetooth?

Czym jest technologia Bluetooth? Tomasz Merda Czym jest technologia Bluetooth? Czym jest technologia Bluetooth? Bluetooth to technologia pozwalająca na komunikację radiową na ograniczoną odległość (standardowo do 10 metrów). Przy pomocy

Bardziej szczegółowo

Program Windykator I Moduły do programu. Wymagania systemowe oraz środowiskowe dla programów

Program Windykator I Moduły do programu. Wymagania systemowe oraz środowiskowe dla programów Program Windykator I Moduły do programu Wymagania systemowe oraz środowiskowe dla programów 1 A. Program Windykator... 3 1. Instalacja sieciowa z wydzielonym serwerem w lokalnej sieci... 3 2. Instalacja

Bardziej szczegółowo

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx 1. WPROWADZENIE Program AutoCAD ma wielu użytkowników i zajmuje znaczące miejsce w graficznym

Bardziej szczegółowo

Najszybszy bezprzewodowy Internet teraz tak e w Twoim telefonie

Najszybszy bezprzewodowy Internet teraz tak e w Twoim telefonie Najszybszy bezprzewodowy Internet teraz tak e w Twoim telefonie blue connect to najszybszy bezprzewodowy Internet w notebooku, komputerze stacjonarnym i telefonie komórkowym. Dzięki tej usłudze możesz

Bardziej szczegółowo

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji System informatyczny na produkcji: Umożliwi stopniowe, ale jednocześnie ekonomiczne i bezpieczne wdrażanie i rozwój aplikacji przemysłowych w miarę zmiany potrzeb firmy. Może adoptować się do istniejącej

Bardziej szczegółowo