Такое множество возможных вариантов разработки под Windows богатой среды для пользователя неизбежно приводит к возникновению вопроса: "Какую технологию создания интерфейса пользователя выбрать для моего следующего приложения под Windows?" Конечно, ответ зависит от конкретной ситуации. Когда вы делаете выбор, то должны учитывать назначение каждой технологии.
WPF — это технология Windows, для которой необходимо наличие .NET Framework на клиенте. Она может работать как в песочнице безопасности браузера, так и в качестве полноценного приложения Windows. WPF следует использовать тогда, когда вам необходимо создать для пользователя богатую высокоэстетичную среду, когда вы хотите иметь низкие издержки инсталляции и обновлений и когда вам требуется распределенная система.
Технологии Silverlight требуется только встраиваемый модуль для браузера. Этот встраиваемый модуль работает на клиенте как мини-CLR. Таким образом, вы по-прежнему можете писать свой код на языке C# или VB и иметь доступ к некоторым элементам .NET Framework. Silverlight— это очень легкая кроссплатформенная версия WPF. Ее основные сильные стороны — это видео, анимация и звук (мультимедийные возможности). Считайте Silverlight альтернативой программного продукта Adobe Flash.
И наконец, Windows Forms также занимают определенное место в создании инсталлируемых бизнес-приложений, которые взаимодействуют с операционной системой, используют ресурсы клиента, подключаются к базам данных и т. д. Они предлагают стандартную рабочую среду пользователя для ввода данных, манипуляций с файлами, конфигурирования, а также соответствующие задачам решения. Их легко разрабатывать и обычно они не требуют большой дизайнерской работы.