Czas usunąć Flasha ze strony

Animacje i filmy Flash nie są obsługiwane przez iPhone’a i iPada ani przez najnowsze smartfony z systemem Google Android. Coraz więcej firm zastanawia się nad usunięciem Flasha ze swoich stron.

Adobe o technologii Flash:

85% najczęściej odwiedzanych stron na świecie korzysta z tej technologii

75% filmów wideo na świecie jest oglądanych za pomocą wtyczki Flash Player

98% korporacji polega na wtyczce Flash Player

70% gier webowych zostało wykonanych w technologii Flash

(dane z roku 2010)

Bardzo wiele stron zawiera animacje, zaawansowane opcje oraz prezentację treści za pomocą obiektów Flash. Niestety, nie można ich zobaczyć na dzisiejszych urządzeniach mobilnych - przeciwna obsłudze apletów Flash jest firma Apple, z kolei firma Adobe zaprzestała rozwijania wtyczki dla najnowszych wersji Androida. Problem jest na tyle poważny, że coraz więcej firm zastanawia się nad rozwojem osobnej wersji strony pozbawionej treści prezentowanej za pomocą wtyczki Flash, zastępując ją przez HTML5. Inne obiekty, takie jak Silverlight, nie są w ogóle brane pod uwagę, gdyż żaden popularny smartfon ich nie obsługuje.

Pusty prostokąt zamiast obiektu

Gdy użytkownik próbuje otworzyć stronę zawierającą obiekt Flash za pomocą urządzenia, które w ogóle go nie obsługuje (na przykład iPad), w miejscu animacji zobaczy pusty prostokąt, statyczny obraz lub znacznik obiektu. Jeśli firma zamierza udostępniać treść użytkownikom mobilnym pozbawionym wtyczki Flash, musi przygotować dla nich osobną wersję strony. Jednocześnie musi wiedzieć, jak strona ta wygląda u odbiorców i jakiej funkcjonalności oni oczekują.

Problem braku wtyczki Flash nie dotyczy tylko przenośnych urządzeń firmy Apple - Adobe kilka lat temu zakończyła wsparcie dla Flash Playera na komputery PowerPC z systemami MacOS X, zaś dwa miesiące temu ogłoszono zakończenie rozwoju wtyczki Flash Player korzystającej z interfejsu NPAPI dla Linuksa (w zamian za to Flash będzie zintegrowany z Google Chrome za pomocą PPAPI). W ubiegłym roku firma Adobe ogłosiła zakończenie rozwoju wtyczki Flash dla platform mobilnych.

Wideo: Flash obok HTML5

Obecnie nie trzeba się spieszyć z usuwaniem wideo udostępnianego za pomocą aplikacji Flash. Wystarczy rozpocząć enkodowanie wideo także za pomocą H.264 i VP8, by oferować treść zależnie od przeglądarki użytkownika. Jeśli korzysta on z Internet Explorera w starszej wersji niż 9 - dostarczyć mu wideo przez wtyczkę Flash. Obecnie około 40% przeglądarek desktopowych nie obsługuje tagu HTML5 Video, zatem dostarczanie wideo za pomocą wtyczek Flash dla tych odbiorców jest dobrym rozwiązaniem. Ponadto nie każda przeglądarka obsługuje wszystkie formaty, najlepszym wyborem wydaje się VP8, gdyż H.264 obsługuje wyłącznie najnowsza wersja Internet Explorera oraz Safari, a te przeglądarki mają niewielki udział w rynku.

Animacje bez Flasha? Trudna sprawa

Deweloperzy są zgodni, że obecnie żadna aplikacja nie może bezpośrednio zastąpić technologii Flash, by zrealizować to, w czym Flash jest świetny - w animacji, aplikacjach interaktywnych, grach online oraz aplikacjach pełnoekranowych, takich jak odtwarzanie wideo. Nawet HTML5 nie może równać się z elastycznością i łatwością tworzenia animacji, jakie zapewnia Flash.

