Jakieś dwie dekady temu świat był o wiele prostszy. Mieliśmy bowiem do dyspozycji komputery z systemem Windows, który był bez wątpienia najpopularniejszy na rynku. Obok niego był też Linux, MacOS i inne dość niszowe systemy operacyjne oraz konsole wideo. Jeśli więc miałeś w planie przygotowanie aplikacji lub gry wideo, to w zasadzie wybór był prosty. Tworzyłeś grę dla systemu Windows, a jedyny problem stanowił wybór odpowiedniego środowiska pracy i ewentualnie zastosowanych technologii.
Obecnie jednak sytuacja wygląda zupełnie inaczej. Dziś w dalszym ciągu w komputerach stacjonarnych, laptopach i notebookach najpopularniejszym systemem operacyjnym jest Windows (oznaczony jako 10), ale nie dominuje on aż tak bardzo, jak kiedyś. Dość istotną część rynku zgarnęły dla siebie różne dystrybucje Linuksa oraz MacOS X. Ponadto gigantyczną popularnością cieszą się także urządzenia mobilne, czyli telefony i tablety. Mamy wśród nich takie systemy jak Android oraz iOS (firmy Apple), a także odchodzące już powoli do historii Windows Phone i Blackberry.
W sumie nie byłoby w tym nic specjalnie istotnego, gdyby nie jeden podstawowy problem. Otóż aplikacje prawie zawsze są tworzone pod konkretny system i w takim przypadku nie da się ich uruchomić w żadnym innym. Tak przynajmniej było do tej pory. Obecnie mamy na rynku kilka rozwiązań, które pozwalają zaprojektować aplikacje i gry będące kompatybilne z wieloma różnymi platformami. Naturalnie wiąże się to z różnymi ograniczeniami, ale zalety są trudne do przecenienia — po prostu projektujesz tylko jedną aplikację, która może następnie pracować na różnych platformach. Dziś zamierzamy zaprezentować Ci kilka popularnych rozwiązań tego typu. Zapraszamy do lektury!
Java
Jednym z najpopularniejszych rozwiązań umożliwiających względnie łatwe przenoszenie gotowego kodu między różnymi platformami jest Java. To po prostu jeden z wielu języków programowania wysokiego poziomu mocno zbliżony składnią do popularnego C++. Jednak jego istotną cechą jest to, że gotowy kod źródłowy programu kompilowany jest do specyficznej postaci binarnej zwanej kodem pośrednim. Kod ten następnie wykonywany jest przez maszynę wirtualną Javy, która musi zostać wcześniej opracowana dla każdej platformy z osobna. Efektem tego jest bardzo wysoka kompatybilność oprogramowania między wieloma platformami.
Jednak Java ma trzy istotne wady, z czego jedna nie jest zawiniona bezpośrednio przez nią. Pierwsza wada to znacząco niższa wydajność gotowej aplikacji. Konieczność dwukrotnego „tłumaczenia” gotowego kodu źródłowego na kod pośredni, a dopiero potem na postać wykonywalną bardzo spowalnia cały proces wykonania. W wielu wypadkach uniemożliwia to tworzenie bardzo zaawansowanych aplikacji wymagających sporej liczby obliczeń. Druga wada to brak możliwości korzystania bezpośrednio z możliwości sprzętu, na przykład zaawansowanej grafiki 3D (to akurat zmienia się w ostatnich latach). Niemniej jednak Java nadaje się przede wszystkim do nieskomplikowanych aplikacji (także webowych) i prostych gier o mało wymagającej oprawie graficznej.
Wspomniana trzecia wada Javy wiąże się z tym, że jest ona niedostępna dla urządzeń firmy Apple. Z niezbyt zrozumiałych powodów firma Cupertino nie pozwala na tworzenie oprogramowania w Javie i maszyn wirtualnych Javy dla swoich produktów. Zapewne wiąże się to z chęcią promowania własnych, konkurencyjnych rozwiązań, jak na przykład Swift.
Flash
To nieco zbliżone pod względem koncepcji rozwiązanie do Javy. Flash został opracowany przez firmę Macromedia w połowie lat 90. ubiegłego wieku, kilka lat później firma ta została wykupiona przez Adobe Systems. Flash to dość proste środowisko programistyczne, które pozwala na tworzenie prostych gier lub aplikacji z wykorzystaniem animacji, grafiki wektorowej i skryptów. Przez wiele lat na przykład znane z kasyn automaty online Vulcan wykonane były właśnie w technologii Flash. Ta technologia pozwalała na wygodne tworzenie dosyć efektownych jak na tamtą epokę pod względem graficznym gier i aplikacji. Jednak w obecnych czasach rozwiązanie to stało się mocno już przestarzałe do tego stopnia, że w styczniu 2021 roku firma Adobe oficjalnie zamknęła wszelkiego rodzaju wsparcie dla Flasha.
Flash ma także jedną istotną wadę — podobnie jak Java nigdy nie był wspierany przez firmę Apple, więc użytkownicy urządzeń tej firmy nie mogli korzystać z tych produktów (poza nieoficjalnymi rozwiązaniami, jak przeglądarka Puffin).
HTML5
Obecnie ta technologia zyskuje sobie sporą popularność. Jest to piąta generacja języka skryptowego HTML, który jest podstawą wszystkich stron internetowych. W piątej wersji wprowadzona została obsługa grafiki wektorowej, a także bezpośredniego odtwarzania plików wideo i audio. To w połączeniu z popularnymi językami skryptowymi takimi jak JavaScript daje naprawdę mnóstwo możliwości.
Wszystkie gry i aplikacje wykonane w HTML5 działają z poziomu przeglądarki internetowej. Oznacza to, że nie zwracają uwagi na to, z jakim systemem operacyjnym mają do czynienia. Nie ma także możliwości zablokowania wsparcia dla tej technologii przez firmę Apple, jak to miało miejsce w dwóch poprzednich przypadkach. Każda współczesna przeglądarka radzi sobie znakomicie z HTML5 — jeśli więc masz możliwość zainstalowania takiego programu na swoim urządzeniu, to możesz korzystać ze wszystkich produktów wykonanych w tym właśnie standardzie!