2009-06-11 2 views
2

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

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

Я думал о том, насколько легко это будет связано с приложением Windows Forms, но это ДОЛЖНО быть веб-приложением, которое может работать на Windows и Mac.

Мне было интересно, если Silverlight больше подходит для фантазии графики или у меня есть возможность полностью заполнить эту бизнес-задачу и работать больше как приложение ASP.NET/AJAX (но с лучшим доступом к объектам).

Вот некоторые соображения:

  • Я ничего не сделал с WPF
  • база пользователей для этого несколько небольшой, но я не могу диктовать O/S
  • Мне нужно, чтобы иметь возможность загружать/сохранить данные обратно на сервер (np im sure)
  • У меня есть большой опыт работы с nTier, .NET и т. д., но обучение xaml/SL curve ..?

Большое спасибо, что нашли время, чтобы посмотреть на этом :-)

Update
Спасибо всем за ваши комментарии, очень полезно.

  • Наличие пользователей silverlight не будет проблемой, оно является небольшим подмножеством общего приложения и будет требованием, если они захотят получить эту функциональность.

ответ

3

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

С вашим опытом использования .net, использующим Silverlight, без проблем. XAML - это кусок пирога, и если по какой-то причине вам неудобно определять свой пользовательский интерфейс с помощью XAML (несмотря на отличные инструменты, такие как Blend), вы можете добавлять и вызывать их с помощью кода.

  • Я ничего не сделал с WPF Для простых форм это обыкновение быть проблемой. Существует тонна учебных пособий, охватывающих нормальное взаимодействие с Silverlight.

  • Пользовательская база для этого несколько небольшая, но я не могу диктовать O/S Пока они используют OS X или Windows, у них есть полная возможность Silverlight. Пользователи Linux немного отстают от Moonlight ...

  • Мне нужно иметь возможность загрузить/сохранить данные обратно на сервер (np im sure) Silverlight позволяет вам взаимодействовать с сервером через Sockets, WCF/WCF Duplex Services, .Net RIA Services.

  • У меня есть большой опыт работы с nTier, .NET и т. Д., Но кривая обучения xaml/SL ..? Я не думаю, что есть большая часть кривой обучения, связанной с XAML/SL, особенно, если вы испытываете проблемы с приложениями .Net и nTier.

Вот некоторые хорошие ресурсы

http://www.silverlight.net/learn

Успехов!

+0

Я получаю счастливее больше комментариев, которые я получаю, и чем больше я копаю информацию о Silverlight - это действительно кажется ответом для RIA и для моих конкретных потребностей :-) – schmoopy

2

Ненависть к nitpick, но Mac не является аббревиатурой.

С этой целью Silverlight является довольно хорошим выбором, потому что HTML + JavaScript действительно не предназначен для интерактивности клиента. Все это запоздалая мысль, в то время как Silverlight был разработан для этого. Такие вещи, как jQuery, действительно помогают в случае с HTML, но это все еще просто болт.

Я настоятельно рекомендую посмотреть Silverlight 2/3. Версия 3 (в бета-версии, скоро будет выпущена версия), действительно запускается для приложений бизнес-приложений, которые являются моим доменом. Я только недавно начал использовать Silverlight, и я честно думаю, что это до такой степени, что это жизнеспособная замена для интерактивного HTML.

Кривая обучения немного крутая, если у вас нет фона WPF. Но Expression Blend 3 и Visual Studio 2010 добавляют некоторую необходимую поддержку дизайнера.

+0

-1 для nitpicking +1 для всего остального :) – Oorang

+0

«действительно снимает для бизнеса бизнес-приложения, которые являются моим доменом» - тоже мой, большое вам спасибо - я собираюсь прямо на v3 для доказательства концепции, так как у меня есть довольно длинное окно для публичного выпуска этой функции. – schmoopy

0

Silverlight должен быть в порядке, что вы делаете. Помните, что на компьютере-клиенте необходимо установить среду Silverlight для приложения Silverlight для работы (подобно флеш-плагину).

Кривая обучения для XAML, ну, я не думаю, что вам нужно много беспокоиться об этом.Загрузите Microsoft Expression Blend и создайте в нем свой элемент управления silverlight. Он автоматически генерирует XAML для использования с кодом. Обучение Silverlight не сложно и для опытного программиста .NET.

3

