2010-07-30 4 views
1

Компания, в которой я работаю, имеет существующий продукт, который является 32-битным оконным приложением Delphi.WPF, Silverlight или WinForms?

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

У нас также есть приложение .net 3.5 ASP.NET, которое отражает большие части бизнес-логики в приложении Windows.

Мы хотим переписать приложение delphi в .net, поэтому у нас может быть один набор кода бизнес-логики.

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

Что мы теряем при переходе от WPF к Silverlight? Должны ли мы использовать их и вместо этого использовать WinForms? или мы должны просто расширить приложение ASP.NET/AJAX?

+0

Слишком много переменных, чтобы ответить окончательно. Факторы, влияющие на решение: нужна ли доступность через Интернет (это может исключить WPF)? Нужен ли ему богатый пользовательский интерфейс (это может исключить ASP.NET?) У вас есть время и ресурсы для добавления всего слоя пользовательского интерфейса (это может исключать как WPF, так и Silverlight)? является ли ASP.NET многоуровневым и многоуровневым, чтобы использовать свою бизнес-логику для WPF/Silverlight? – SteveCav

+0

Интернет: Нет. Ему нужно подключиться к серверу, хотя через WCF. UI: Да, довольно богатый ASP.NET: Да, бизнес-логика находится в собственной сборке с чистым API. – WOPR

ответ

1

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

Диаграмма может быть проблемой, в зависимости от того, насколько она сложна. Пока что для WPF и Silverlight не хватает графических пакетов. ChartFX порядочный, но не поддерживает продвинутые финансовые показатели, такие как MACD и т. Д. ..., который есть в финансовом пакете, доступном в версии winforms.

Другое соображение было бы, если это приложение предназначено для внутреннего или внешнего использования? Если это внешнее, я бы сказал, держаться подальше от silverlight, поскольку усыновление еще не совсем. Если он является внутренним, и вы управляете стандартом, то определенно делайте Silverlight vs asp.net MVC.

0

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

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

1

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

Выбор между Silverlight и WPF в основном зависит от вашего метода распределения и требований приложения. Приложения Silverlight обычно получают доступ через веб-страницу, и, хотя есть способы доступа к ним в автономном режиме, они действительно работают лучше всего в облегченных ситуациях. Приложения WPF работают в режиме полного доверия и имеют множество функций, которые недоступны даже в приложениях Silverlight в автономном режиме. Если вы говорите о простом вводе данных или приложении «Линия бизнеса», Silverlight должен удовлетворять вашим потребностям, но если вам нужен доступ к внешним ресурсам (жесткий диск, локальная база данных, устройство USB и т. Д.), Вы можете зависеть от приложения WPF , Я считаю, что приложения WPF могут использовать развертывание Click-Once, что дает вам преимущества преимуществ веб-приложения, сохраняя при этом полный доступ к базовому оборудованию.

1

WPF vs Silverlight

Я хотел бы пойти на WPF, даже если у вас есть некоторые фантазии контроля и т.д. в WinForms вы всегда можете разместить его в WPF.

UI, который требует очень быстрой сетки данных/таблица

WPF использует DirectX и Redering гораздо быстрее. Также у вас есть еще один способ - XBAP.

С другой стороны, ASP.NET/AJAX является более мультиплатформенным.

WPF = быстрая визуализация, ASP.NET/AJAX = мультиплатформенная.

Silverlight не такой зрелый.

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