перейти от rich clsent (WPF) к веб-интерфейсу (приложение Silverlight) для многопользовательского приложения - PullRequest
0 голосов
/ 19 октября 2010

У нас есть многопользовательский прототип продукта в WPF, который отлично работает как прототип.Теперь мы хотим построить законченный продукт.

В нашем продукте есть сценарии, в которых 2-3 пользователям может понадобиться использовать одни и те же данные.Скажите, что один из нас редактирует, а другой пользователь просматривает непрерывные правки.Кроме того, всякий раз, когда пользователь изменяет общую версию, обновления должны передаваться всем остальным пользователям в том же элементе, и им необходимо обновить свою информацию.И это должно происходить без непрерывного опроса.

Есть ли какое-либо преимущество в разработке веб-продуктов, например в Silverlight.

Ответы [ 2 ]

2 голосов
/ 19 октября 2010

В этой ситуации у Silverlight нет абсолютно никакого архитектурного преимущества перед WPF.Ваши главные преимущества для Silverlight: 1) меньшее развертывание 2) кроссплатформенность и 3) более интегрированная работа в браузере.

Однако, с точки зрения разработчика, вы можете найти WPF лучше для разработки такого рода совместной работы.приложение, потому что у вас есть доступ к более широкому спектру сетевых возможностей.Silverlight имеет ограничения на доступ к TCP / UDP-портам и не имеет встроенных возможностей одноранговой сети , как WCF для .NET Framework.

В любом случае SilverlightПриложение для всех намерений и целей является клиентским приложением, на самом деле не более веб-приложением, чем WPF, за исключением случаев, когда речь идет о развертывании.

1 голос
/ 19 октября 2010

Peer to Peer (p2p) по сравнению с клиентом / сервером

Ваш вопрос действительно сводится к тому, как вы хотите спроектировать хранилище данных.

P2P: хотите ли вы, чтобы каждая копия приложения сохраняла полную копию данных и обменивалась обновлениями данных с другими клиентами? Это хорошо работает в среде локальной сети, но становится сложным через широкий Интернет. BitTorrent является хорошим примером приложения, которое делает это.

P2P, как правило, имеет более высокую производительность и меньшую стоимость, но его очень сложно реализовать. Вам понадобится сетевой транспорт p2p, такой как PeerChannel, и, скорее всего, механизм синхронизации, такой как Sync Framework, и некоторая форма структурированного локального хранилища данных, такого как SQLite.

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

Клиент / сервер имеет дополнительные издержки, связанные с тем, что на сервере всегда должен быть выделен выделенный сервер, и вам необходимо запрограммировать два приложения: клиентское и серверное. Silverlight или WPF хорошо подходят для клиентской части этого дизайна.

Если вы готовы принять вызов, разработка p2p-приложения может быть очень увлекательной, потому что есть много препятствий, которые необходимо преодолеть, и конечный результат, как правило, более эффективен. Это по существу потребует от вас использования WPF для получения необходимой вам поддержки библиотек / инструментов. Если вам нужно, чтобы что-то работало быстро, вы обнаружите, что инструменты, которые у вас есть, намного лучше поддерживают клиент / сервер, потому что именно так написано большинство приложений. Здесь и WPF, и Silverlight будут работать, но они являются лишь частью решения - вам также понадобятся серверные технологии, такие как SQL Server, ASP.NET, Azure или ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...