Что касается Silverlight, я расскажу о своем опыте до сих пор. (NB: перечитав это, это звучит немного негативно, но я указываю на недостающие функции. В целом мне нравится Silverlight, богатый пользовательский интерфейс в браузере с использованием C#? Rocks).
Значительные различия в том, что нет правой кнопки мыши, поддержки колесика мыши, функции печати, и вы не можете открыть новое окно. Приложение OOB SL не может находиться в области уведомлений. Вы можете обрабатывать события мыши в javascript, но не хотите, чтобы ваше приложение перемещало OOB.
Команда SL также, похоже, слишком обеспокоена безопасностью, чтобы окутать ее пригодность к LOB (никаких новых окон, настроек доверия для локального доступа к системе в OOB, области уведомлений и т. Д.).
Некоторые из них делают приложение Silverlight похоже, что он не совместим с окнами. Подумайте о выделенном тексте, щелкните правой кнопкой мыши копию. Или нажмите правую кнопку мыши. Эти основные операции, которые многие люди используют, отсутствуют. Он также чувствует себя как чужой пользовательский интерфейс, например.вы инстинктивно идите, чтобы прокрутить сетку с помощью колеса мыши, и это не сработает. Этот материал работает в любой таблице в браузере, но не в SL.
Программирование мудрым, я не использовал WPF много, но насколько я могу судить, есть некоторые существенные различия в том, как вы должны атаковать некоторые проблемы.
Расширения разметки отсутствуют в SL. Он также имеет целую индексацию привязки, поэтому никаких мешков с недвижимостью без каких-либо трюков.
У вас нет триггеров, поэтому вам всегда нужно писать код для подключения событий (раздражая более динамические страницы)
. У него нет наследуемого стиля, кроме ImplicitStyleManager в наборе инструментов, который не соответствует задаче.
Так что для некоторых приложений большого размера это нормально, для других вам нужно перепрыгнуть через несколько обручей (например, если вы хотите настроить для клиента). Но это, безусловно, не очень хорошо для ВСЕХ приложений LOB.
Мое впечатление также в том, что SL еще не чувствует себя готовым, есть много мелочей. Например, datagrid разочаровывает (не автоматически растягивается, очень сложно подклассу), блок автозаполнения немного беспорядочен, система навигации немного неуклюжая, combobox/treeview трудно привязать (они действительно не разобрались, если вы хотите связать SelectedItem с другим объектом с itemsSource).
В целом, Silverlight почти там, все в порядке, пока вы готовы принять несколько ограничений и обманов.
Очень полезно, спасибо! – Pwninstein
2012 refresher: silverlight 5 теперь поддерживает надежные приложения, поддержку печати и другие интересные новые функции LOB. Да здравствует серебристый свет. http://stackoverflow.com/questions/7788099/silverlight-5-comprehensive-list-of-improvements-changes – felickz