Silverlight по сравнению с WPF

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

5
задан SLaks 6 January 2010 в 01:43
поделиться

3 ответа

Как упоминают Габриэль (и Рид), Silverlight является уменьшенной версией WPF.

WPF предназначен в основном для настольных приложений и имеет расширенные возможности по верстке, анимации и привязке данных, которых у Silverlight пока нет. WPF может быть доставлен через браузер, но он не работает как подключенный к браузеру, и поэтому не может взаимодействовать с любым другим содержимым в браузере. Можно создавать WPF приложения, в которых размещены элементы управления и окна WinForms - это может облегчить переход к портфолио с существующим кодом WinForms (если это имеет значение для вас). WPF также имеет более сложные 3D возможности, чем Silverlight - хотя и не на много.

Siverlight, доступен на нескольких платформах (таких как Linux и OSX) через runtime Mono и порт Moonlight Silverlight. Silverlight может работать как самостоятельное приложение, так и в среде браузера, что позволяет создавать веб-приложения. При запуске в качестве плагина на базе браузера, приложение Silverlight может взаимодействовать с контентом в браузере, и может отображаться рядом с HTML. Вы также можете манипулировать приложением Silverlight с помощью JavaScript - создавая практически бесшовную среду программирования. В приложениях Silverlight есть некоторые ограничения - например, все вызовы WCF являются асинхронными (из-за модели потоковой работы Silverlight/Browser). Кроме того, приложениям Silverlight доступны не все SDK для .NET-фреймворка.

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

На фронте инструментов разработки - лучшим инструментом IMHO является Expression Blend - он имеет элегантный и мощный пользовательский интерфейс для визуального создания как WPF, так и Silverlight пользовательских интерфейсов. Он также интегрируется с Visual Studio, которая до сих пор является превосходной средой разработки (Blend имеет ограниченные возможности редактирования кода). Также существуют такие инструменты, как Expression Design и Expression Encoder, помогающие создавать графику и манипулировать видео для использования как в WPF, так и в Silverlight приложениях

.
7
ответ дан 18 December 2019 в 09:50
поделиться

Silverlight гораздо менее способен, чем WPF, даже в версии 4.

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

Учитывая это, WPF предоставляет гораздо больше возможностей. Он предоставляет доступ к полному .NET фреймворку (в отличие от [растущего] подмножества).

Моим личным предпочтением было бы использование Silverlight - при условии, что приложение не требует взаимодействия с унаследованным программным обеспечением, доступа к ресурсам системы, или других вещей, недоступных в Silverlight. Однако, если вам нужно сделать что-то, что обременит систему налогами (т.е. тяжелые вычисления, где требуется параллелизм, использование графических ресурсов, сложная 3D работа и т.д.), то WPF - это то, что нужно.

.
7
ответ дан 18 December 2019 в 09:50
поделиться

Silverlight - это подмножество WPF, которое используется в подключаемом модуле браузера Silverlight. Оба хороши, но вы должны решить, будете ли вы в конечном итоге использовать веб-приложение или приложение для Windows.

Silverlight не обладает всеми возможностями, которые есть в WPF (частично из соображений безопасности - он используется в браузере). Однако с Silverlight у вас есть доступ ко всем остальным преимуществам веб-приложений (единое место обновления и т. Д. - JavaScript, CSS и HTML).

3
ответ дан 18 December 2019 в 09:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: