Хотя мне нравится Silverlight как технология, если вы работаете в социальной сети, я думаю, вам нужно стремиться к максимально широкой аудитории. Выбирая Silverlight, вы ограничиваете своих пользователей теми пользователями Windows и MacOS, у которых нет особых ограничений или иррациональной ненависти к Silverlight.
Так что используйте ASP.NET MVC.
Если, однако, вы делаете , выбираете Silverlight - теоретически чистое развертывание Silverlight должно быть быстрее, чем развертывание ASP.NET MVC:
- Хотя у вас есть (достаточно большой) размер приложения silverlight, оно не должно меняться между выпусками и должно кэшироваться клиентом.
- У вас есть преимущество в том, что данные, передаваемые между клиентом и веб-службой, с которыми он общается, являются необработанными данными, а не полной страницей (хотя это спорный вопрос, если вы в противном случае создавали бы сайт с большим количеством JavaScript и динамически передавали JSON). )
- Silverlight заставляет вас использовать асинхронные вызовы, поэтому вы не попадете в ситуации блокировки пользовательского интерфейса, которые могут замедлить взаимодействие.
Однако те же правила все еще применяются в отношении минимизации количества вызовов веб-службы - если вы всегда вызываете кучу методов веб-службы вместе, рассмотрите возможность их объединения в один вызов.
Кроме того, если вы слишком увлекаетесь анимацией, на медленных машинах это может быть слишком длинным.