2010-11-10 1 views
6

Я думаю, что Silverlight 4.0 будет хорошим выбором для создания нашего бизнес-приложения.Будет ли Silverlight слишком долго загружать мое деловое приложение?

Однако, часть, которую я боюсь, является загрузкой. Если я правильно ее понимаю, Silverlight собирает ВСЕ страницы в один двоичный файл, который загружается на клиенте во время загрузки. Теперь все в порядке, всего несколько страниц, но если я дойду до сотен страниц, это время загрузки будет очень длинным? Когда я смотрю примеры на Infragistics и Telerik, они занимают хорошие 10-15 секунд, чтобы загрузить только эти несколько примеров. Я считаю это неприемлемым.

Есть ли способы обойти это?

ответ

0

Во-первых - что, скорее всего, раздувать размер XAP являются DLLs и любые ввезенные активы собственных (больших изображений и т.д.). Поэтому, если у вас относительно однородный сайт, основанный на одинаковом внешнем виде/шаблонах, добавление новых страниц не приведет к значительному увеличению общего размера, так как необходимые компоненты уже находятся в xap, а дополнения будут состоять в основном из текста.

Конечно, если на новых страницах есть функциональные возможности/элементы управления или компоненты, для которых требуется добавление дополнительных библиотек DLL, то это скажется на нем, но когда вы говорите о , одно приложение, которое может вырасти до сотен страниц , Я предполагаю, что они будут несколько согласованными.

У вас также может быть приложение Silverlight, при необходимости динамически загружающее содержимое. Если вы можете разделить содержимое и/или дескрипторы/активы содержимого с кодом, вы должны увидеть, можно ли хранить это в базе данных или другом репозитории и извлекать его только тогда, когда это необходимо.

Также можно загружать другие xaps динамически во время выполнения, позволяя сначала загружать легкую нагрузку xap, а затем приводить другие по требованию и тем самым распределять время загрузки в зависимости от того, что требуется пользователю во время сессия".

4

Да, это действительно проблема. Но двоичные файлы (файлы xap, которые на самом деле являются только zip-файлами) подаются через стандартный HTTP, поэтому их можно, конечно, кэшировать (как можно настроить через ваш веб-сервер). Таким образом, первая загрузка может занять 15 секунд, но все последующие загрузки должны быть в основном без времени загрузки (если вы не выпустили обновление).

Кроме того, на примерах Telerik есть ссылки на все их DLL, и вы можете устранить те, которые вам не нужны в вашем собственном проекте, чтобы уменьшить общий размер.

Есть несколько продуктов и методы для добавления дополнительного сжатия вашего xaps (так как они просто пронестись файлами на самом деле)

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

Я думаю, что Telerik предлагает один такой инструмент тоже.

Наконец, в 4.0 вы можете установить определенные системные dll для загрузки по требованию, а не спереди, что может улучшить время загрузки (но я лично не использовал это) - это в свойствах проекта.

+0

Что касается инструмента Telerik: Я предполагаю, что вы говорите о Miner для сборки Telerik.Я смотрел на это некоторое время назад, заинтригованный этим именем, но я думаю, что это будет только «минимизировать» библиотеки Telerik. Как и при использовании библиотеки управления Telerik, она уменьшит эту библиотеку до тех пор, пока она не будет содержать только тели (Telerik), которые вы фактически использовали в своем приложении, вместо того, чтобы быть универсальным dll-минификатором, который будет делать что-то похожее на любую DLL, включенную в XAP. – d7samurai

+0

Да, это тот, о котором я думал ... забыл об этом. Есть еще один продукт, который я помню, увидев ... ах, вот он: http://www.componentone.com/SuperProducts/XAPOptimizer/ – Jeff