Вопрос

Нам нужно создать веб-сайт портала администрирования для поддержки нашего клиент-серверного приложения.Поскольку мы являемся магазином .Net, очевидным традиционным способом было бы сделать это в ASP.Net.Но Silverlight 2 выйдет из бета-версии задолго до даты выпуска.Должны ли мы вместо этого рассмотреть возможность создания всего веб-сайта в Silverlight с поддерживающим бэкэндом WCF?

Основной функцией портала будет:настройка пользователей, групп и разрешений;настройка параметров профиля пользователя;загрузка и скачивание файлов, необходимых для поддержки приложения.

Я думаю, что основная причина использования этого подхода заключается в том, что у нас есть хороший опыт работы с WPF и WCF, но мало опыта в ASP.Net.В любом случае нам придется изучить ASP.Net или Silverlight, а изучение Silverlight кажется более естественным продолжением наших текущих навыков.

Есть ли какие-то серьезные недостатки из опыта StackOverflowers?Каковы большие положительные моменты?

Это было полезно?

Решение

Зависит от ваших целей.Если портал администрирования является частью приложения и будет использоваться только с компьютеров, на которых установлено ваше приложение, переход на полностью Silverlight или даже WPF дает множество преимуществ.

Но если вы видите сценарий, в котором он будет использоваться либо со случайного компьютера, либо со случайным человеком, абсолютно необходима полнофункциональная версия HTML/Javascript.

Вот некоторые причины:

  • У большинства людей нет Silverlight, и вы заработаете немало ругательств, если им придется его скачать и установить.Некоторые люди, у которых он установлен, отключают его (вместе со вспышкой, а иногда даже с изображениями), чтобы не отвлекаться и ускорить просмотр.
  • При сбое HTML-сайта пользователь получает страницу с ошибкой и перезагружается.Когда silverlight выходит из строя, он может зависнуть или выйти из строя.
  • HTML — это то, что ожидают как пользователи, так и веб-браузеры:Кнопки «Назад» и «Обновить» работают должным образом, гиперссылки и формы работают как положено.
  • Медленный интернет по-прежнему очень распространен, как в отдаленных районах, так и на мобильных устройствах.

Другие советы

Я бы рекомендовал не создавать сайт на чистом Silverlight.

Silverlight страдает теми же проблемами, что и Flash:Неинтуитивные закладки, проблемы с печатью, проблемы с доступностью, неработающие кнопки «Назад» и так далее.

Кроме того, вам потребуется, чтобы у ваших пользователей был установлен Silverlight или, по крайней мере, была возможность его установить.

В контролируемых средах (напр.в крупных компаниях или здравоохранении) или на мобильных устройствах это может быть не так.

Я бы определенно выбрал полноценное приложение Silverlight, особенно если у вас есть хороший опыт работы с WPF.Вы сможете повторно использовать свои знания из WPF и довольно быстро сможете освоить Silverlight.Я работаю с Silverlight начиная с бета-версии 1, и текущая бета-версия 2 имеет хорошее качество.Думаю, можно с уверенностью предположить, что версия RTW уже не за горами.

У Пилфа есть некоторые веские аргументы, особенно в отношении печати.Для этого я бы, вероятно, использовал службы SQL Reporting Services или какую-либо другую структуру отчетности на стороне сервера, а затем открыл бы новое окно с отчетами для печати.Проблемы создания ссылок и закладок ничем не отличаются от проблем с любым другим приложением AJAX.Сегодня я сделал запись в блоге о как обеспечить глубокие ссылки и обратную навигацию в Сильверлайт.

Silverlight также имеет все возможности, необходимые для отличной поддержки специальных возможностей, поскольку в Silverlight добавлен API автоматизации пользовательского интерфейса из WPF.Я не знаю, догнали ли еще производители программ чтения с экрана.Поддержка стилей/шаблонов в Silverlight позволяет легко предоставлять высококонтрастные обложки для пользователей с нарушениями зрения, если это вызывает беспокойство.

Я согласен с тем, что все уже сказали, и думаю, что эта блок-схема, предназначенная для Flash, также применима и к Silverlight.

enter image description here

Источник изображения