Jeśli deweloper wybiera korzystanie wyłącznie z HTML5, zazwyczaj nadal dochodzi do momentu, gdy i tak potrzebuje Flasha, by dostarczyć wideo w formacie innym niż VP8, na przykład do przeglądarki Firefox. Z kolei użycie wyłącznie treści Flash sprawia, że niezbędna jest także wersja bez tych elementów przeznaczona dla telefonów i tabletów oraz tych desktopów, gdzie zainstalowano wtyczkę blokującą Flash (taką opcję ma popularna wtyczka NoScript dla Firefoksa).

Zazwyczaj deweloperzy uważają, że przygotowanie wersji serwisu dla urządzeń Apple wymaga jego całkowitego przebudowania. Jeśli ktoś zakłada, że za pomocą HTML5 dostarczy tę samą treść tak samo, jak obecnie robi to Flash, to prosta podmiana metody dostarczania treści się nie powiedzie.

Za dużo możliwości

Jednym z powodów, dla których nadal firmy mają problemy z użytkownikami mobilnymi, jest budowanie stron z nadmiarem opcji w kwestiach wyglądu i animacji. Stosowane pomysły często wykraczają daleko poza to, czego oczekują użytkownicy mobilni. Chęć przygotowania dynamicznej strony, kipiącej od animacji, sprawia, że projekt traci zalety prostej strony informacyjnej i staje się skomplikowaną prezentacją, często niepotrzebną. Przykładem może być strona restauracji z dużą liczbą fotografii, muzyką, animacją początkową przy otwarciu strony oraz pokazem slajdów. Tymczasem użytkownicy często oczekują prostej strony, która wskaże adres restauracji, trasę dojazdu, poda godziny otwarcia oraz umożliwi rezerwację stolika. Zamiast zestawu stron, które odpowiedziałyby na te potrzeby, otrzymują pokaz slajdów, przez który muszą się przedrzeć. Problem dotyczy także stron polskojęzycznych.

Czego nie potrafi HTML5

Obecnie najważniejsze problemy związane z HTML5 to:

- Ograniczone wsparcie dla zarządzania uprawnieniami do treści. Narzędzia są rozwijane, ale nadal nie są tak zaawansowane jak w przypadku wtyczek Flash. Silverlight wypada jeszcze gorzej niż Flash, gdyż nie działa na platformach innych niż desktopowe wersje Windows.

- Ograniczone wsparcie dla enkodowania ze zmiennym pasmem. Jeśli jakość połączenia nagle się pogorszy, serwer ma problem z dostosowaniem pasma do aktualnej przepustowości, zatem wideo HTML5 nie będzie wtedy odtwarzane płynnie.

- Niespójne wsparcie dla kodeków. Chrome oraz Firefox obsługują VP8, IE9 od wersji 9 i Safari obsługują H.264. Oznacza to, że deweloperzy muszą opracować enkodowanie w obu formatach, by dotrzeć do wszystkich.

- Mniejsza w porównaniu z Flashem liczba przeglądarek i platform, na których działają najważniejsze opcje HTML5.

- Gorsza optymalizacja wydajności niż w przypadku najnowszych wersji wtyczki Flash Player.

Używać Flasha czy nie?

Podstawowym kryterium stosowanym przez deweloperów przemawiającym za wykorzystaniem Flasha jest pewność, że znaczna część ludzi będzie korzystać ze strony za pomocą przeglądarki desktopowej. W większości przypadków przeglądarka desktopowa oznacza także zainstalowany Flash Player.

