Зачем переходить с WPF на Silverlight 4? - PullRequest
27 голосов
/ 18 ноября 2009

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

Итак, почему я должен рассмотреть вопрос о переносе моего приложения WPF в Silverlight 4 - учитывая, что я все еще хочу настольное приложение?

Ответы [ 8 ]

15 голосов
/ 19 декабря 2009

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

Цель написания программного обеспечения - зарабатывать деньги. Вот почему Microsoft делает это, именно поэтому я делаю это, и, вероятно, именно поэтому вы делаете это. Хотя, безусловно, есть люди, которые делают это потому, что им нравится это делать или в погоне за высокими идеалами, эти люди не являются эффективными рыночными силами и не имеют права голоса.

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

Silverlight до третьей версии по сути конкурировал с Flash, то есть он был бесполезен для всего, кроме искры на сайтах: посмотрите все примеры сайтов, связанных со страницей Microsoft Silverlight.

Большой толчок Microsoft в SL4 - поддержка разработки LOB; инструменты RIA. Но почему? Потому что, хотя вы можете разрабатывать LOB с использованием HTML, CSS, AJAX, Flash и веб-сервисов, это все равно, что сказать, что вы можете построить хороший автомобиль из набора Meccano, при условии, что вы готовы использовать много болото Silverlight делает то же самое, но эффективно и согласованно, с единой средой разработки. И блестит.

Это огромное улучшение по сравнению с разбитым набором инструментов для работы с HTML, CSS, AJAX, Flash и веб-сервисами, и если вы продаете эту интегрированную студию разработки, это просто изумительно.

Silverlight означает простое развертывание. Что если у них нет Silverlight? Они будут, даже если Microsoft должна скрыть это в следующем пакете обновления. Простое развертывание отлично подходит для ИТ-специалистов и отлично подходит для продажи услуг бюро. Также замечательно, если вы разрабатываете, потому что вам не нужно заниматься разработкой или тестированием установочных комплектов.

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

Может быть интересно отметить, что мое приложение выполняет ряд функций (прямая передача TCP), не поддерживаемых Silverlight, и это совсем не проблема; сервер делает их от имени клиента, и это хорошо уклоняется от всех экологических опасностей, связанных с развертыванием в дикой природе, потому что мы можем контролировать среду сервера.

Я полагаю, что кроссплатформенная поддержка - это заблуждение, потому что Silverlight на платформах, отличных от Windows, сильно отстает, а также коммерческие рабочие станции, отличные от Windows, немногочисленны. Предприятия не используют Linux на рабочих станциях. Macintosh - это не платформа, это религия: нет смысла даже говорить с ними.

Все, что сказано, до VS2010 не было дизайнера Silverlight. Ручное кодирование бесконечного XAML - это колоссальная боль в заднице. SL4 / RIA в VS2010 - это замечательно, но у Joe Public его еще нет, и он не мог использовать его для развертывания, если он у него есть, потому что нет действующей лицензии или среды выполнения для конечного пользователя.

Это оставляет WPF единственным практическим вариантом. Тем не менее, [барабанная дробь] будет доступна финальная бета-версия с действующей лицензией и временем исполнения. Реально скоро, вероятно, в конце февраля. Слава Скотту и команде.

10 голосов
/ 18 ноября 2009

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

Silverlight 4 выводит Silverlight на совершенно новый уровень. Проверьте сообщение в блоге Тима Хойера для множества новых функций. Кроме того, посмотрите, сможете ли вы найти видео приложения Facebook из основного выступления, когда были объявлены функции Silverlight 4. Это приложение подчеркивает тонну новых функций, ориентированных на рабочий стол.

10 голосов
/ 18 ноября 2009

Я думаю, что вам немного не хватает понимания WPF и Silverlight. Silverlight - это подмножество функций и возможностей, которые есть в WPF. Silverlight имеет несколько особенностей, характерных для Silverlight. Silverlight на рабочем столе - это просто ответ на Adobe AIR от Microsoft. Итак, с учетом сказанного, реализуйте свое приложение с WPF, если это ваш выбор. Не позволяйте «жужжать» вашим решениям о вашем приложении, это то, что нужно бизнесу и имеющимся навыкам в вашей организации.

3 голосов
/ 19 ноября 2009

Пара основных причин для рассмотрения SL4 вместо WPF

  1. Меньший размер рамки. Предоставленный SL4, вероятно, будет намного больше, чем SL3, но в настоящее время платформа Silverlight составляет примерно 1/10 размера самой маленькой версии .NET 3.5.
  2. Кроссплатформенная поддержка - Silverlight работает на Mac и Linux (теоретически). Это не может быть большой проблемой для вас, но в некоторых сценариях это важно.
  3. Гораздо лучшая интеграция с HTML. Silverlight может жить внутри веб-страницы, а с версией 4 html может жить внутри Silverlight. Еще раз, это может не относиться к вам, но если вам нужно взаимодействовать с существующими веб-приложениями, Silverlight, безусловно, путь. Это также облегчит переход в Интернет, если вам нужно.
  4. Это ясно, где Microsoft, если вкладывать свою энергию. Я не удивлюсь, если WPF окажется практически мертвым в воде, как Winforms и LINQ to SQL.
2 голосов
/ 28 ноября 2009

Я вижу только два преимущества выбора Silverlight.

  1. Вам действительно нужен кроссплатформенный, выберите Silverlight.
  2. Вам нужно встроить что-то с HTML в браузер, выберите Silverlight

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

Установка фреймворка не должна быть большой проблемой, когда она устанавливается один раз, не такая большая и уже интегрирована в более новые версии Windows.

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

И я не думаю, что WPF умрет ?? В WPF все новое, что есть в Silverlight 1, 2, 3 и 4, уже давно и еще больше. На мой взгляд, Silverlight является и всегда будет более легкой версией WPF для веб-браузеров.

2 голосов
/ 18 ноября 2009

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

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

1 голос
/ 05 декабря 2009

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

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

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

Мне нравится мощь WPF, но выйдет SL5. Думаю, мы все будем на этой арене, что к 2012 году?

0 голосов
/ 16 июня 2012

Я бы хотел добавить мнение о различиях в производительности.

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

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

Это интересно, потому что можно предположить, что WPF будет быстрее.

...