Turbo Vision
Jedną z bibliotek programistycznych jest właśnie Turbo Vision. Przeznaczona jest do konstruowania interakcyjnych programów opartych na okienkach pracujących w trybie tekstowym, dystrybuowana wraz z pakietami firmy Borland (Borland Pascal, Turbo Pascal, Borland C++). Pierwsza wersja biblioteki została załączona do pakietu Turbo Pascal 6.0 wydanym w 1990 roku. Natomiast wersja 2.0 pojawiła się wraz z pakietami Borland Pascal i Turbo Pascal w wersji 7.0, ostatnim wydaniem tej serii środowisk programistycznych, po których nastała era Delphi. Biblioteka umożliwia nie tylko tworzenie programów pracujących w trybie tekstowym ekranu, ale także sterowanie tym programem za pomocą myszy oraz testowania danych wprowadzanych przez użytkownika.
Programy pisane z wykorzystaniem tej biblioteki mają często dość charakterystyczny i podobny do siebie interfejs oraz podobną obsługę klawiatury i standardowych skrótów klawiaturowych. Biblioteka składa się z 15 modułów napisanych z wykorzystaniem zasad programowania zorientowanego obiektowo, wprowadzonego przez firmę Borland do jej implementacji Pascala od wersji 5.5.
Wiersz poleceń
Wiersz poleceń to jeden z najczęściej spotykanych sposobów interakcji człowieka z komputerem. Inne przykłady to wcześniej przeze mnie opisany interfejs tekstowy oraz interfejs graficzny. Kontrola komputera poprzez wiersz poleceń sprowadza się do wydawania poleceń ze ściśle określonego zestawu i określonej składni. Polecenia najczęściej wpisywane są z klawiatury lub zapisane w skryptach. Programy komputerowe umożliwiające tego rodzaju pracę nazywane są często interpreterami. Przykładami są tutaj rozmaite programy powłoki systemów UNIX, Linux i DOS, jak i program gnuplot służący do tworzenia wykresów funkcji. Również zaawansowany program wspomagania projektowania AutoCAD oferuje pracę w trybie wiersza poleceń.
Polecenia dla komputera wydawane w wierszu poleceń mają z reguły taką samą postać, choć oczywiście nie są to jedyne formy. Znaki ‘<' oznaczają przekierowanie. Informuje on system operacyjny o tym, że dane dla polecenia mają być pobierane z innego miejsca niż domyślne. Podobnie, znak '>‘ informuje system operacyjny, że wyniki polecenia mają być skierowane w inne miejsce niż domyślne.
Interfejs tekstowy
Interfejs tekstowy to interfejs użytkownika, w którym prezentowane informacje mają formę tekstu lub innych znaków wyświetlanych w trybie tekstowym. Użytkownik programu komputerowego z interfejsem tekstowym może wprowadzać polecenia z użyciem różnych urządzeń wejściowych, nie tylko z klawiatury, linia po linii, jak to ma miejsce w przypadku wiersza poleceń. Interfejs tekstowy mogą posiadać także aplikacje uruchamiane w trybie graficznym, zwykle w oknie które emuluje tryb tekstowy. Mimo tego, iż interfejs tekstowy posiada inne możliwości prezentowania informacji dla użytkownika niż interfejs graficzny, to powstają gry wykorzystujące ten sposób interakcji z graczem. Przykładem są gry typu Roguelike. Tworzenie i obsługę interfejsu tekstowego wspomagają biblioteki programistyczne, takie jak Turbo Vision, ncurses czy S-Lang.
Interfejs ten był często stosowany w aplikacjach działających na systemach operacyjnych takich jak MS-DOS, PC-DOS, RS-DOS oraz CP/M.Wiele programów posiada interfejs tekstowy, jednak z wykorzystaniem znaków specjalnych buduje okna, tabele, cienie.
Widżet pulpitu
Widżet pulpitu jest małym programem, który uruchamia się na pulpicie użytkownika, zazwyczaj łączący się z internetem i prezentujący określone informacje. Widżety pulpitu stały się bardzo popularne, kiedy Apple wprowadziło je do systemu Mac OS X 10.4 „Tiger”. Widżety tego typu są również dostępne od 9 wersji w przeglądarce internetowej Opera. W celu uruchomienia widżetu w systemie operacyjnym nieobsługującym go, takim jak Linux lub Microsoft Windows wcześniejszy niż Vista, należy zainstalować odpowiednie oprogramowanie. Windows Vista obsługuje widżety bez pomocy dodatkowych programów. Widżety pulpitu poszczególnych systemów operacyjnych lub programów nie mogą być używane zamiennie.
Widżety pulpitu funkcjonują również na smartfonach i zaawansowanych telefonach komórkowych. Uruchamiane są przez użytkownika poprzez przeciągnięcie ich z bocznego menu na obszar roboczy urządzenia. Widżety można znaleźć m.in. na urządzeniach firm:
Apple (iPhone), Motorola, Samsung, LG, Nokia,Sony Ericsson,HTC,.
Drzewo
Jednym z przykładów widżetów jest drzewo. Struktura drzewiasta, z angielskiego list view, to skomplikowany, ale dość powszechnie używany widżet. Najczęściej chodzi tylko o pokazanie tabelki danych. Posiada ona bowiem dwie funkcjonalności, z których też nie zawsze wykorzystuje się obie na raz: pokazywanie linijek danych z podziałem na kolumny oraz pokazywanie drzewiastej struktury wraz z powiązaniami nadrzędności i podległości.
Widżet ten składa się z dwóch najważniejszych części: nagłówka i danych. Bardzo dużą część interakcji z użytkownikiem obsługuje sam widżet. W każdej linijce każdej kolumny standardowo umieszcza się napis, a dokładnie widżet zwany polem edycyjnym, z tym tylko że z zablokowaną możliwością edycji. Można jednak wejść do trybu edycji klawiszem F2. Również w zależności od konfiguracji edycję można rozpoczynać pojedynczym kliknięciem myszy, albo też podwójnym kliknięciem myszy. Oczywiście nie musimy się godzić na standardowe widżety i umieścić we wskazanych pozycjach całkowicie dowolny widżet. Podobnie jak to też jest w widżecie zwanym polem wyboru, jest też możliwa selekcja pusta i selekcja wielokrotna.
Widżet pojemnikowy
Przykładem najprostszego widgeta jest zegarek w pasku zadań na dole ekranu. Prezentuje bieżący czas oraz datę i pozwala na wykonanie kilku związanych z tym czynności – możemy ustawić godzinę, dzień, miesiąc, zmienić strefę czasową, obejrzeć cały kalendarz. Ale co to jest widżet pojemnikowy? Otóż polega on na zawieraniu innych widżetów, a dokładnie, udostępnianiu im swojej własnej powierzchni. Zazwyczaj jest to też ściśle związane z hierarchią widżetów, w związku z czym widżet ten ma parametr parent w stosunku do widżetów na nim umieszczonych. Poza podstawową postacią, która nie ma żadnych wizualnych cech, może też przybierać różne wielofunkcyjne postacie takie, jak: karta, ramka, powierzchnia wirtualna z własnym paskiem przesuwania.
W bibliotekach bardzo elastycznych, w których widżety mają ściśle wyznaczoną rolę, funkcje widżetów pojemnikowych mogą pełnić zwykłe widżety. Taka sytuacja występuje np. w GTK, z tą różnicą, że widżety takie dzielą się na dwa rodzaje: zawierają wiele widżetów i takie, które zawierają dokładnie jeden widżet mający np. realizować wizualizację tego elementu.
Widżet
Widżet to jak już wspomniałam w poprzednim artykule podstawowy element graficznego interfejsu użytkownika, np. pole edycji, suwak. Widżety po raz pierwszy wykorzystano do nazwania elementów graficznego interfejsu użytkownika podczas prac nad projektem Athena w latach 80tych XX wieku, gdyż dzięki wspólnemu prefiksowi widget kojarzy się ze słowem window. Terminy kontrolka lub element kontrolny nawiązują do podobieństwa okien z widżetami do pulpitów sterowniczych zawierających różne przyciski, potencjometry i wyświetlacze.
Widżety otrzymują komunikaty generowane przez mysz i klawiaturę oraz inne komunikaty systemowe i wyświetlają swoją reprezentację na ekranie. W typowej implementacji menedżer okien przypisuje im pewien prostokąt na ekranie, a do rozwiązywania konfliktów między widżetami zajmującymi wspólny obszar stosowana jest metoda z-order. Dziś widgety obsługiwane są przez wiele platform – zarówno systemów operacyjnych, programów jak i stron internetowych. Reprezentacyjnym przykładem pierwszego jest najnowszy Windows Vista, który obsługuje widgety, nazwane tam gadgetami, na pulpicie oraz w pasku bocznym.
Graficzny interfejs użytkownika
Graficzny interfejs użytkownika, często nazywany też środowiskiem graficznym to ogólne określenie sposobu prezentacji informacji przez komputer oraz interakcji z użytkownikiem, polegającego na rysowaniu i obsługiwaniu widżetów. Został wymyślony przez firmę Xerox w latach 70. XX wieku w laboratorium PARC. W Polsce pierwsze interfejsy graficzne powstały w latach 70tych do maszyn Odra 1204. Używane m.in. na Wojskowej Akademii Technicznej. Do sterowania służyło pióro świetlne oraz prototyp trackballa.
Środowisko graficzne jest grupą wzajemnie współpracujących programów, zapewniającą możliwość wykonywania podstawowych operacji na komputerze (takich jak uruchamianie programów, poruszanie się po katalogachitp.) w trybie graficznym, najczęściej okienkowym. Zapewnia alternatywny dla konsoli sposób pracy na komputerze.
Najważniejszym elementem graficznego interfejsu jest okno (lub kilka okien) programu. Wewnątrz takiego okna są rozmieszczone elementy interakcyjne, zwane widżetami lub „kontrolkami”. Użytkownik komunikuje się z aplikacją pośrednio przez te widgety najczęściej za pomocą myszy i klawiatury.
System wbudowany
System wbudowany to system komputerowy specjalnego przeznaczenia, który staje się integralną częścią obsługiwanego przez niego sprzętu. Spełnia określone wymagania, zdefiniowane do zadań które ma wykonywać. Nie można nim więc nazywać typowego wielofunkcyjnego komputera osobistego. Za pierwszy komputer wbudowany uznaje się ten, który sterował amerykańskim statkiem kosmicznym Apollo. Pierwszy komputer wbudowany produkowany masowo sterował rakietą LGM-30 Minuteman. Każdy oparty jest na mikroprocesorze (lub mikrokontrolerze), zaprogramowanym do wykonywania ograniczonej ilości zadań lub nawet tylko do jednego. Zależnie od złożoności wykonywanych zadań, może zawierać oprogramowanie dedykowane wyłącznie temu urządzeniu lub może to być system operacyjny wraz ze specjalizowanym oprogramowaniem. Może o tym decydować też stopień niezawodności jakie ma oferować dany system wbudowany. Ogólną zasadą jest, iż im mniej złożone i specjalizowane jest oprogramowanie, tym bardziej system jest niezawodny oraz może szybciej reagować na zdarzenia krytyczne.
Budowa systemu operacyjnego
Budowę systemu operacyjnego dzieli się na trzy główne elementy:
* jądro, które składa się z następujących elementów funkcjonalnych: planisty czasu procesora, ustalającego które zadanie i jak długo będzie wykonywane oraz z przełącznika zadań, odpowiedzialnego za przełączanie pomiędzy uruchomionymi zadaniami. Dodatkowo posiada moduł zapewniający synchronizacje i komunikację pomiędzy zadaniami, moduł obsługi przerwań i zarządzania urządzeniami, moduł obsługi pamięci, zapewniającego przydział i ochronę pamięci oraz inne zależnie od funkcji i przeznaczenia systemu,
* powłoka – specjalny program komunikujący użytkownika z systemem operacyjnym,
* system plików – stosuje się je dla różnych nośników danych, takich jak dyski, dyskietki, a także w strumieniach danych, sieciach komputerowych, pamięciach. We współczesnych systemach operacyjnych bezpośrednie operowanie na danych w plikach zarezerwowane jest tylko dla systemu operacyjnego, aplikacje mają dostęp tylko do operacji na plikach i mają zabroniony bezpośredni dostęp do nośnika danych.