WPF по сравнению с Silverlight [дубликат]

Да, это возможно, Любой класс унаследовал от UIView.

Не забудьте включить взаимодействие с пользователем.

self.userInteractionEnabled = YES;
127
задан Community 23 May 2017 в 12:10
поделиться

4 ответа

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

РЕДАКТИРОВАТЬ: Как и было обещано, вот ссылка в техническую документацию по Codeplex:

http://wpfslguidance.codeplex.com/

Однако я попытаюсь подвести итог.

  1. WPF - это толстая клиентская платформа Windows, которая имеет доступ к полной .Net Framework . Silverlight - это технология на основе браузера, которая имеет доступ к подмножеству .Net Framework (называемому CoreCLR). Итак, вы заметите различия, используя, казалось бы, повседневные методы и объекты в рамках. Например, метод Split () класса String имеет 3 переопределения в Silverlight и 6 в .Net Framework. Вы увидите много подобных различий.

  2. В WPF все элементы визуальной визуализации являются производными от базового класса Visual. В Silverlight этого не происходит; вместо этого они происходят от Control. Обе технологии, однако, в конечном итоге являются производными от класса DependencyObject вверх по иерархии.

  3. WPF, в настоящее время, поставляется или имеет больше пользовательских элементов управления, чем Silverlight; хотя это различие смягчается с помощью Silverlight Toolkit и предстоящего выпуска Silverlight 3.

  4. WPF поддерживает 3 типа перенаправленных событий (прямое, восходящее и туннельное). Silverlight поддерживает только прямую и восходящую маршрутизацию.

  5. Существует довольно много различий в привязке данных, которые будут несколько смягчены в следующей версии Silverlight. В настоящее время Silverlight не поддерживает режим привязки, OneWayToSource или Explict UpdateSourceTriggers. Кроме того, Silverlight по умолчанию использует привязку данных OneWay, если она не задана, в то время как WPF использует режим по умолчанию, указанный в свойстве зависимости.

  6. Silveright не поддерживает привязку MultiBinding.

  7. Silverlight поддерживает XmlDataProvider, но не ObjectDataProvider. WPF поддерживает оба.

  8. Silverlight может выполнять только асинхронные сетевые вызовы. WPF имеет доступ к полному сетевому стеку .Net и может выполнять вызовы любого типа. Кроме того, в настоящее время Silverlight поддерживает SOAP, но не может обрабатывать исключения ошибок SOAP изначально (это может измениться в Silverlight 3).

  9. Существуют огромные различия в криптографии (Silverlight имеет 20 классов в пространстве имен, а WPF имеет доступ к 107). . По сути, Silverlight поддерживает только 4 алгоритма хеширования и протокол шифрования AES.

  10. Silverlight еще не поддерживает: Командование, Проверка, Печать, Документы XPS, Речь, 3D, объекты Freezable или InterOp с рабочим столом Windows; все это доступно в WPF.

  11. Silverlight поддерживает взаимодействие с браузером, дополнительные параметры потоковой передачи мультимедиа, включая маркеры временной шкалы и Deep Zoom. WPF пока не поддерживает эти функции.

Это ни в коем случае не завершено, поскольку я пытался сократить 70-страничный документ до маркеров.

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

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

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

205
ответ дан 24 November 2019 в 00:46
поделиться

WPF - это настольная технология Windows для разработки приложений Windows в среде .Net.

Silverlight - это веб технология, которая полностью поддерживается плагином браузера как для Windows, так и для MAC (аналогично Flash). Существует также плагин для запуска Silverlight в Linux (Moonlight).

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

9
ответ дан 24 November 2019 в 00:46
поделиться

Вещи WPF, которых нет в Silverlight: полноценный 3D-движок на основе DirectX, интеграция с Windows, такая как эскизы панели задач Windows 7 и доступность системного реестра, а также доступ к полной платформе .NET Framework, включая Поддержка баз данных Oracle. Кроме того, SL работает в защищенной песочнице, которая предотвращает доступ к таким вещам, как вся файловая система, где приложения WPF могут работать с полным доверием и полным доступом к системе.

Как упоминалось выше, SL разработала некоторые технологии, такие как VisualStateManager, которые делают свои был второстепенным в WPF через поддерживаемый Microsoft инструментарий WPF.

Если вы хотите определить, какая технология подходит для вашего проекта, вот простой способ взглянуть на это: если вы пишете приложение, предназначенное для работы в отключенном состоянии из Интернета, или если вы При написании приложения, которому требуется доступ к специфическим функциям Windows, таким как перечисленные выше, то WPF - это то, что вам нужно. Для приложений, не зависящих от платформы, подходящим выбором является Silverlight. Hth.

3
ответ дан 24 November 2019 в 00:46
поделиться

Можно сказать, что это [ОЧЕНЬ] примерно аналогично разнице между Flex и Adobe Air, но это несколько вводит в заблуждение.

WPF относится к набору технологий (предоставляемых через API) ), к которой пользователи .NET Framework 3.0 и выше имеют доступ для рисования на экране.

Многие API-интерфейсы WPF доступны для приложений Silverlight.

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

1
ответ дан 24 November 2019 в 00:46
поделиться
Другие вопросы по тегам:

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