Flash czy HTML - wady, zalety, mity
Ten artykuł powstał w 2007 roku.
Jak to zwykle bywa, ze względu na różnorodność charakterów ludzi, jest wielu zwolenników tworzenia stron internetowych we Flash'u jak i wielu przeciwników. Dzięki tym podziałom w sieci cały czas funkcjonują strony w obu technologiach / technikach wykonania. Bądź co bądź, mamy dzięki temu sporą różnorodność systemów. Często jednak internauci zapominają w tym wielkim sporze o innych technologiach takich jak SilverLight, który jest alternatywą do Flasha bądź Ajax, który prawie daje możliwości Flasha a stworzony jest na podstawie JavaScript. Ale my nie o tym w tym artykule.
Argumenty
Przeciwnicy Flash'a:
- Flash strasznie obciąża procesor użytkownika
- Flash to niepotrzebne rozpraszające animacje nie wnoszące nic do strony
- reklamy flaszowe to plaga Internetu
- Flash nie jest indeksowany przez wyszukiwarki
- Flash nie jest dostępny dla osób niepełnosprawnych np. niewidomych i niedowidzących
- Na stronie Flashowej nie działa przycisk wstecz
- Nie można używać oddzielnych adresów URL by otworzyć odpowiednią podstronę we flashu
- Flasha nie można uruchomić na urządzeniach mobilnych
- Bez plugina w przeglądarce Flash się nie odtworzy
- Oprogramowanie do tworzenia we Flashu jest bardzo drogie
- Strony w HTML wyglądają inaczej na różnych przeglądarkach
- HTML to nuda i przeżytek - nic się nie dzieje na stronie a więc strona nie zachęca
- HTML nie ma możliwości odtwarzania filmów
- HTML nie ma możliwości odtwarzania dźwięków
- W HTML'u nie można tworzyć animacji
- W HTML'u nie można tworzyć gier
Sprostowanie
Flash strasznie obciąża procesor użytkownika
Wszystko zależy od tego jak film Flash'a został napisany. Wielokrotnie widziałem strony napisane przy wykorzystaniu Ajax?a oraz Javascript, które obciążały procesor tak, że nie dawało się w ogóle pracować na komputerze. Wykorzystanie jednej funkcji HTML ?onmouseover? powoduje przynajmniej sekundowe opóżnienie w IE (na słabszych komputerach wygląda to znacznie gorzej) przed wykonaniem podpiętej do tej akcji funkcji. To że ktoś nie potrafi kożystać z danej technologii nie czyni jej złą bądź niefunkcjonalną. Jeżeli zbudujemy sprawnie stronę, zarówno w HTML jak i we Flashu, to obie wcale nie muszą obciążać znacząco procesora. Dodatkowo w najnowszej wersji Flasha, nowa wtyczka będzie już prawdopodobnie wykorzystywać kartę graficzną do swoich obliczeń co znacznie odciąży procesor, czego nadal jednak nie będzie można powiedzieć o skryptach Javascript.
Reklamy flaszowe to plaga Internetu
Owszem, wyświetlanie takich reklam zależy tylko i wyłącznie od właścicieli serwisów a nie od oglądającego, czy tworzącego te reklamy. Nie możemy także rozpatrywać czy dana technologia jest dobra czy zła po tym jak niektórzy ją wykorzystują. Gdy nie było flasha, albo w czasach gdy raczkował wykorzystywano w ten sam sposób skrypt Javascript, poprzez które nie dość, że nie można było się opędzić od wyskakujących okienek, to często nie zezwalały na wyjście ze strony bez uprzedniego zamknięcia przeglądarki. Ponadto rozpatrujemy tutaj wyłącznie strony stworzone we flashu a nie komponenty stron internetowych, którymi są wszelkie formy reklamy na stronie w postaci np. Bannerów reklamowych.
Flash nie jest indeksowany przez wyszukiwarki
Od początku 2008 roku Google pracowało nad możliwością indeksowania Flasha. Co jakiś czas w wynikach wyszukiwania pojawiały się strony z przedrostkiem [FLASH] a tuż pod tytułem strony, tekst wyciągnięty z Flasha. Oznacza to że już wtedy Google było w stanie indeksować zawartość tekstową stron stworzonych w technologii Flash. Obecnie z pomocą przyszło samo Adobe. Udostępniło ono skrypt wyszukiwarce Google oraz Yahoo, który umożliwia czytanie zawartości pliku flaszowego swf a tym samym umożliwia jego zindeksowanie. Niestety prawdopodobnie strony w HTML zawsze będą lepiej indeksowane przez wyszukiwarki ? głównie te niszowe, ale jest to jakiś krok i wyciągnięcie ręki w kierunku technologii Flash przez dwie największe wyszukiwarki ? oraz firmę Adobe i można się pewnie niebawem spodziewać owocnych rezultatów w tej sprawie.
Flash nie jest dostępny dla osób niepełnosprawnych np. niewidomych i niedowidzących
Tu muszę się zgodzić, jednak tylko w połowie. Flash nie umożliwia powiększania tekstów, ale obecne przeglądarki robią to za Flasha, więc de facto jest możliwy dla odczytania przez osoby niedowidzące. Dodatkowo, jeżeli film Flash?owy posiada włączoną opcję menu pod prawym przyciskiem myszki, to użytkownik ma możliwość powiększania zawartości Flasha. Oczywiście nie będę próbował negować w żaden sposób faktu iż osoba niewidoma, niestety nie skorzysta z zawartości strony internetowej stworzonej we Flashu. Tyczy się to oczywiście czasów obecnych, więc nie będę brał pod uwagę tego co za chwileczkę powiem w ostatecznym rozrachunku z obiema technologiami. Dzięki ogromnym możliwością flasha ? głównie tyczy się to obsługi urządzeń audiowizualnych, wg mnie w przyszłości to właśnie flash będzie stanowił nowy wyznacznie stron przeznaczonych dla osób niepełnosprawnych. Już teraz istnieją projekty, w których nawigacja po stronie odbywa się jedynie poprzez ruchy głowy użytkownika, a ruchy te są odczytywane poprzez kamerę internetową podłączoną do komputera. Wszystko to tylko i wyłącznie dzięki flashowi. W przyszłości wraz z połączeniem rozpoznawania mowy, strony wykonane w technologii Flash, bądź w jego następcy będą wg mnie odgrywały kluczową rolę dla niepełnosprawnych internautów.
Na stronie Flashowej nie działa przycisk wstecz
Nie jest to prawdą! Istnieją metody umożliwiające nawigację przyciskiem wstecz po Flashu. Takie stwierdzenie mogło paść tylko z ust osoby, która nie zna technologii.
Nie można używać oddzielnych adresów URL by otworzyć odpowiednią podstronę we flashu
Również jest to nie prawdą. Technologia flash może dowolnie komunikować się poprzez np. Javascript i dzięki temu z powodzeniem można stosować tzw. Kotwice, które przekierowują na odpowiedni kontent na stronie Flashowej. Oczywiście stworzenie takiej aplikacji jest bardzo pracochłonne, ale jest możliwe do wykonania.
Flasha nie można uruchomić na urządzeniach mobilnych.
Oczywiście na wielu nie można, ale istnieje ogromna ilość na których można. Obecnie nowe telefony obsługują Flash Lite a niektóre mogą mieć zainstalowanego normalnego FlashPlayera. Można także powiedzieć, że urządzenia mobilne nie obsługują stron HTML. Wystarczy że strona jest za duża, za szeroka, za wysoka i już na większości urządzeń mobilnych wyświetli się komunikat, iż strona jest za duża. Dodatkowo przeglądarki urządzeń mobilnych bardzo często nie obsługują JavaScript czy Ajax, więc też można powiedzieć, że nie można uruchomić strony HTML na urządzeniach mobilnych. Jak dla mnie wynik 1:1.
Bez plugina w przeglądarce Flash się nie odtworzy
Jest to jedno z najczęstrzych stwoerdzeń przeciników Flasha. Proszę się natomiast zastanowić, co się stanie gdy wyłączymy obsługę Javascript w przeglądarce, która de facto także jest pluginem. Większość stron przestanie działać tak samo jak nie będzie działał Flash. Co gorsza ? nie wyświetli się nawet w większości przypadków komunikat o błędzie, gdyż w HTML takie zdarzenie należy oprogramować a wielku webmasterów o tym zapominało, bądź nie chciało pamiętać by oszczędzić sobie 30 min roboty. Dodatkowo jeszcze kilka lat temu (na systemach Win 95 i Win 98) aby wyświetlić wiele stron należało instalować tzw. Wirtualną Maszynę Java ? oprócz instalacji obsługi skryptów Java. Która działał niezależnie od tego czy przeglądaliśmy strony czy nie ? stale obciążając procesor. Nie można zatem określać przydatności technologii na podstawie konieczności doinstalowania czegoś, tym bardziej, że obecnie jest to proces niemalże zautomatyzowany.
Oprogramowanie do tworzenia we Flashu jest bardzo drogie
Istnieją różne typy oprogramowania do tworzenia stron we Flash'u tak jak i w HTML'u. Są droższe i tańsze zarówno dla jednej technologii jak i drugiej. Obie strony można także napisać w notatniku i uruchomić za darmo. Tak, tak, stronę flash?ową można napisać w notatniku i skompilować za darmo na stronie Adobe.
Przejdę teraz do przeciwników HTML'a
HTML nie ma możliwości odtwarzania filmów
Ma taką możliwość. HTML miał możliwość odtwarzania filmów i dźwięku jeszcze przed pojawieniem się Flasha.
HTML nie ma możliwości odtwarzania dźwięków
Jak powyżej
Wyświetla się inaczej na różnych przeglądarkach internetowych
Spora część stron internetowych w HTML'u rzeczywiście wyświetla się różnie na różnych przeglądarkach, ale jest to wina programistów a nie samego języka. Zachowując standardy W3C, oraz znając błędy w przeglądarkach ? głównie IE - jesteśmy w stanie stworzyć stronę, która wygląda niemal identycznie w każdej przeglądarce.
W HTML'u nie można tworzyć animacji
Przy pomocy języka Javascript Można tworzyć animacje. Jest to jednak czaso i pracochłonne tak jak we flashu pracochłonne jest stworzenie struktury bazującej na URL'ach. Po prostu HTML został stworzony do tworzenia dokumentów a Flash do animacji. Dwie technologie o różnych zastosowaniach, ale w każdej można je zaimplementować.
W HTML'u nie można tworzyć gier.
Z powodzeniem można tworzyć gry internetowe w HTML'u. Są to oczywiście inne gry. Np w HTML łatwiej stworzyć grę turową / strategiczną / tekstową a we Flashu ławiej storzyć grę dynamiczną, przygodową, czy łamigłówkę. W zależności od rodzaju gry dana technologia jest lepsza lub gorsza, ale w każdej da się gry wykonać.
Podsumowanie
HTML nie ma możliwości odtwarzania filmów
Ma taką możliwość. HTML miał możliwość odtwarzania filmów i dźwięku jeszcze przed pojawieniem się Flasha.
HTML nie ma możliwości odtwarzania dźwięków
Jak powyżej
Wyświetla się inaczej na różnych przeglądarkach internetowych
Spora część stron internetowych w HTML'u rzeczywiście wyświetla się różnie na różnych przeglądarkach, ale jest to wina programistów a nie samego języka. Zachowując standardy W3C, oraz znając błędy w przeglądarkach ? głównie IE - jesteśmy w stanie stworzyć stronę, która wygląda niemal identycznie w każdej przeglądarce.
W HTML'u nie można tworzyć animacji
Przy pomocy języka Javascript Można tworzyć animacje. Jest to jednak czaso i pracochłonne tak jak we flashu pracochłonne jest stworzenie struktury bazującej na URL'ach. Po prostu HTML został stworzony do tworzenia dokumentów a Flash do animacji. Dwie technologie o różnych zastosowaniach, ale w każdej można je zaimplementować.
W HTML'u nie można tworzyć gier.
Z powodzeniem można tworzyć gry internetowe w HTML'u. Są to oczywiście inne gry. Np w HTML łatwiej stworzyć grę turową / strategiczną / tekstową a we Flashu ławiej storzyć grę dynamiczną, przygodową, czy łamigłówkę. W zależności od rodzaju gry dana technologia jest lepsza lub gorsza, ale w każdej da się gry wykonać.
Podsumowanie
Podsumowując zarzuty uznane przeze mnie za fakty:
Flash:
- Flash to niepotrzebne rozpraszające animacje nie wnoszące nic do strony
- Flash nie jest dostępny dla osób niewidomych
HTML:
- HTML to nuda i nic się nie dzieje na stronie
Jak widać oprócz aspektu gustu użytkownika, Flash ma wg mnie jedną wadę ? nie jest w pełni dostępny dla osób niepełnosprawnych.
Teraz napiszę kilka zdań za które przez pewne osoby mógłbym zostać zlinczowany.
W Polsce około 1% to osoby z poważnymi zaburzeniami widzenia, zakładając, że 1% z tych osób to osoba niewidoma, to 1 na 10 000 osób jest osobą niewidomą, chociaż i tak wydaje mi się to bardzo zawyżone. Należy założyć, że osoby niewidome zdecydowanie rzadziej korzystają z komputera w tym internetu niż osoby widzące. Zatem szacunkowo można stwierdzić, że 1 na 100 000 osób odwiedzających Twoją stronę to osoba niewidoma, czyli nie mająca dostępu do kontentu FLASH.
Zatem problem dostępności dla osób niepełnosprawnych pozostawiam do oceny przez Państwa.
Jest jednak jeden problem zarówno z technologią Flash jak i z technologią HTML wykorzystującą Javascript.
Wiele firm ? głównie większych ? prowadzi dziwną politykę, w której administratorzy komputerów wyłączają obsługę zarówno Flash'a jak i Javascript. Powoduje to niestety iż prawktycznie wszystkie strony nie fuknconują w 100% poprawnie na komputerach tych pracowników.
Oczywiście osoby te zawsze mogą odwiedzić Twoją stronę w domu po powrocie z pracy, ale nie uczyni tego każdy. Jest to pewna strata. Nasze statystyki, które przeprowadzialiśmy na podstawie odwiedzin na naszej stronie oraz stronach kilku naszych klientów, ujawniły, że problem jest rozłożony praktycznie równomiernie.
Ok 1% użytkowników ma wyłączoną obsługę Flasha i tyle samo użytkowników ma wyłaczoną obsługę Javascript.
Jeżeli mielibyśmy porównywać, to wynik jest taki sam i nie powinien odgrywać większej roli w tych zmaganiach.
Jednak muszę przyznać w tym wypadku punkt dla HTML'a ponieważ można stworzyć stronę bez użycia Javascript a co za tym idzie strona taka będzie dostępna dla tego 1% osób z wyłączoną obsługą JavaScript.
Pozostają zatem praktycznie tylko aspekty gustu oraz powyższego punktu dla HTML'a, który w całościowym porównaniu technologii wg mnie nie ma większego znaczenia.
To jaką technologię wybrać, zależy zatem tak na prawdę od tego do jakich Klientów skierowana jest Twoja oferta na stronie internetowej.
Określenie grupy docelowej jest bardzo istotne z punktu widzenia wykorzystania technologii.
Do młodych osób będą przemawiały wszelkie formy innowacji, twórczości, dynamiki, dźwięku, filmu, animacji, nietypowej nawigacji itp.
Do osób starszych między 35-50 będzie przemawiało bardziej estetyka strony, czytelność oraz stabilność.
Osoby powyżej 50 roku życia stanowią nadal ogromną mniejszość wśród internautów, ale także są celem niektórych handlowców i usługodawców. Dla nich zwykle grafika nie ma żadnego zanczenia ? byle litery były duże i czytelne i nie było zbyt wielu animacji na stronie internetowej.
Wybór technologii także zależy od samego produktu bądź usługi, którą będziemy oferować.
Nawet jeżeli odbiorcą są osoby starsze, często przedstawienie produktu w 3D, interaktywny schemat działania urządzenia pokazany w technologii Flash może być kluczowy do podjęcia decyzji o kupnie Twojego produktu.
W zależności od tych dwóch czynników, czyli: odbiorca i oferowany produkt, określa się jaką technologię wybrać Flash czy HTML.
Odpowiedź na to pytanie pozostawiam Tobie, chyba że chciałbyś zostać naszym Klientem, wtedy pomożemy Ci w wyborze najodpowiedniejszej technologii dla Twojej strony internetowej.