У меня есть разумный реальный опыт работы с обеими технологиями.
Основные плюсы и минусы на мой взгляд:
RIA Services
- Pro: разработка (намного) быстрее, даже без использования Entity Framework. Вы можете создавать ViewModels, возможно, отображать их с помощью AutoMapper и указывать атрибуты, необходимые для проверки / ввода данных / отношений. Это хорошая практика даже при использовании платформы сущностей.
- Con: A много накладных.
- Con: производительность снижается при отправке больших объемов данных (что-то вроде> 100 объектов)
WCF и общие библиотеки
- Pro: производительность относительно превосходна
- Con: Время разработки / ремонтопригодность не так хорошо, как у RIA Services.
- Con: Нельзя использовать привязку данных также без DomainDataSource (даже при использовании MVVM).
Обновление
Для части привязки данных: RIA Services позволяет использовать элемент управления DomainDataSource в Silverlight. Это обеспечивает простую (асинхронную) загрузку с привязываемыми свойствами для его состояния (занят и т. Д.), Что упрощает загрузку анимаций и общие улучшения пользовательского интерфейса. Конечно, это можно сделать без этого элемента управления, но это помогает.
Что касается производительности сервисов RIA, я не могу найти пример (кто-то здесь сказал, что они потеряли несколько месяцев времени на переписывание доменных сервисов на обычные сервисы WCF из-за времени ответа, которое не могло быть выполнено).
Еще одно замечание о Silverlight (бизнес-приложении): попробуйте увеличить ваш браузер до 110% или 90%, с некоторым произвольным процентом. Шрифты / компоненты будут размыты из-за способа рендеринга. Я подтвердил это на нескольких машинах / конфигурациях и не нашел решения / обходного пути для этого. Привязка к пикселям устройства здесь совсем не помогает.
Также, прежде чем принять решение, возможно, стоит рассмотреть MVC3 с JQuery и HTML5 в качестве опции для вашего решения. Система HTML-разметки может быть не так хороша, как Silverlight, но есть такие преимущества, как кроссплатформенная и мобильная поддержка.