Я на начальной стадии планирования проекта переписывания, и я выбираю между silverlight / silverlight oob / wpf. TL; DR в конце.
Это LOB-приложение, которое обрабатывает календари клиентов / клиентов / встреч. Не слишком сложно. Я самостоятельно исследую эти варианты в другом месте, но я решил спросить. Некоторые грубые начальные требования / предполагаемые проблемы:
Я должен быть в состоянии вызвать exe в системе с аргументами командной строки (sip-телефон).
Делает SL проблемой
База пользователей распределена, и я хочу максимально ограничить трафик, проходящий по проводам, и избежать некоторых неприятных проблем с параллелизмом
Я вижу, что это проблема с использованием WPF
Развертывание / обновление программного обеспечения должно быть очень простым . Некоторые пользователи очень нетехнические (см .: 70 лет, впервые за компьютером)
Теперь это не большая проблема с приложением ClickOnce, которое мы заменяем, и у меня есть контроль над машинами, на которых оно используется. Тем не менее, пользователям проще, если им даже не нужно нажимать кнопку «Установить». Я не знаю, как это делается с Silverlight OOB.
Компания планирует усиленное расширение через 12 месяцев, поэтому развертывание оборудования должно быть быстрым / простым. Идея состоит в том, чтобы подключиться к Интернету в новом месте, подключить несколько компьютеров и работать без необходимости в выделенных специалистах по ИТ или настройке сервера.
Делает SL привлекательным
Интеграция с другими сервисами (финансовое программное обеспечение, сервер asterix) не является непосредственной целью, но это конечная цель быть частью системы. Это делается намного проще / эффективнее, если для интеграции с этими вторичными службами настроен отдельный сервис, и ему не нужно передавать все эти данные по проводам.
Делает SL привлекательным
Создание нескольких «версий» - это окно. Я не знаю, каково это поддерживать версию silverlight + silverlight oob (если есть проблемы)
Может сделать WPF лучшим вариантом.
TL; DR: С моей точки зрения, приложение Silverlight имеет смысл для 90% пользователей - остальные 10% не могут его использовать, потому что им нужно запустить exe. Silverlight OOB может быть удачным промежуточным звеном, но в настоящий момент я не знаю, на что похожа модель его исполнения (есть ли еще концепция серверного кода? Если да, то это, возможно, было бы идеально), и я не знаю знать, как развертывание / обновление работает для него.