2009-10-22 1 views
6

Итак, я нахожусь на доказательстве концепции для довольно большого приложения LOB. Приложение будет развернуто на многих настольных компьютерах (200+) во многих организациях. Он будет содержать множество экранов типа CRUD (около 100), а также некоторые довольно сложные процессы, такие как создание счетов и интеграция финансовой книги. Он также будет содержать множество отчетов.Является ли Silverlight подходящим для большого приложения LOB.

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

  • PRISM
  • CSLA
  • NHibernate

Все, что отсутствует, так это уровень представления и поэтому мой вопрос таков:

is Silverlight 3 a подходящую технологию для создания такого большого приложения?

Первоначально я был обеспокоен отсутствием истории отчетности для Silverlight, но теперь есть доступная проблема commerial reporting tool. Итак, теперь мне интересно узнать размер моего приложения и как будет выглядеть производительность при попытке загрузить его в браузере. С 100+ «экранами» и полной загрузкой отчетов он не будет легким любым способом.

Является ли Silverlight 3 разумным вариантом или я должен смотреть на WPF вместо этого? Основной причиной SL3 была проблема развертывания большого количества настольных компьютеров во многих организациях.

ответ

7

Я бы предложил Silverlight 3.0 для приложения LOB, если вашему приложению требуется следующее.

  • Богатого интерфейс клиента
  • офф-лайн/иногда -связный сценарии
  • способность имитировать модель веб-развертывания

Пока частота ваших релизов является разумной, то Я думаю, что эти преимущества перевешивают побочные эффекты большой начальной загрузки.

С другой стороны, я бы пересмотрел с помощью Silverlight 3.0, если выполнено одно из следующих утверждений.

  • Вам необходимо взаимодействовать с устройствами USB, такими как сканеры.
  • Вам необходимо взаимодействовать с другими приложениями на клиенте.

Если вам гарантирован стандартный клиент, вы можете изучить приложение Windows «Click-Once». Он преодолевает вышеуказанные ограничения, не связан «песочницей», и вы все равно можете использовать модель веб-развертывания.

+1

Я хотел бы также добавить, как только клиент для Windows !! как первое условие. –

+1

Silverlight работает на MacOS X тоже. Для Linux вы можете взглянуть на Moonlight –

4

Мы делаем приложение SL3 для более 5000 пользователей, но с меньшим количеством экранов (30+), и мы можем это сделать. Мы также выпускаем приложение с 4 экранами для такого же количества пользователей. Если вас беспокоит производительность загрузки, вы можете сделать две вещи:

  1. Recompress XAP с чем-то приятным, например 7zip - это дает гораздо лучшие результаты по сравнению с собственным компрессором.
  2. Разделите приложение в отдельных приложениях SL3 и загрузите соответствующие детали по требованию.
2

Чтобы уменьшить первоначальное приложение, вы также можете загружать модули XAML (даже если это усложняет ситуацию). Как правило, пользователи не возражают против времени загрузки, если приложение имеет хороший ответ, когда вы работаете с ним (и это должно соответствовать SL3 красиво). Возможно, другой альтернативой будет .net с ajax и SL3 для интерфейса, где это абсолютно необходимо.

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

0

Также учитывайте, что среда выполнения Silverlight доступна только для Windows и Mac, поэтому забудьте о Silverlight, если вы хотите, чтобы ваше приложение можно было использовать в браузере, скажем, в ящике Linux.

(Да, я знаю, что есть Moonlight. Но я бы не ставил свои яйца на этой корзине, если по какой-то неясной причине Microsoft решит принять участие в этом проекте.)