Nie tylko Android i iOS: HTML 5 - The Game Changer
Telefony komórkowe są z nami już od 40 lat. W tym czasie byliśmy świadkami kilku rewolucji, które redefiniowały rynek urządzeń mobilnych. Nową falę zmian ma zapoczątkować standard HTML 5.
08.04.2013 | aktual.: 08.04.2013 21:50
Telefony komórkowe są z nami już od 40 lat. W tym czasie byliśmy świadkami kilku rewolucji, które redefiniowały rynek urządzeń mobilnych. Nową falę zmian ma zapoczątkować standard HTML 5.
Wraz z Web 3.0 zmieni się obecnie znany obraz sieci. Nowy standard W3C nie jest dedykowany wyłącznie stronom WWW czy desktopowym przeglądarkom. HTML 5 jest technologią, która ma w większym stopniu skupić się na urządzeniach mobilnych. Najlepszym przykładem są aplikacje webowe, które działają praktycznie na każdej platformie sprzętowej.
HTML 5 - platforma czy tylko technologia?
Nowy HTML jest promowany przez najważniejszych graczy na rynku mobilnym, ale nie każdy z nich kieruje się jednakowymi powodami. Możemy wyróżnić główne dwie koncepcje. Pierwsza przewiduje, że HTML 5 stanie się najważniejszą technologią do tworzenia aplikacji (zapewni możliwości większe niż Adobe Flash). Zwolennicy drugiej koncepcji widzą w standardzie szansę na stworzenie nowej, otwartej i niezależnej platformy. Nie są to koncepcje sprzeczne czy wykluczające się, jednak warto pamiętać, że mimo globalnego wsparcia dla HTML każdy chce wykorzystać go do własnych celów.
Gdy patrzę na nowy standard jako platformę, przypominają mi się początki dwóch systemów - bady OS i Androida. System Google'a zdobył dużą popularność m.in. dzięki wykorzystaniu Javy i otwartej strukturze. W tamtych czasach większość deweloperów tworzących aplikacje dla telefonów używała Javy ME. Dzięki oparciu Androida na tym samym języku znacznie ułatwili oni migrację programistów do ich ekosystemu.
Niestety, ekosystem Google'a jest zamknięty, co w dużej mierze przeszkadza zwykłym użytkownikom i twórcom aplikacji. Obecnie połowa deweloperów tworzących dla urządzeń mobilnych opiera się na HMTL5. Blisko 3/4 aplikacji znajdujących się w App Store i Google Play ma powstawać przy użyciu tej technologii (w tym narzędzi deweloperskich). Twórcy nowych systemów operacyjnych, takich jak Tizen, Sailfish OS czy Firefox OS, nie muszą budować całkowicie nowego zaplecza. Wystarczy, że nakłonią programistów do portowania swoich aplikacji. Ma być ono proste, szybkie i przede wszystkim tanie.
Idea stojąca za badą OS okazała się słuszna. Niestety, Samsung źle zabrał się do jej realizacji. System Koreańczyków opierał się na języku C++ i zamkniętym API. HTML 5 znacznie lepiej nadaje się do skalowania aplikacji między telefonami budżetowymi a flagowcami.
Aplikacje natywne vs webowe
Programy przygotowane przy użyciu technologii sieciowych nie zastąpią całkowicie swoich natywnych odpowiedników, które na ogół są po prostu lepsze. Bezpośredni dostęp wszystkich funkcji API danego systemu, lepsza wydajność i GUI to jedne z głównych zalet natywnych programów. Coraz częściej jednak ich wady (brak kompatybilności, brak multiplatformowości, ociężałość) skłaniają programistów do szukania alternatyw. Obecna sytuacja na rynku powoduje, że przywiązanie do konkretnego systemu znacząco utrudnia próby rozszerzenia swojej oferty. Tu z pomocą przychodzi właśnie HTML5.
Aplikacje sieciowe mają szansę na odniesienie dużego sukcesu. Raz napisany kod może być uruchamiany za pomocą przeglądarki internetowej lub bezpośrednio przez system operacyjny. Co więcej, dzięki responsywnemu designowi rozdzielczość czy rozmiar ekranu nie stanowią problemu. Przygotowując aplikację sieciową, można od razu zapewnić user experience dopasowany do smartfona, tabletu, PC czy Smart TV.
Niestety, przez możliwość tworzenia aplikacji dla dużej grupy platform traci się dostęp do specyficznych funkcji konkretnego urządzenia. Aby rozwiązać ten problem, w ramach standardu HTML5 powstaje API zapewniające dostęp do kamery, sensorów czy stanu baterii dowolnego urządzenia. Ważną rolę ma odegrać Firefox OS - system opracowany przy użyciu nowego standardu, który ma rozwijać jego możliwości.
Bardzo dużą popularność zdobyła trzecia opcja, czyli aplikacje hybrydowe. Pozwalają one na pisanie kodu w HTML i JavaScript (lub tłumaczeniu ich do natywnej aplikacji) przy użyciu cross-platformowych frameworków (narzędzi). Łączą najlepsze i najgorsze cechy programów natywnych oraz sieciowych. Dostęp do API i opcja dystrybucji w oficjalnych sklepach popularnych systemów zapewniają możliwości porównywalne z dedykowanymi aplikacjami. Zachowana jest przy tym łatwość migracji między platformami. Niestety, ich wydajność i user experience ustępują ich dedykowanym odpowiednikom.
Standard HTML5 ma zostać ukończony dopiero w 2014 roku, dlatego na pełnię możliwości aplikacji webowych będziemy musieli poczekać. Ich popularność rośnie z każdym dniem. Niedawno Mozilla i Epic Games udostępniły wersję silnika Unreal Engine 3 dla przeglądarek internetowych (odbyło się to dzięki wprowadzeniu asm.js - modułu optymalizującego działanie JavaScript dla aplikacji napisanych w C/C++).
Bring high performance games to the Web without any plugins with Mozilla
Interesującą technologią sieciową jest WebRTC. Pozwala ona na komunikację w czasie rzeczywistym między przeglądarkami internetowymi lub aplikacjami sieciowymi. Umożliwi to rozmowy wideo i audio, transfer plików peer-to-peer czy opcje gry multiplayer z poziomu dowolnej przeglądarki wspierającej standard HTML5, bez żadnych wtyczek. W lutym tego roku AT&T, Mozilla i Ericsson zaprezentowały koncepcję WebPhone jako przyszłość telefonii IP z wykorzystaniem WebRTC w smartfonach.
Co jest pod maską?
Nowy standard daje ogromne możliwości, jednak trzeba pamiętać, że najważniejszą rolę odegrają silniki przeglądarek, które go implementują. Obecnie dominuje WebKit, który jest wykorzystywany w ponad 500 milionach aktywnych telefonów. Niestety, jest on poddany fragmentacji. Praktycznie każdy model ma trochę inną wersję WebKita, a oprócz niego są jeszcze Gecko (Mozilla), Trident (Microsoft) czy do niedawna Presto (Opera). Nawet fragmentacja Androida w porównaniu z sytuacją przeglądarek nie wygląda tak źle.
Wraz z wzrostem popularności standardów sieciowych wzrosło zaanagażowanie największych producentów w dostarczenie jak najlepszych silników renderowania. Ostatnio Google zrezygnował z używania głównej linii WebKita. Gigant z Mountain View postanowił zaimplementować własną wersję tego silnika, noszącą nazwę Blink. Decyzja miała być podyktowana chęcią "odchudzenia" silnika oraz jego lepszym dopasowaniem do potrzeb Chrome'a. Google twierdzi, że już na starcie wyrzucono z projektu ponad siedem tysięcy zbędnych plików. Z Blinka ma korzystać również Opera. Norwedzy zrezygnowali z własnego silnika Presto. Rodzinę WebKita opuściło BlackBerry - firma zaprezentowała autorską przeglądarkę napisaną w HTML5.
Nie dziś, nie jutro, ale przyszłość to HTML
Zagadką pozostaje, czy uda się stworzyć z sieci pełnoprawną platformę. Jej sukces pomoże w starcie wielu nowym systemom operacyjnym, które już od początku zapewniają wsparcie aplikacjom webowym. Również obecni liderzy rynku mogą być zadowoleni z rozwoju nowej platformy. Jedyne, co mogą stracić, to pełna kontrola zamkniętego ekosystemu, jednak na tym najlepiej wyjdą przede wszystkim zwykli użytkownicy.
Platforma wprowadza również możliwość stworzenia nowego modelu biznesowego. Otwarty ekosystem, w którym deweloperzy nie są ograniczeni do jedynego słusznego sklepu, a aplikacje raz kupione są dostępne dla wszystkich platform, jest po prostu świetny. Niestety, oznacza to również pewne problemy. Jeden główny sklep z kategoriami Top pozwala na łatwiejszą promocję i odnajdywanie programów. Twórcy aplikacji webowych będą musieli znaleźć popularny sklep, aby łatwiej trafić do klienta.
Web 3.0 do nas trafi, czy tego chcemy czy nie. Co więcej, operatorzy telefonii będą jednymi z głównym podmiotów chcących przekonać nas do HTML5. Czym będą kusić? Zmianą (na lepsze) warunków i ofert korzystania z mobilnego Internetu. Wraz z debiutem nowych systemów operacyjnych i rosnącym udziałem producentów z Chin rynek mobilny w ciągu najbliższych kilku lat może przejść znaczącą metamorfozę.