Wygląda na to że na razie w dobie aplikacji AJAX Flash przejdzie do historii z powodu:
- że roboty nie indeksują zawartości plików SWF
- że są kłopoty z zapewnieniem dostępności treści w plikach SWF
- nie potrafi dobrze współpracować z aplikacjami AJAX
- mało kto tworzy aplikacje Flash z zasadami uzyteczności
- inwestycja w poznawanie Flash i programowania w ActionScript jest kosztowna
Obecnie Flash wygrywa na polu multimedialnym jako doskonały format do transmisji danych audio/video przez internet. Mozna zauważyć że większość ludzi przegladajać internet woli oglądać i słuchać niż czytać.
Słabą stroną aplikacji AJAX jest brak pracy w trybie offline. Dzięki SharedObject w Flash API można zapewnić prace w trybie offline. Kolejną słabą stroną AJAX jest duże obciążenie serwerów bo muszą dostarczać dane małymi porcjami. Natomiast w Flash 9 API dodano możliwość kompresji i dekompresji danych. Pozwala to na załadowanie raz duzej porcji danych a potem w razie potrzeby uzupełniać je. Cięzar aplikacji AJAX bazuje na po stronie serwera. Natomiast w przypadku aplikacji Flex 2 serwer zajmuje sie tylko dostarczaniem danych.
W tradycyjnym ujęciu Model pobiera dane dla Kontrolera a on przesyła do Widoku
Widok przekazuje je do systemu szablonów których zadaniem jest wyświetlenie po stronie przeglądarki.
Tworzenie aplikacji AJAX zakłada że Kontroler będzie obsługiwał wiele ządań a układem tego co jest na stronie przejmie przglądarka czyli przeglądarka przejmuje rolę Widoku.
Natomiast w przypadku aplikacji Flash / Flex może być tak że tworzy się główny plik SWF pelniący rolę Kontrolera, który pobiera mniejsze pliki SWF pełniące rolę Widoków natomiast po stronie serwera działa dalej ten sam wzorzec tylko że zmodyfikowany o to że Widok przesyła do aplikacji Flash/SWF dane w postacii skompresowanego XML bądz binarnej AMF (dla dużych aplikacji sieciowych daje to korzyść że generuje mniejszy ruch w sieci).
Zarzut że strony we Flashu nie są indeksowane przez wyszukiwarki jest półprawdziwy. W pliku SWF możesz przechowywać metadane tekstowe z których roboty sieciowe potrafią wyciagnac odpowiednią treść. Z drugiej strony zawsze można przygotować zawartość serwisu WWW który będzie funkcjonował równolegle do serwisu Flash / Flex 2.
Kolejna sprawa to dostępność aplikacji Flash / Flex. Jest w Flash API zbiór klas odpowiedzialnych za to że kompomenty interfejsu użytkownika stają się dostępne dla użytkowników z róznymi dysfunkcjami. Jest też API pozwalajace decydować o wydruku takiej aplikacji. To że nie sa one masowe stosowane wynika z częsci z niewiedzy o tym i jak postrzegania Flasha jako aplikacji do animacji czy obsługi audio i wideo, niż jako narzędzie programistyczne do tworzenia interfejsów aplikacji użytkownika.
Współpraca Flasha z aplikacjami AJAX była problematyczna ze względu na wykorzystanie przez Flash Playera formatu AMF do tego celu. Wymagało to stosowania Flash Remoting. Natomiast nie było łatwe przekazywanie danych z aplikacji AJAX do plików SWF. Rozwineły się 2 podejścia: bezpośredni kiedy dane trafiają do pliku SWF i pośredni kiedy to przeglądarka przekazuje dane uzyskane z AJAX do pliku SWF. Pierwszy sposób jest realizowany przez FABridge a drugi przez AFLAX.
Użyteczność aplikacji realizowanych w Flash byłaby nawet większa gdyby programiści potrafili dobrze wdrażać mechanizmy sprawiające że nawigacja staje się przyjemnością nawet gdy użytkownikowi zawiesi się myszka. W ActionScript 3 mamy obsługę wyrazeń regularnych co pozwoli na budowanie inteligentych formularzy sprawdzajacych zawartość pół. Mało kto wie, ale we Flash można realizować aplikacje wykorzystujące przyciski Wstecz i Dalej przegladarek internetowych.
Pisanie aplikacji we Flash staje się coraz bardziej złożone, bo rośnie coraz bardziej API. Zmiany pomiędzy AS a AS2 są spore ale pomiędzy AS2 a AS3 jeszcze większe. Wynika to że zastosowano nową maszynę wirtualną we Flash Playerze 9. Gdybym teraz miał wybierać naukę programowania ActionScriptu to postawiłbym na najnowszą wersję. Dlaczego? Bo kompilator jest za darmo i dużo wiecej rzeczy mozna zrobić w nim niż w poprzednich wersjach.
A co z uzytkownikami Linuksa? Niech poczekają, mam nadzieję, że Adobe wypuści Flash Playera 9 dla Linuksa. Zresztą oni mogą już wykorzystywać kompilator z Flash 2 SDK, który jest aplikacją Java.
czwartek, 3 sierpnia 2006
Flash Player 9 kontra przeglądarki
Autor: Michał Małaj o godzinie 11:08
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz