2008-09-18 9 views

Odpowiedz

6

Najlepsze rozwiązanie, jakie znalazłem w tworzeniu aplikacji Flex i AIR z tego samego źródła, to wykorzystanie projektu biblioteki rdzeniowej dla prawie całego kodu, z oddzielnymi małymi projektami dla aplikacji Flex i AIR.

Istnieją dwie kluczowe koncepcje, które sprawiają, że jest to bardzo potężne i łatwe w utrzymaniu, pozwalając nie tylko na dwie aplikacje, ale także na wiele "wydań", jeśli jesteś tak skłonny.

  1. Moduły: - Jeśli aplikacja rdzeń jest faktycznie moduł (lub moduł, który mnóstwo innych modułów) będziesz mógł łatwo tworzyć pośredniczące Flex i AIR aplikacje, które są w zasadzie tam, aby ustawić właściwości projektu, klasy referencyjne dla komunikacji między modułami , a następnie po prostu załaduj podstawowy moduł aplikacji za pomocą modułu ładującego ModuleLoader.

  2. Fabryka Przedmioty: - Gdy istnieje rzeczy chcesz zrobić na pulpicie aplikacji AIR że nie może zrobić w aplikacji Flex, lub przypadku, gdy chcesz coś do pracy inaczej przez aplikacje , obiekt fabryczny, który tworzy instancję klasy projektu , jest świetnym sposobem na zrobienie tego . na przykład można wywołać funkcję "zapisz" , która dla środowiska AIR zapisuje w systemie plików, ale w przypadku wywołań Flex usługa sieci Web.

    Wystarczy popatrzeć na znakomitym artykule Todd Prekaski za Flex DevNet na Building Flex and Adobe AIR applications from the same code base o tym, jak to zrobić.

Po utworzeniu projektu Flex Library, w którym zamierzasz utworzyć główny moduł, utwórz projekty aplikacji Flex i AIR. We właściwościach dwóch projektów aplikacji dodaj katalog src projektu biblioteki do ścieżki budowania elastycznego. W ustawieniach projektu należy również dodać moduły do ​​sekcji Moduły Flex, ustawiając opcję optymalizacji dla projektu.

+0

Łącze nie działa z artykułem Flex DevNet. Czy ktoś ma zaktualizowany link? – Alex

+1

Dlaczego tak wiele osób nie rozumie znaczenia stałych adresów URL? Nawet Adobe, sprzedając produkty do tworzenia aplikacji internetowych, regularnie kończy się niepowodzeniem! – davr

+0

Oto działający link: http://www.adobe.com/cn/devnet/air/flex/articles/flex_air_codebase.html – jamix

5

Nie można mieszać zarówno środowiska AIR, jak i Flex w tym samym projekcie Flex Builder, ale można udostępniać kod. Oto, jak ...

  1. Zwykle tworzysz projekt oparty na technologii Flex, jak zwykle .
  2. Utwórz drugi projekt oparty na środowisku AIR.
  3. W drugiej aplikacji przejdź do projektu -> właściwości.
  4. Wybierz opcję "Flex build path".
  5. W "Ścieżce źródłowej" dodaj folder , który zawiera źródło z pierwszego projektu opartego na Flex opartego na modelu .

Teraz oba projekty współdzielą kod z projektu flex.

Należy uważać, aby nie używać interfejsów API AIR tylko w kodzie, który zamierzasz udostępniać między obiema aplikacjami.

1

Jednym ze sposobów jest umieszczenie znacznej części aplikacji w komponencie opartym na grupach w bibliotece.

Zarówno aplikacje Flex, jak i AIR mogą osadzać ten komponent w swoim oknie.

Jeśli potrzebujesz niestandardowego kodu, twój komponent Group zaakceptuje obiekt interfejsu, który ma wszystkie metody specyficzne dla platformy (loadFile, saveFile, itp.). Każda aplikacja wstrzykuje obiekt, który odpowiednio implementuje te metody.

Pracowałem nad produktem, który wstrzyknął całą warstwę dostępu do danych lokalnych (do bazy danych SQLite), a podstawowa aplikacja nie miała pojęcia, czy działa w przeglądarce, czy na komputerze (połączenie lub rozłączenie).

Cheers

Powiązane problemy