Есть ли смысл в использовании платформы Silverlight? - PullRequest
6 голосов
/ 22 апреля 2009

У меня три недели на разработку приложения Silverlight 3 LOB, и я решил использовать Entity Framework, RIA Services и шаблон MVVM.

Теперь я смотрю на весь клей. Я проверяю поведение, ICommand, свойства зависимости, IoC и т. Д.

На момент написания этой статьи существует несколько платформ для Silverlight.

Silverlight.FX
Сильверстоун
CSLA для Silverlight
Призма
Caliburn

Это необходимо?
У вас есть опыт работы с какой-либо из этих платформ?
Эти рамки все еще применимы для Silverlight 3?
Каковы плюсы и минусы работы с любой из этих платформ.

Честно говоря, я не так уж заинтересован в CSLA, так как мы не используем его сегодня, но я включил его для полноты.

Ответы [ 4 ]

4 голосов
/ 22 апреля 2009

Одна из вещей, которая по-прежнему отсутствует (что важно для MVVM) - это команда. Таким образом, вы будете использовать хотя бы часть того, что предоставляет сама среда.

Лично я не использую какие-либо сторонние фреймворки, но использую внутреннюю фреймворк компании, который предоставляет мне команды и имеет базовые классы для части ViewModel MVVM.

2 голосов
/ 04 мая 2009

Мне нравится Silverlight.FX от Nikhil, так как он включает в себя командование, mvvm и некоторые "забавные" предметы, такие как прокрутка колесика мыши. Prism также довольно хорош, и я думаю, что его система публикации / подписки на события является более мощной, чем команда Silverlight.FX. В целом, я считаю Prism немного громоздким (и не совсем уместным, если вы планируете создавать навигационное приложение SL3). Ninject - мой любимый на данный момент DI.

1 голос
/ 24 апреля 2009

У меня определенно есть личная предвзятость, основанная на том, что я делаю на работе, но функции, которые я нахожу супер полезными в любом проекте Silverlight ...

  1. Данные
  2. Аутентификация / Безопасность
  3. Триггеры / действия (чтобы большинство ваших просмотров было декларативным)
  4. Поведения (для инкапсуляции функциональности представления в повторно используемые компоненты, которые можно прикрепить к элементам управления)
  5. Просмотр модели / MVVM (для отделения вида от кода)
  6. Простой IoC - для добавления зависимостей в ваши модели представлений
  7. Эффекты и переходы

Если ваше приложение сложное / имеет несколько экранов ... 8. Навигация и, возможно, немного MVC

1 и 2 - Мы надеемся обратиться к .NET RIA Services.

Остальные, я пытаюсь предоставить реализацию через Silverlight.FX ... изначально как реализацию, которую люди могут использовать как есть или в качестве отправной точки, и со временем загнать их в платформу / SDK.

Что касается самого командования, это, безусловно, полезно, но, на мой взгляд, не обязательно, если у вас есть базовая функциональность связывания и способность связывать события с ванильными методами с помощью действий.

1 голос
/ 22 апреля 2009

У меня нет никакого опыта работы с этими платформами, но, основываясь только на YAGNI и новизне Silverlight 3 и RIA Services, я бы просто придерживался Silverlight 3 и RIA Services, пока вы не докажете, что у вас есть потребность в дополнительных рамках.

Я бы предположил (чистое предположение), что новые функции Silverlight 3 вместе с .NET RIA Services устраняют многие из тех же недостатков Silverlight, которые устраняют эти платформы.

...