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

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

  1. дает всем вашим элементам стиль.
  2. дает выбранный вами item style.
  3. дает следующие элементы стиль с использованием + или ~.

, и таким образом вы сможете стилизовать свои текущие предыдущие элементы (все элементы переопределены текущими и следующими элементами) и ваши следующие элементы.

пример:

/* all items (will be styled as previous) */
li {
  color: blue;
}

/* the item i want to distinguish */
li.milk {
  color: red;
}

/* next items */
li ~ li  {
  color: green;
}


<ul>
  <li>Tea</li>
  <li class="milk">Milk</li>
  <li>Juice</li>
  <li>others</li>
</ul>

Надеюсь, что это кому-то поможет.

21
задан ChrisV 20 March 2009 в 13:08
поделиться

10 ответов

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

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

я рекомендовал бы Silverlight по WPF когда:

- нет никакой потребности в самой лучшей производительности (включенная графика) - Может обойти отсутствие поддержки печати (это прибудет, мы просто не знаем, когда) - поддержка Камеры/Микрофона не нужна - Может терпеть асинхронную модель приложения/разработки - Может терпеть ограничения на WCF (никакая поддержка безопасности WS в этой точке) - нет никакой потребности сохранить огромный объем данных по клиенту. - Нет никакой потребности к прямой интеграции с клиентскими приложениями как Office. - Имеет сервер для хостинга приложения
13
ответ дан 29 November 2019 в 20:28
поделиться

Я сказал бы, что основное различие - то, что WPF требует, чтобы у клиента было.Net 3.0 + платформа. Silverlight только требует времени выполнения. Теперь, когда быть сказанным, WPF приспособлен больше для управляемых сред, таких как интранет. Silverlight предназначена для государственной сети. Другое различие - то, что Silverlight является кросс-платформенной (Windows, Mac, Linux в будущем & Перекрестный браузер). WPF предназначен для Windows только.

платформа .NET может быть огромной загрузкой для некоторых пользователей. Silverlight только 4-5MBs. Это - большая разница для запущения приложения в сети, но не большой проблемы если внутреннее приложение в компании.

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

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

11
ответ дан 29 November 2019 в 20:28
поделиться

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

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

Выполнения Silverlight

  • полностью на клиенте с Ajax звонят на сервер для данных
  • , Может работать на любом сервере, включая Windows и Linux / Использование Apache
  • КОМПАКТНАЯ платформа.NET

, WPF

  • Работает на клиенте..., обычно звонит, сервисы для данных
  • Работает на Windows XP / Vista с.NET 3.5
  • Использует всю платформу.NET
6
ответ дан 29 November 2019 в 20:28
поделиться

Silverlight является в основном разделенным вниз версия WPF для создания времени выполнения libary загрузкой как можно меньше.

В результате WPF просто имеет намного больше функциональности, доступной в нем и задач, которые просты в WPF, часто становятся не настолько простыми в Silverlight.

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

4
ответ дан 29 November 2019 в 20:28
поделиться
  • Имеет любого, реализовал новое приложение с помощью WPF недавно, и если так, что управляло Вами к тому решению : Хорошо, так как WPF был настольным только (или использование на базе браузера XBAPS - но это было больше системой развертывания, чем реальная система), который был серьезным основанием к нему.
  • "Ваше решение изменилось бы при создании его теперь, и в противном случае почему?" - Никакая Silverlight, даже на рабочем столе в v3, все еще высоко не поигралась в песочнице и таким образом, определенные функции будут твердыми/невозможными сделать из-за песочницы. Также способность использовать части DirectX в WPF все еще даст другую область оптимизации, которую Silverlight и это является 3-м, не будет в состоянии использовать.
3
ответ дан 29 November 2019 в 20:28
поделиться

Стоит отметить, что 3D Silverlight не является полной 3D поддержкой WPF, но только проекцией 2D в 3D - т.е. сядьте на 2D плоскость и позвольте вращение в X, Y & Z направления. WPF имеет полное 3D моделирование с материалами, портами представления, освещением и камерой позиционная поддержка и т.д.

3
ответ дан 29 November 2019 в 20:28
поделиться

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

Один из наших предстоящих проектов, однако, потребует, чтобы многие удаленные пользователи получили доступ к единственному хранилищу данных в нашей сети. Данные, с которыми они работают, требуют значительной проверки, и обработка ошибок, таким образом выполняя тот код локально идеальна. Им будет нужна способность работать и над и офлайн и остаться в синхронизации (вероятно, с Услугами передачи данных SQL). SLOOB (Silverlight Из Браузера), скорее всего, будет нашим выбором для тот одного, таким образом, они смогут иметь все преимущества Silverlight, но использовать его как регулярно устанавливаемое приложение, даже без Интернет-соединения.

Оба формата имеют свое место: прием должен будет избегать использования Silverlight для всего - у нас есть больше инструментов, чем всего 1 молоток.:-)

2
ответ дан 29 November 2019 в 20:28
поделиться

Другое различие - то, что с SL у Вас только есть одно 'окно', у Вас не может быть диалоговых окон (они могут быть моделированы, но их размер ограничен главным окном), и Вы не можете добавить много поддержку монитора.

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

1
ответ дан 29 November 2019 в 20:28
поделиться

Я недавно создал несколько внутренних инструментов с помощью wpf, и я выбрал их просто, потому что Это было легче для меня прибывающий из работы win32. Я действительно не думаю, что различия являются существенными, и действительно... все, что я видел/слышал, указывает, что портирование между wpf и Silverlight довольно легко.

0
ответ дан 29 November 2019 в 20:28
поделиться

устройство хранения данных : у Вас только есть 25 МБ изолированного устройства хранения данных из браузера. Если я помню правильно от некоторого mix09 видео, этот предел ниже, если Ваше приложение в браузере.

http://bliny.net/blog/post/Out-of-Browser-with-Silverlight-3.aspx

Никакой FlowDocument: Таким образом, существуют ограничения там также.

0
ответ дан 29 November 2019 в 20:28
поделиться
Другие вопросы по тегам:

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