Похоже, ваша проблема в том, что вам нужно приложение администратора с богатым клиентом.Почему бы не использовать клик-один?

Что касается удаленных пользователей и администраторов, другой автор заявил, что это аргумент в пользу HTML, если администраторы используют медленное соединение.Я бы сказал, что в зависимости от типа информации более эффективно использовать Silverlight.Если у вас есть сетка данных ASP.NET, заполненная привязкой данных на стороне сервера, вы можете загружать массу данных разметки и состояния представления.Даже если вы используете альтернативу DataGrid, которая легче ViewState, вам все равно придется загрузить много HTML.

В Silverlight, как только вы отключите XAP, который, вероятно, будет меньше соответствующего HTML, XAP кэшируется, и поэтому вам не придется каждый раз платить за это, и вы просто будете получать сами данные.

В качестве другого примера предположим, что в одной из ваших форм есть несколько раскрывающихся списков, все из которых имеют одинаковые значения.В Silverlight вы можете получить эти значения один раз и привязать их ко всем дордаунам, в HTML вам придется повторять их каждый раз.

Это станет лучше благодаря привязке данных на стороне клиента в ASP.NET, которая соответствует модели привязки данных, очень похожей на Silverlight и WPF.

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

АСП полностью.Вам следует использовать silverlight/flash и т. д. только тогда, когда текст не может делать то, что вы хотите, например.отображать видео.

Использование плагина для вашего веб-сайта замедляет его работу и требует, чтобы у пользователя был установлен плагин.Silverlight, например, исключает всех пользователей Linux.Кроме того, поскольку Silverlight довольно новый продукт, неизвестно, насколько намерена Microsoft поддерживать платформу, если она не заработает в ближайшее время.

Я бы придерживался старого доброго HTML со сценариями на стороне сервера.

Также для общедоступных веб-сайтов:Flash и Silverlight не могут быть проиндексированы ни одной поисковой системой, так что удачи в написании тонны метаданных, если вам вообще нужны посетители.

Silverlight — хороший выбор для внутреннего портала, так же, как и для общедоступного портала, если вы уже оценили свой проект и решили продолжить работу над веб-порталом.Вы можете интегрировать компоненты Silverlight в существующее приложение ASP.NET (т. е.подход «островов богатства»), но если у вас есть возможность создать новый проект с нуля, не сбрасывайте со счетов решение, полностью основанное на Silverlight, как правильный выбор, вместо традиционного портала ASP.NET.Silverlight сейчас находится в стадии RTW, поэтому, если это решение все еще находится на рассмотрении, вы знаете, что вам не придется иметь дело с критическими изменениями в будущем.

Есть некоторые недостатки с полной разработкой сайта во Flash / Silverlight, но если эти недостатки не имеют для вас значения или не окажут влияния, вас ничто не остановит.Выберите любой инструмент, который, по вашему мнению, более полно соответствует вашим потребностям.Я бы не стал откладывать создание сайта исключительно на Silverlight из-за недостатков, потому что это приносит гораздо больше положительных впечатлений для пользователя.

Предыдущие комментарии касались большинства недостатков использования Silverlight для такого сайта, и я согласен.Если вы полны решимости разработать стиль расширенного клиента, а ваша аудитория невелика (только для администраторов), то я, вероятно, порекомендую WPF вместо Silverlight, поскольку в настоящее время он предоставляет более богатый набор инструментов и элементов управления.

Если вы придерживаетесь ASP.NET, обратите внимание на динамические данные — они идеально подходят для создания сайтов управления серверной частью без особых усилий.

Я видел веб-сайты «только Silverlight» в Microsoft, и они весьма впечатляют.Но опять же, демо-версии были созданы для того, чтобы раскрыть весь потенциал возможностей Silverlight.В тот момент, когда вам понадобится что-то другое, вам может не повезти.Я не вижу Silverlight таким же, как Flash, за исключением того, как они установлены/видятся.Но серверная часть Flash/ActionScript на самом деле плохой по сравнению с тем, что Visual Studio может предложить с .NET

Спросите себя, почему вы хотите использовать Silverlight?Необычные эффекты или модель программирования?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top