2010-04-19 16 views
6

Jaki jest najlepszy sposób na uporządkowanie modułów funkcjonalnych w projekcie flex? Widziałem, jak niektórzy ludzie umieszczali wszystkie moduły w jednym stosie widoków, więc interfejs aplikacji jest ładowany tylko raz, ale gdy aplikacja się powiększy, cały skompilowany plik swf będzie bardzo duży. Jeśli umieścimy pliki SWF na różnych stronach, przekazujemy parametry żądania za pośrednictwem żądania HTTP, straciliśmy korzyści z usług elastycznego RPC, powolne ładowanie i nie widzimy lepszych w porównaniu do php, asp, jsp ... jaka jest najlepsza praktyka zorganizować architekturę front-end?Flex architektura projektu?

Odpowiedz

2

To trudne pytanie i zależy od aplikacji. Od pewnego czasu borykam się z tym problemem, więc chciałbym zobaczyć również inne podejścia.

Pod względem architektury zazwyczaj tworzę aplikację "ramową", która zajmuje się ładowaniem modułów i zwykle również ich wyświetlaniem. Ta ramka zwykle obsługuje również problemy takie jak uwierzytelnianie. Nie jest ważne, czy to jest widok, czy inne rozwiązanie. Ale to, czego zwykle nie chcesz, to wszystko zapakowane w jeden gigantyczny SWF, ponieważ odtwarzacz Flash będzie musiał załadować całą zawartość, zanim faktycznie wyświetli cokolwiek.

Powiązanym problemem, który zwykle pojawia się podczas projektowania aplikacji, jest obsługa "nawigacji" w wynikowej aplikacji. Zwykle kończę na tworzeniu jakiegoś zdarzenia nawigacyjnego, które zostanie częściowo obsłużone przez ramkę (moduły ładujące) i/lub rzeczywiste moduły. Ale znowu, to tylko moje zrozumienie. Ciekawi mnie inne podejście.

1

Moduły są ładowane na żądanie. Tak więc rozmiar macierzystego pliku swf nie powinien zależeć od liczby modułów. Jednak rozmiar używanej pamięci zwiększy się podczas ładowania modułów - jeśli jest to problem, możesz spróbować wyładować je (nie jest to łatwe zadanie, ale możesz to zrobić). Tak więc zachowałbym podejście do stosu widoków.

0

Jakiś czas temu współtworzyłem framework dla dużych aplikacji Flex zwanych Anvil. Projekt jest dość martwy, ale wzorce architektoniczne, które stosowaliśmy w programie Anvil, są nadal istotne w przypadku dużych aplikacji. Możesz przeczytać więcej o architekturze Anvila here. Być może warto też wypróbować numer UcompOS.