2010-06-02 6 views
0

У меня есть идея создать простую онлайн-версию Microsoft Visio. Приложение будет построено с использованием silverlight capabilties. Люди смогут проектировать блок-схемы, похожие на то, как они работают в Visio, и они смогут одновременно сотрудничать и работать над дизайном.Пропускная способность для приложений Silverlight

Теперь мне нужно получить представление о пропускной способности, которую может потреблять такое приложение. Я не уверен, как работает Silverligt, поэтому мне нужно понять, может ли такое приложение быть построено таким образом, чтобы экономически выгодно продавать такой продукт в программном обеспечении в качестве модели обслуживания.

ответ

0

Вы должны счет для двух расходов пропускной способности:

1) приложение Silverlight

Ваши пользователи будут загружать Silverlight приложение (файл XAP), когда они начинают его. Эти файлы довольно компактны, в основном сжатые управляемые сборки, однако, если вы включите в свое приложение множество двоичных данных (например, изображений), это будет складываться.

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

Для вашего приложения вы также можете рассмотреть возможность установки приложения Silverlight в качестве приложения, отличного от браузера. Приложение должно быть отправлено только по сети при первой установке и при обновлении (обновление выполняется в фоновом режиме).

2) передача данных клиент-сервер

Это очень сильно зависит от вашего приложения. Для ориентированного на документ приложения, подобного тому, которое вы предлагаете, вы можете загрузить и сохранить весь документ с веб-сервера и на него. Если вы очень обеспокоены пропускной способностью, вы можете использовать свой собственный формат двоичной сериализации (например, протоколы Google Protocol), или вы можете использовать поверх любой из технологий, доступных в .NET Framework. Требования к пропускной способности будут увеличиваться, если ваши документы содержат большие объекты, такие как изображения.

Вместо передачи всего документа обратно на сервер вы можете вместо этого сохранять параллельные представления в документе как на клиенте, так и на сервере и только передавать операции обратно на сервер, когда пользователь манипулирует документом. Это более сложное решение, но, вероятно, будет лучше работать при обновлении больших документов. Вы можете использовать .NET RIA Services или любую другую .NET-клиент-серверную технологию для реализации этого.

В вашем случае я проигнорировал бы стоимость 1) и стоимость 2) будет одинаковой для любого клиентского приложения на базе .NET, то есть Silverlight не несет никакой дополнительной стоимости.

0

Я думаю, вы должны сначала построили приложение, а затем беспокоиться о ценах, если ваше приложение хорошо и ваши пользователи любят его, они будут платить любые разумные цены вы поставите использовать его :)