czwartek, 21 sierpnia 2008

Kontakt

środa, 13 sierpnia 2008

Aplikacje RIA offline

Czasami padają pytania o uruchamianie aplikacji RIA w trybie offline. Można zrozumieć to jako uruchamianie aplikacji RIA na krążkach CD/DVD czy kluczach USB.

Jest kilka podejść:

  • Aplikacja Flash / Flex to nic innego jak plik SWF. Ale polityka bezpieczeństwa Flash Playera nie pozwala bez zgody użytkownika na działanie lokalnie czyli w sytuacji gdy użytkownik otworzy z CD/DVD stronę WWW z plikiem SWF to Flash Player potraktuje to jako działanie zagrażające użytkownikowi i nie pozwoli na ładowanie zawartości (tekstów czy grafiki) z krążka CD/DVD. W tej sytuacji użytkownik musi wejść do ustawień Flash Playera i ustawić to że dany plik SWF ma uprawnienia do pobierania zawartości lokalnej. Jedynym rozwiązaniem z wyjścia z danej sytuacji jest "upakowanie" całej zawartości do pliku SWF i zrobienie z tego projektora. Ale w większości sytuacji kontent jest trzymany w plikach zewnętrznych w tej sytuacji przeniesienie aplikacji RIA na CD/DVD wymaga innego podejścia
  • Ponieważ FlashPlayer jest "pobłażliwy" jak jest uruchomiony z serwera HTTP, to w tej sytuacji pozostaje zrobienie na nośniku serwera Apache i uruchamianie go w celu otwarcia aplikacji RIA. Takie działanie ma sens jak chcemy uruchamiać lokalnie całą aplikację RIA emulując działanie internetu. Można zainteresować się takimi pakietami jak Lighty2Go czy Server2Go, bądź PortablePython. To rozwiązanie ma słabość, z powodu obsługi bazy danych, która jest problematyczna (bo działania na bazie danych zapisują się w pamięci, a nie na CD czy na dysku użytkownika).
  • Inna koncepcja to uruchamianie debugera adl.exe z AIR SDK (osobiście raczej nie polecałbym takiego rozwiazania w aplikacjach RIA uruchamianych z CD/DVD), a lepiej już przegotować plik .air jako instalację i poprosić użytkowników, aby zainstalowali aplikację AIR u siebie lokalnie.
  • Inny pomysł to opakowanie kontrolki ActiveX FlashPlayera w program komputerowy. Inne rozwiązanie to osadzenie silnika Flash Playera w program komputerowy, tak jak to widać w Google Lively (za pomocą biblioteki F-IN-BOX). Czasami zastanawiam się, czy podobnie można opakować kontrolkę ActiveX Viewpoint Media Player w celu uruchaminiania aplikacji RIA ( jako pliku SWF Flex). Obecnie jednak preferowałbym tworzenie aplikacji RIA we Adobe Flex i uruchamianych z poziomu aplikacji w Adobe Director na nośnikach.