Вы обнаружите, что почти все, что вы узнали о .NET Framework и Visual Studio, напрямую применимо к Silverlight. Вы также найдете модель программирования для ASP.Net аналогичной в том, что есть декларативная разметка, а затем код позади. Silverlight очень четко отделяет код от дизайна - это может немного привыкнуть - особенно привязка данных - но как только вы его узнаете, вы найдете его очень мощным.

Начните здесь (на StackOverflow) и http://silverlight.net, и эти два сайта станут вашим проводником.

2

Просто быть адвокатом дьявола ... Flex также может быть другим вариантом. По звукам этого он также сделает все, что вам нужно. Лично я думаю, что, исходя из фона .Net, вам лучше смотреть на silverlight, но, возможно, стоит взвесить про и минусы обоих.

Одним из самых больших плюсов для Flex будет то, что плагин установлен на большинстве машин, где плагин Silverlight еще не установлен. Кроме того, если вы говорите, что это бизнес-приложение, рассмотрите совместные политики установки плагинов на машинах сотрудников. У многих компиляторов может быть установлена ​​некоторая версия Flash, но может не позволить пользователю обновлять или устанавливать что-либо, что не было проверено ИТ-отделом. Если это так, ваше приложение может быть трудно принято, если оно встроено в Silverlight.

+0

Flex может быть неправильным вариантом для меня из-за кривой обучения - я использовал AS3 и имею его в этом текущем приложении, но моя сила - .NET. Я все равно буду смотреть на него на всякий случай :-) – schmoopy

1

Я создал бизнес-приложение и в настоящее время имеет около 500 пользователей. Это приложение MLS агентов по недвижимости. Он отлично работает. Самое большое падение - это довольно большой размер файла xap. Это будет исправлено в SL3. Я думаю, что это отличный выбор для бизнес-приложения, и с SL3 будет только улучшаться.

+0

Очень хорошо знать, и я предполагаю, что файл xap загружается только первоначально, когда он был обновлен или пользователь очистил кеш? – schmoopy

+0

Да, это правда по большей части. Но если пользователь просматривает много других страниц, он снова загрузит xap. В SL3 они позволяют кэшировать dll на компьютере пользователя. Это очень поможет мне. У нас все еще есть некоторые пользователи с dial-up, и это приложение больно использовать в этой среде. С нетерпением ждем выхода SL3. – Bill

+0

Hey Bill, О большом XAP, вы можете нарезать их на несколько XAP и загрузить их async. Я знаю, что это немного сложнее, но, например, если у вас есть свои представления, определенные интерфейсом, вам нужно только загрузить основные, а затем другую группу в отдельном XAP и загрузить их с помощью WebClient. – Braulio

1

О типе приложения, о котором вы говорите о приложении на основе холста/диаграммы (создавать элементы, перетаскивать & drop, change properties ...)?

В свободное время (начался, когда SL 2 был на Alfa Romeo), я реализовал этот инструмент DBSchema Diagramming (SL Based):

http://www.dbschemaeditor.com/

Основные ограничения, которые у меня есть являются:

  • Печать (мне нужно перейти на сервер и использовать GDI + нарисовать растровое изображение, а затем вернуться на клиентскую сторону, возвращая JPEG). Теоретически в SL3 теперь вы можете напрямую сохранить холст в виде растрового изображения.

  • Сохранение файлов на локальном компьютере: я использовал изолированное хранилище, но на SL3 у вас есть диалог сохранения.

Хороший материал, что я нашел:

  • Довольно мощный, у меня есть схема, которая имеет более чем 80 таблиц (и большой bungh отношений) и выполняет очень хорошо.

  • Вместо использования javascript .net на стороне клиента ... ничего себе, это здорово! :).

    НТН Braulio

-2

Silverlight является злом и уступает технологии и их следует избегать, как если бы это был рак ...!

+0

Что вы нарисовываете этот комментарий? Какой у вас опыт и с какими версиями? Вы флеш-разработчик? Это первый из них услышал такой негативный комментарий по этому вопросу. – schmoopy

+0

Я не разработчик flash. Я основываюсь на том, что Silverlight является запатентованной, запатентованной технологией на основе EEE ActiveX. Сделано, чтобы заменить существующую красивую рабочую платформу, также известную как «платформа W3C». Тип как ActiveX 1.0 ... BTW, я чувствую то же самое о Flash ... –

Смежные вопросы