Подтвердить что ты не робот

WPF vs XBAP vs Silverlight... подходит для бизнес-приложений?

Я хорошо знаком с множеством полнофункциональных клиентских приложений WPF. Я знаю, что клиентские приложения WPF поддерживают полную платформу .NET Framework 3.5, позволяют аппаратное ускорение 2D и 3D-графики, тематики, шаблонов, стилей, триггеров, работ.

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

Я знаю, что WPF достаточно прочен, чтобы использоваться в полномасштабных бизнес-приложениях, но как насчет XBAP и Silverlight? Каковы основные возможности и ограничения каждого из них? У любого из них нет функций, которые бы сделали их бесполезными при использовании в бизнес-приложении?

4b9b3361

Ответ 1

Wintellect написал хорошее сравнение между Silverlight и WPF, опубликованным здесь: http://wpfslguidance.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=28278

Из личного опыта работы в WPF и Silverlight я обнаружил, что SL полностью поддерживает приложения LOB..NET RIA Services - отличное дополнение к SL3 для приложений LOB. Чтобы ответить на ваши последние вопросы, в моем опыте нет ничего, что вернет SL из создания приложений LOB. Единственное существенное различие между WPF и SL в этом обсуждении заключается в том, что SL не имеет доступа к локальным ресурсам на клиентской машине, такой как реестр, и не может получить доступ к конкретным функциям Windows, которые могут использовать WPF, такие как списки или библиотеки для Windows 7, Я думаю, что Silverlight - лучший выбор для приложений biz из-за простоты развертывания и возможности нацеливаться на несколько платформ.

Ответ 2

Я пытался сделать разработку XBAP примерно на 18 месяцев полный рабочий день для довольно амбициозного проекта и абсолютно ненавидел его.

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

В сочетании с ночными кошмарами для развертывания (по сей день нет хорошей истории для Firefox, даже после 3.5 SP1 все еще есть проблемы), я честно полагаю, что MS делает все возможное, чтобы убить XBAP в пользу Silverlight. Я не виню их, просто хочу, чтобы они были более открытыми.

Я бы избегал XBAP, как чума. Это мертвый сценарий без будущего. Не было бы немного удивлен, если бы они были устаревшими в ближайшее время.

Ответ 3

Что касается Silverlight, я расскажу о своем опыте до сих пор. (NB: перечитав это, это звучит немного негативно, но я указываю на недостающие функции. В целом я люблю Silverlight, богатый пользовательский интерфейс в браузере с использованием С#? Rocks).

Заметные различия в том, что нет щелчка правой кнопкой мыши, поддержки мыши, функции печати, и вы не можете открыть новое окно. Приложение OOB SL не может находиться в области уведомлений. Вы можете обрабатывать события мыши в javascript, но не хотите, чтобы ваше приложение перемещало OOB.

Команда SL также чрезмерно обеспокоена тем, что безопасность сводится к ее пригодности к LOB (нет новых окон, настроек доверия для локального доступа к системе в OOB, области уведомлений и т.д.).

Некоторые из них делают приложение Silverlight похожим на не совместимое с Windows. Подумайте о выделенном тексте, щелкните правой кнопкой мыши копию. Или нажмите правую кнопку мыши. Эти основные операции, которые многие люди используют, отсутствуют. Он также чувствует себя как чужой пользовательский интерфейс, например. вы инстинктивно идите, чтобы прокрутить сетку с помощью колеса мыши, и это не сработает. Этот материал работает в любой таблице в браузере, но не в SL.

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

Расширения разметки отсутствуют в SL. Он также имеет целую индексацию привязки, поэтому никаких мешков с недвижимостью без каких-либо трюков. Нет триггеров, поэтому вам всегда приходится писать код для подключения событий (раздражающих более динамических страниц). Он не получил наследуемого стиля, кроме ImplicitStyleManager в наборе инструментов, который не соответствует задаче.

Итак, для некоторых приложений LOB это нормально, для других вам нужно перепрыгнуть через несколько обручей (например, если вы хотите настроить для клиента). Но это, безусловно, не очень хорошо для ВСЕХ приложений LOB.

Мое впечатление также о том, что SL еще не чувствовал себя готовым, там много ничтожеств. Например, datagrid разочаровывает (не автоматически растягивается, очень сложно подклассу), блок автозаполнения немного беспорядочен, система навигации немного неуклюжая, combobox/treeview трудно привязать (они действительно не разобрались, если вы хотите для привязки SelectedItem к другому объекту к itemsSource).

В целом, Silverlight почти там, это прекрасно, пока вы готовы принять несколько ограничений и обманывать.

Ответ 4

У меня нет опыта работы с XBAP, но мое впечатление похоже на ваше, поскольку оно ограничено только с точки зрения безопасности по сравнению с WPF.

Что касается Silverlight: я недавно использовал его для разработки сложного пользовательского интерфейса мониторинга телеметрического мониторинга - это скорее приложение для визуализации данных, чем традиционное бизнес-приложение, но в нем много CRUD, и не было ни одной функции, которая Я хотел реализовать, но не мог из-за моего выбора технологии. И это был SL2.

Я уверен, что вы получите больше колоколов и свистков, если вы используете XBAP, и если вы можете гарантировать, что ваши пользователи работают с .NET 3.5 (или XBAP часть 3.0 тоже?), я бы пошел на Это. В противном случае у меня не было бы никаких оговорок в рекомендации Silverlight.

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