Является ли Silverlight жизнеспособным выбором по сравнению с необработанным ASP.NET? - PullRequest
1 голос
/ 10 августа 2009

Я нахожусь в процессе разработки решения для компании, в которой я работаю (но только что уволился), в которой очень сложный процесс подачи заявок. Этот процесс близок к 10 шагам (включая T & C и предварительный просмотр), а также имеет несколько очень хитрых бизнес-правил уровня пользовательского интерфейса (в основном управляемых устаревшей системой привязки).

По сути, валидация основывается на том, что было выбрано в предыдущих формах, а не только на том, что было непосредственно перед.

Решение уже было определено как приложение ASP.NET, но чем больше я разрабатываю решение, тем больше оно выглядит, как будто его будет очень трудно достичь в среде без состояния. В конечном итоге это может привести к появлению параметров строки запроса, скрытых переменных на странице, viewState или сеанса для передачи информации.

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

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

Итак, как мне поступить:

  1. Является ли Silverlight жизнеспособным вариантом, учитывая то, что я упомянул выше?
  2. Передача Silverlight в компанию без каких-либо навыков Silverlight?
  3. Как вы справляетесь с аргументом «но для этого нужен плагин браузера»?

Ответы [ 3 ]

4 голосов
/ 10 августа 2009

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

Однако вы также можете разместить несколько форм на одной странице и отправить их вместе, но с помощью javascript это будет выглядеть как разные страницы. Это не будет слишком сложно сделать с любой приличной библиотекой javascript, но я рекомендую jQuery (Microsoft принимает в качестве стандарта для ASP.NET)

То же, что и проблема с Silverlight, если ваша компания не имеет большого количества навыков в javascript, но, по крайней мере, для этого не требуется плагин.

Не поймите меня неправильно, я люблю silverlight, я люблю его настолько сильно, что, когда доля рынка становится такой же, как у flash, я бы бросил HTML / css / javascript. Хотя, похоже, он вам не подходит.

3 голосов
/ 10 августа 2009

В настоящее время я работаю в компании, которая создает основное приложение для больших объектов в Silverlight.

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

  • Использование Silverlight не снизит сложность приложения.
  • Если вы уже знакомы с ASP.Net, вы можете работать со сложным рабочим процессом, используя существующие идиомы (состояние сеанса, элемент управления мастера или собственные простые объекты CLR, которые реализуют модель дерева решений / модели конечного автомата).
  • Если ваша проблема действительно заключается в разработке рабочего процесса, вы можете интегрировать приложения ASP.Net с чем-то вроде Windows Workflow Foundation. Однако, «не уменьшит сложность приложения», вероятно, относится и к этому; в моем ограниченном опыте Windows Workflow Foundation также не упростила создание рабочих процессов.
  • То, что вы получите, имея все состояния в локальных клиентских объектах, скорее всего будет меньше, чем стоимость изучения Silverlight и его особенностей.

При этом, нет ничего плохого в идее атаковать такого рода проблемы в Silverlight. Это просто не серебряная пуля или что-то еще; Silverlight имеет свои собственные проблемы с доступом к данным, причудливые особенности кода пользовательского интерфейса и требует от вас еще одной модели разработки приложений.

0 голосов
/ 10 августа 2009

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

Использование Silverlight позволяет создать очень насыщенный клиентский опыт. Возможно, это в некоторой степени возможно и в ASP.NET, но я нахожу все движущиеся части в традиционном веб-приложении (HTML, CSS, JavaScript и т. Д.) И их взаимодействие гораздо более сложным, чем в модели Silverlight. Если у вас нет опыта использования Silverlight, вы можете создать простой прототип навигации по страницам без какой-либо реальной логики, чтобы почувствовать его. Если вы удовлетворены, то можете показать это руководству, чтобы продемонстрировать всю мощь Silverlight. Если им нравится сладкоежка, вы можете изменить визуальную тему вашего приложения, чтобы произвести на них впечатление. Однако эта тактика может иметь неприятные последствия, если руководство фактически предпочитает серый линкор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...