Используете Silverlight для всего веб-сайта?

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

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

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

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


person Samuel Jack    schedule 11.09.2008    source источник


Ответы (12)


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

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

Вот несколько причин:

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

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

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

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

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

person pilif    schedule 11.09.2008

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

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

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

person Jonas Follesø    schedule 11.09.2008
comment
Йонас, спасибо за ссылку на обратную навигацию: это должно быть очень полезно. - person Samuel Jack; 11.09.2008

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

введите описание изображения здесь

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

person GateKiller    schedule 11.09.2008
comment
Я сказал то же самое и получил -2. Еретики. : '- ( - person Iain Holder; 28.01.2009
comment
@IainMH Может быть, тебе стоило сказать что-нибудь оригинальное? - person GateKiller; 29.01.2009

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

person Keith    schedule 11.09.2008

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

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

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

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

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

person Bill Reiss    schedule 17.10.2008

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

person Iain Holder    schedule 11.09.2008
comment
Иан, а почему? На мой взгляд, Silverlight имеет гораздо лучшую модель программирования, чем HTML / JavaScript. Почему бы мне не использовать это? Вот что я пытаюсь выяснить. - person Samuel Jack; 11.09.2008
comment
Я думаю, что есть слишком много вещей, которые текст не может делать, кроме отображения видео. ASP полностью вводит Сэма в заблуждение, потому что это действительно зависит. - person Martin Marconcini; 11.09.2008
comment
@Sam Интернет - это HTML. Html - это текст. Большие толстые двоичные фрагменты - не лучший способ визуализации текста. - person Iain Holder; 28.01.2009
comment
@Sam Если вы программируете для Интернета, используйте HTML и JavaScript. Не позволяйте веб-формам ASPX отвлекать вас от новых фреймворков AJAX. - person Alex Nolasco; 14.01.2010

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

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

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

person wvdschel    schedule 11.09.2008
comment
Я не уверен, что ему нужны случайные посетители ... это административное приложение. Кроме того, хотя когда вы это писали, это было неправдой, но Moonlight сейчас отсутствует, поэтому пользователи Linux действительно могут запускать приложения Silverlight. - person Sailing Judo; 09.03.2009

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

person Daniel Crenna    schedule 17.10.2008

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

person Mark Ingram    schedule 11.09.2008

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

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

person Simon Steele    schedule 11.09.2008

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

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

person Martin Marconcini    schedule 11.09.2008