Niektórzy deweloperzy ograniczają użycie Flasha wyłącznie do stron startowych. Czasem jednak nie warto trzymać się takiej zasady. Z Flasha korzysta się także wtedy, gdy nie ma innej możliwości lub przygotowuje się treść, dla której przedstawienia jest to najlepsza technologia. Przykładem może być odtwarzanie multimediów, animacji lub gry online. Tu naturalnym wyborem będzie właśnie Flash, zastosowany razem z opcją rezerwową w postaci prostego menu z obrazkami. Należy unikać sytuacji, gdy osoba przeglądająca daną stronę za pomocą urządzenia, które nie obsługuje Flasha, zobaczy pustą stronę z komunikatem żądającym instalacji lub aktualizacji wtyczki Flash. Zazwyczaj wywołuje to irytację i unikanie podobnych stron w przyszłości.

Jednak z większości stron obiekty Flash można bez problemów usunąć. Wiele witryn można oprogramować za pomocą tekstu, obrazów i systemu zarządzania i wyświetlania treści (HTML5, CSS, JavaScript).

Jednym z powodów, przemawiających za całkowitym unikaniem obiektów Flash jest dedykowanie treści użytkownikom platform mobilnych. Nie dotyczy to tylko Apple, gdyż w każdym przypadku Flash wymaga pewnej mocy obliczeniowej do renderowania animacji. Nawet jeśli technicznie możliwe jest odtwarzanie animacji Flash na przeciętnym telefonie z systemem Android, efekt jest zwykle daleki od oczekiwań.

Jak pozbyć się Flasha

Deweloper spytany, w jaki sposób usunąłby obiekty Flash ze stron, zazwyczaj sugeruje użycie konkretnych narzędzi. Przedstawiamy sugestie Josepha Crawforda, dewelopera aplikacji webowych i eksperta technologii Flash ze Slackers Radio w San Diego.

Pliki Flash można podzielić na lokalne, czyli udostępniane przez nasze serwery, lub zewnętrzne, gdy pochodzą od innych podmiotów.

Jeśli Flash jest zasobem lokalnym, to:

Należy zidentyfikować fragmenty stron zrealizowane za pomocą Flasha, a następnie:

- skonwertować kod plików .swf, posługując się narzędziami, takimi jak Google Swiffy lub Adobe Wallaby, a następnie przetestować wynik ich pracy. Jeśli rezultat spełnia oczekiwania, wynikowy kod będący kombinacją HTML, CSS i JavaScriptu może być umieszczony tam, gdzie przedtem był obiekt Flash.

- Jeśli wynik konwersji nie spełnia oczekiwań, niezbędne są dalsze działania. W wielu przypadkach podstawowe opcje, takie jak pokaz slajdów lub odtwarzanie muzyki, można zrealizować w całości przez biblioteki JavaScript, takie jak jQuery, Prototype czy MooTools.

Nie należy się obawiać korzystania z bibliotek rozwijanych w modelu społecznościowym, gdyż niektóre z nich są bardzo dobrze robione, przykładem może być jQuery Cycle Plugin dla prostych pokazów slajdów czy jPlayer dla odtwarzania treści multimedialnych. Uzupełnienie niedostatków HTML5 za pomocą takich bibliotek jest dobrym podejściem.

Jeśli pliki pochodzą od strony trzeciej, należy:

- zidentyfikować porcje strony, które wywołują zewnętrzne usługi, korzystające z Flasha. Przykładem mogą być usługi filmy z YouTube.

- Sprawdzić w zewnętrznych serwisach, czy dostarczą one kod, który działa bez konieczności korzystania z Flasha.

- Przetestować, a następnie umieścić nowy kod.

- W przypadku YouTube, zamiast umieszczania odtwarzacza Flash, zaleca się wykorzystać kod w ramce IFRAME, który zaserwuje właściwą treść zależnie od możliwości przeglądarki.

Przy bardzo skomplikowanych przypadkach niezbędne będzie przeprogramowanie całej funkcjonalności za pomocą JavaScriptu, HTML5 i CSS, co wymaga znacznych nakładów. Przed rozpoczęciem prac należy jednak sprawdzić, czy całe przedsięwzięcie będzie opłacalne.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200