@ Рэнди Миндер,
Рад слышать, что вы хотите использовать silverlight 3 для бизнес-приложений.
Я использовал для разработки линейки бизнес-приложений в ASP.NET в сочетании с javascript / AJAX. В настоящее время я занимаюсь разработкой своего первого бизнес-приложения Silverlight 3 и обнаружил, что Silverlight лучше в нескольких отделах. Ниже приведены «за» и «против», наблюдаемые мной ЛИЧНО .
Плюсы
Layout / Стайлинг (CSS)
Стили XAML + silverlight 3 очень гибкие и менее перегружены по сравнению с CSS. Я не дизайнер, и я ненавижу иметь дело с CSS. Но в случае с Silverlight мне очень понравилось создавать макет, макет и стиль. Конечный результат потрясающий. Это первое приложение, которое я разработал, имеет достойный и последовательный внешний вид. Надеюсь, вам также будет легче иметь дело с Silverlight XAML.
Богатое взаимодействие и поддержка языков
Я использовал Ajax, javascript для создания богатых возможностей взаимодействия, таких как динамическое заполнение некоторых данных, когда пользователь взаимодействует с пользовательским интерфейсом. Написание сложной логики пользовательского интерфейса в Javascript - это сложно. Хотя есть несколько хороших библиотек JavaScript, таких как Jquery, я думаю, что написать сложную логику пользовательского интерфейса в C # / VB.NET / F # намного проще, чем написать ее в javascript. Работа с богатыми интерактивными элементами управления в silverlight намного проще, чем с элементами управления javascript / ajax. Написание кода связи с сервером с помощью службы WCF или WCF RIA намного проще, чем с помощью вызовов ajax.
Совместимость браузера
Каждый браузер отличается от другого тем или иным способом, так как некоторые браузеры поддерживают что-то, а другие нет. Необходимость иметь дело с различиями браузера в javascript - это тоже боль. Silverlight как плагин не должен иметь дело с различиями браузера. Никаких проблем с разметкой движка тоже нет.
Анимация / мультимедиа
Конечно, с линейкой бизнес-приложений мы не будем использовать слишком много анимации / мультимедиа. Однако мы можем использовать небольшие анимации, такие как всплывающее меню, скользящие элементы управления, переходы затухания при изменении данных и т. Д. Их очень легко реализовать в silverlight, чем с asp.net/javascript
Проверка
Поддержка валидации в silverlight - это здорово, вы можете написать больше логики валидации за меньшее время.
Всплывающие сообщения
Всплывающие сообщения очень неуклюжи для работы в ASP.NET, и иногда мне нужно хранить некоторую информацию в скрытых полях для подачи текста для всплывающих сообщений. Скрытые поля используются в качестве компонентов взаимодействия javascript и ASP.NET, которые сложно поддерживать, и в результате получается больше кода.
Хорошее разделение презентации и модели
Хотя вы можете разделить эти слои и в ASP.NET, Silverlight реализует это, что хорошо. В моей команде мало разработчиков, которые не хотят прилагать усилия для разделения слоев. К сожалению, они старшие по возрасту и лиц, принимающих решения. Я всегда ненавижу иметь дело с их кодом спагетти. Не говоря уже о том, что я лучший разработчик, чем они, я всегда прикладывал некоторые усилия, чтобы разделить проблемы и попытаться научиться управлять своим кодом. Веб-формы ASP.NET не обеспечивают разделение презентации и модели по дизайну. Где Silverlight усиливает это благодаря дизайну, и моя жизнь стала проще.
Против
Буфер обмена
Пользователи очень часто используются для копирования содержимого, доступного на странице ASP.NET/HTML. Большинство элементов управления silverlight 3 не поддерживают буфер обмена из коробки. Единственный известный мне элемент управления, который поддерживает "из коробки", - это текстовое поле.
Связь с базой данных Связь с базой данных в ASP.NET проще и прямая связь возможна. Однако Silverlight, являясь технологией на стороне клиента, не имеет прямого доступа к базе данных, и необходимость создания дополнительного уровня является обязательной. Хотя сервисы WCF RIA облегчают разработку этого дополнительного уровня, сервисы WCF RIA пока находятся в стадии бета-тестирования. Хотя я упоминаю об этом как о недостатке, на самом деле я не чувствовал, что это НАСТОЯЩИЙ недостаток, потому что создание службы WCF не так сложно.
Использование ресурсов на стороне клиента
Хотя стоимость аппаратного обеспечения значительно снижена, аппаратные ресурсы на стороне клиента не безграничны по сравнению со стороной сервера. На моем рабочем месте, несмотря на то, что предоставленные ПК имеют приличную конфигурацию, большинство пользователей одновременно открывают множество приложений, что необходимо для выполнения их повседневных задач. Silverlight использует клиентский процессор / память. Некоторые из моих пользователей жалуются на то, что разработанное мною приложение использует больше ресурсов процессора / памяти, чем эквивалент asp.net. Поэтому, если у ваших пользователей более медленные ПК, рассмотрите возможность использования ASP.NET или более тщательно спроектируйте свое приложение Silverlight.
Можно сказать, что установка плагина silverlight является недостатком, я не столкнулся с проблемой, потому что мое приложение является приложением для внутренней сети, и все пользователи установили silverlight с помощью одного запроса электронной почты.
Это мой опыт работы с silverlight 3. Единственной серьезной проблемой, с которой я столкнулся, была поддержка буфера обмена в silverlight. Надеюсь, MSFT скоро решит эту проблему.
В целом, Silverlight ROCKS !!! Silverlight 3 готов к работе, и если вы подождете еще несколько месяцев, выйдет Silverlight 4, который еще лучше поддерживает линейку бизнес-приложений. Я больше не хочу разрабатывать приложения ASP.NET, это не значит, что я перестану использовать ASP.NET, я буду использовать его только при необходимости. Я влюбился в Silverlight и по уважительной причине. Я больше всего ненавидел дизайн сайта, но дизайн Silverlight стал одним из моих любимых.
Я надеюсь, что silverlight 3 поможет вам в принятии решений.