2010-11-10 10 views
6

Myślę, że Silverlight 4.0 byłby dobrym wyborem do stworzenia naszej aplikacji biznesowej.Czy aplikacja Silverlight zajmie zbyt wiele czasu, aby załadować moją aplikację biznesową?

Jednak jedną częścią, której się boję, jest ładowanie. Jeśli rozumiem to poprawnie, Silverlight kompiluje WSZYSTKIE strony w jeden plik binarny, który jest ładowany na kliencie w czasie ładowania. Teraz wystarczy tylko kilka stron, ale jeśli dojdę do setek stron, czy ten czas ładowania będzie bardzo długi? Kiedy patrzę na przykłady na Infragistics i Telerik, zajmują one dobre 10-15 sekund, aby załadować tylko kilka przykładów. Uważam to za niedopuszczalne.

Czy istnieją sposoby obejścia tego?

Odpowiedz

0

Po pierwsze - co jest prawdopodobne uwędzić rozmiar XAP są importowane DLL i wszelkie aktywa własne (duże zdjęcia itp.) Więc jeśli masz stosunkowo jednorodną stronę, opartą na tym samym wyglądzie/szablonach, dodanie nowych stron nie zwiększy ogólnego rozmiaru, ponieważ potrzebne komponenty są już w XAP, a dodatki będą składać się głównie z tekstu.

Oczywiście, jeśli nowe strony mają elementy sterujące funkcjonalnością/użytkowaniem lub komponenty, które wymagają dołączenia dodatkowych bibliotek dll, to będzie to ważenie, ale kiedy mówimy o jednej aplikacji, która może wzrosnąć do setek stron Zakładam, że będą one nieco spójne.

Aplikację Silverlight można również dynamicznie ładować w razie potrzeby. Jeśli możesz oddzielić treść i/lub deskryptory/zasoby treści od kodu, powinieneś sprawdzić, czy można je zapisać w bazie danych lub innym repozytorium i pobrać tylko wtedy, gdy jest to potrzebne.

Możliwe jest również dynamiczne ładowanie innych xaps w czasie pracy, co pozwala początkowo na załadowanie niewielkiego obciążenia początkowego, a następnie udostępnienie innych na żądanie, a tym samym rozłożenie czasu ładowania na podstawie wymagań użytkownika podczas sesja".

4

Tak, to rzeczywiście problem. Ale pliki binarne (pliki xap, które są tak naprawdę tylko zipem biblioteki DLL) są obsługiwane za pośrednictwem standardowego HTTP, więc z pewnością można je buforować (jak można konfigurować za pośrednictwem serwera WWW). Pierwsze pobranie może zająć 15 sekund, ale wszystkie kolejne ładunki powinny zasadniczo nie mieć czasu pobierania (chyba, że ​​wydasz aktualizację).

Ponadto, przykłady Telerik mają odniesienie do wszystkich ich bibliotek DLL i można wyeliminować te, których nie potrzebujesz w swoim własnym projekcie w celu zmniejszenia ogólnego rozmiaru.

Istnieje kilka produktów i technik dodanie dodatkowej kompresji do xaps (ponieważ są one tylko pliki zip naprawdę)

http://www.google.com/search?q=silverlight+xap+compactor.....

myślę Telerik oferuje Jednym z takich narzędzi zbyt.

Wreszcie, w wersji 4.0 można ustawić niektóre biblioteki systemowe do ładowania na żądanie zamiast z góry, co może poprawić czas pobierania (ale ja osobiście tego nie używałem) - -to jest we właściwościach projektu.

+0

Odnośnie narzędzia Telerik: Zakładam, że mówisz o urządzeniu Telerik Assembly Minifier.Patrzyłem na to trochę przed chwilą, zaintrygowane tym imieniem, ale myślę, że to tylko "zminimalizuje" biblioteki Telerik. Tak jak w przypadku korzystania z biblioteki sterującej Telerik, zminimalizuje ona tę bibliotekę tak, aby zawierała tylko elementy sterujące (Telerik), które faktycznie były używane w aplikacji, zamiast być ogólnym minifizerem dll, który zrobiłby coś podobnego do dowolnej biblioteki dll zawartej w xap. – d7samurai

+0

Tak, to ten, o którym myślałem ... zapomniałem o tym. Jest jeszcze jeden produkt, o którym pamiętam ... ah, oto on: http://www.componentone.com/SuperProducts/XAPOptimizer/ – Jeff

Powiązane problemy