Silverlight против Flex

Моя компания разрабатывает несколько типов приложений. Большая часть нашего бизнеса связана с созданием мультимедийных приложений, обычно выполняемых во Flash. Однако теперь эта сторона дома начинает переходить к разработке Flex.

Большая часть других наших разработок выполняется с использованием .NET. Вместо этого я пытаюсь подтолкнуть к разработке Silverlight, поскольку это позволит лучше использовать штатных разработчиков .NET. Я предпочитаю платформу Silverlight платформе Flex из-за того простого факта, что Silverlight - это весь код .NET. У нас в штате больше разработчиков .NET, чем разработчиков Flash / Flex, и большинство наших разработчиков Flash / Flex - художники-графики (а не настоящие программисты). Единственная причина, по которой они сейчас продвигаются к Flex, - это то, что это кажется логичным шагом со стороны Flash.

Я занимался разработкой с использованием обоих, и я искренне верю, что с Silverlight легче работать. Но я пытаюсь убедить людей, которые являются только разработчиками Flash.

Итак, вот мой вопрос: если я собираюсь пойти на собрание, чтобы похвалить Silverlight, зачем компании использовать Silverlight вместо Flex? Помимо очевидного «не у всех есть Silverlight», каковы плюсы и минусы каждого из них?

Я тоже удивляюсь тому же, но этот форум слишком тяжел для Microsoft, поэтому я отношусь к любым комментариям про Silverlight с небольшим скептицизмом.

user158282 18.08.2009 17:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
71
1
15 240
22
Перейти к ответу Данный вопрос помечен как решенный

Ответы 22

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

По каким причинам вы предпочитаете Silverlight Flex? Если вам нужно спросить сообщество SOFlow о причинах, кажется странным, что вы так охотно их настаиваете.

Просто подождите, пока MS включит автоматические обновления, и будет достигнуто 99% проникновения.

Andrei Rînea 20.09.2008 01:33

Ну конечно; естественно. Точно так же 99% пользователей IE используют IE7, и никто не использует IE6, потому что IE7 прошел через автоматические обновления. Да.

analytik 09.10.2008 15:52

Установка silverlight довольно проста для пользователей, у которых ее нет.

Craig 17.12.2008 00:51

Я согласен с Крейгом. Установить проще, чем Flash.

jcollum 15.01.2009 23:19

Вы забываете, что Flash уже идет в комплекте с большинством браузеров.

Slapout 15.01.2009 23:23

Моя недавняя установка FF3 потребовала, чтобы я установил Flash отдельно. И установка Silverlight была проще.

jcollum 15.01.2009 23:54

Обратите внимание, что когда большинство пользователей покупают компьютер, он уже установлен как Flash. И, к сожалению, Андрей Ринеа, когда Microsoft хочет, чтобы пользователи установили что-то, они просто помещают это в каталог рекомендованных обновлений ....

Fábio Antunes 11.08.2009 16:47

Фактически, Flash не поставляется в комплекте с IE, FF или Chrome.

Christian Nunciato 18.11.2009 22:22

@Christian - Обновите это, Flash теперь связан в chrome в chrome в канале разработчика.

Nick Craver 21.05.2010 21:02

Я считаю, что Silverlight и XAML предпочтительнее ActionScript, и хотя я не знаком с IDE ActionScript, я знаком с VS2008 и Expression Web / Blend, и они являются очень хорошими средами разработки и постоянно совершенствуются. Я бы выбрал Silverlight, и я думаю, что ключ к тому, чтобы пользователи установили подключаемый модуль, - это иметь хорошую страницу обнаружения подключаемых модулей, которая объясняет, что такое SL и зачем он им нужен. Для примера перейдите к http://memorabilia.hardrock.com/ и попробуйте его с отключенным подключаемым модулем SL.

Как намекнул Кибби выше, аргумент в пользу использования существующих разработчиков .Net не выдерживает критики. Невозможно быть экспертом во всех аспектах разработки .Net. Платформа слишком велика. То же самое и с Java. Единственное, что дает Silverlight с точки зрения навыков, - это то, что вы можете писать код на своем любимом языке .Net. Это преимущество довольно невелико, если вы уже занимаетесь какой-либо значительной веб-разработкой с использованием JavaScript, поскольку сценарий Action - это вариант. Так что на самом деле преобразование программиста на Flex или Silverlight - это все, что нужно для изучения API платформы.

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

Наборы навыков будет легче найти, если найти разработчиков C# или VB, чем найти гуру ActionScript. Однако есть компромисс:

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

Прямо сейчас инструменты дизайнера Silverlight наполовину готовы и могут стать головной болью. Например, ошибки Blend при попытке отобразить любой xaml, содержащий IValueConverter, это проблематично. Я понятия не имею, что такое опыт разработчиков Adobe, я уверен, что он такой же непростой.

Итак, на данном этапе игры все сводится к человеческим ресурсам:

Если у вас есть опыт работы с .NET и вы мало инвестируете в навыки дизайна, выбирайте Silverlight. Навыки программирования / инструменты будут передаваться. Если у вас есть опыт в дизайне и набор навыков, выбирайте Flex. Дизайнерские навыки / инструменты будут передаваться.

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

Перефразированное мнение Джона с другой точки зрения:

Я думаю, вам следует смотреть на Flex как на долгосрочную игру, как, кажется, делает Adobe. Существует очевидный баланс в том, когда использовать Silverlight и Flex, когда вас беспокоит охват и база установки, но вот еще несколько причин, по которым Flex - хорошее направление для продвижения:

  1. Преимущество второго хода - точно так же, как Adobe создала «улучшенный Java-апплет» с помощью Flash они могут смотреть на как бы вы спроектировали среду выполнения из царапина, сегодня. У них есть преимущество знания того, как люди используют Интернет сегодня, что-то изобретатели существующего клиента платформы никогда не могли иметь точно угадал. .NET может добавить особенности, но они не могут реалистично отбросить платформу и начать сначала.

  2. Дизайнерское знакомство - Пока Flex / AIR - это новая модель программирования, это не совсем незнакомо дизайнеров. Они доберутся до пути Flex работает намного быстрее, чем они поймут зажигание нового среда проектирования с новой функцией плохие инструменты и новая анимация парадигмы.

  3. Избавление от цветовой модели RGB в Silverlight - .NET изначально построен для окон и находится на суть того, как это работает. Flex отказался от давным-давно для дизайн-ориентированного модель.

  4. Все ваши инструменты работают на вашем Mac. Nuff сказал.

  5. Интересные функции - Silverlight по-прежнему имеет какое-то отношение к Вспомните некоторые очевидные особенности (например, интеграция веб-камеры / микрофона или 3d / ускорение графики).

Посмотрите видео о QuakeLight и скажите мне, что Silverlight есть чем заняться в области графики. Также: «Все ваши инструменты работают на вашем Mac, - сказал Нафф». Видимо маки идеальны.

jcollum 15.01.2009 23:56

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

Iain 16.01.2009 13:57

@jcollum: на самом деле Quake также был перенесен на flash (youtube.com/watch?v=6TKGNS1N1yo) с помощью Alchemy (labs.adobe.com/technologies/alchemy).

Hrundik 07.06.2009 17:45

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

Joel Hooks 18.08.2009 18:19

«Вы можете почти гарантировать, что профессиональный дизайнер использует Mac и имеет опыт работы с инструментами Adobe». Если вы когда-либо использовали Flex Builder, вы бы знали, что «предыдущий опыт работы с инструментами Adobe» не является преимуществом. Он построен на основе Eclipse и будет незнаком для всех, кто ранее не знаком с программированием в среде IDE.

jamisonLikeCode 27.11.2009 20:38
Ответ принят как подходящий

Я думаю, вам следует смотреть на Silverlight как на долгосрочную игру, как, кажется, делает Microsoft. Существует очевидный баланс в том, когда использовать Silverlight и Flash, когда вы обеспокоены охватом и установочной базой, но вот несколько причин, по которым Silverlight - хорошее направление для продвижения:

  1. Преимущество второго шага - точно так же, как Microsoft создала «лучшую Java» с .NET, они могут взглянуть на то, как можно было бы разработать плагин RIA с нуля, сегодня. У них есть то преимущество, что они знают, как люди используют Интернет сегодня, о чем изобретатели Flash никогда не могли догадаться. Flash может добавлять функции, но они не могут реально отказаться от платформы и начать все сначала.

  2. Знакомство с разработчиками. Silverlight - новая модель, но она не совсем незнакома разработчикам. Они «поймут» способ работы Silverlight намного быстрее, чем они поймут, запустив новую среду разработки с новым языком сценариев и новыми парадигмами событий.

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

  4. ScottGu - ScottGu в восторге от Silverlight. Достаточно.

  5. Крутые новые функции - хотя Silverlight все еще немного догоняет Flash по некоторым очевидным функциям (например, интеграция веб-камеры / микрофона или ускорение 3D / графики), в Silverlight встроено несколько новых удобных технологий - одним из примеров является Deep Zoom. Я вижу больше «революционных» технологий на стороне Silverlight, в то время как Flash, похоже, сейчас находится в режиме обслуживания.

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

analytik 09.10.2008 22:39

1. лучшая Java, но не кроссплатформенная (хотя моно-рок) Adobe выбросила плеер и снова запустила AVM2 и AS3 2. Согласен 3. Временная шкала теперь необязательна (используйте спрайт вместо мувиклипа) 5. Абсолютно Flash НЕ имеет 3D-ускорения, так что это ничья. глубокий зум - это круто, но бессмысленно

Iain 15.01.2009 17:46

На самом деле, Джон, при всем уважении, вы сравниваете Silverlight с Flash, а не с Flex, что является типичной причиной недоумения сторонников Silverlight. Я написал приложение корпоративного уровня на Flex (которое скомпилировано в SWF), но даже не знал, с чего начать писать Flash-приложение.

SkunkSpinner 15.01.2009 18:01

Flash сильно отличается от Flex (и на самом деле в Flex есть частота кадров и все эти вещи, но они не используются, и это плохая практика) Flex также намного быстрее, чем Flash, я бы посоветовал вам взглянуть на интерпретатор C++ построен с помощью Flex. Плеер Silverlight не так уж и много

Mark 16.01.2009 00:02

@analytik. Он говорил о Flash, а не о Flex, если честно :) Silverlight в режиме Framework тоже не имеет времени, связанного с ним, так что это действительно яблоки / апельсины :) @troylar Я писал корпоративные решения на Flex / Flash много лет , применимы его выполнимые и аналогичные архитектурные принципы. Очевидно, что Flex имеет меньшее трение. Его ранние версии действительно зависели от кадров, но с момента последнего добавления к AVM ++ Sprite vs MovieClip. @Mark Silverlight установлен на каждой третьей машине - 400 миллионов установок (у людей SL больше, чем у iPhone, iPod, Twitter и т. д.).

Scott Barnes 01.09.2009 02:32

Да, но если Кевгриф пойдет на собрание и скажет, что Скотт Гатри хвалит Silverlight, его коллеги скажут: «Кто?».

adamcodes 25.11.2009 18:09

@ilk - Я начал работать в Microsoft в декабре 2009 года. Я опубликовал этот ответ в августе 2008 года. Я устроился на работу в Microsoft, потому что мне нравятся их продукты для разработчиков, а не наоборот. Достаточно.

Jon Galloway 13.08.2010 00:42

Здесь есть два вопроса: Silverlight против Flash как платформы и Silverlight против Flex как RIA framework.

Первый вопрос зависит от ваших временных рамок. Flash Player имеет охват более 95%, Silverlight не может приблизиться к этому. Тем не менее, Silverlight может оказаться там, в конце концов, он поддерживается Microsoft. Если вы планируете запустить сайт на следующей неделе и хотите иметь огромную аудиторию, Silverlight вам не подходит. Если вы стремитесь запустить действительно крутое приложение, которым все захотят пользоваться, оно будет немного другим, если ваше приложение достаточно хорошее, ваша целевая аудитория может установить Silverlight, чтобы иметь возможность запускать его.

Что касается второго вопроса, то дело в том, насколько легко разработать Приложения в Silverlight. Flex - это не просто набор виджетов, это очень большой фреймворк, который упрощает работу разработчика. Вы можете писать те же приложения, используя только основной Flash API, но это потребует гораздо больше работы. В зависимости от того, что доступно в Silverlight, это должно быть важным фактором при принятии решения. Если вы можете сократить время разработки, стоит ли иметь две платформы?

Программисты Silverlight не знают, чего они упускают, когда дело касается Flex. В Silverlight отсутствует компонентная модель и возможности запуска событий, которые есть в Flex. Используя XNA и C#, моему другу приходится преодолевать все препятствия, чтобы его приложение Silverlight заработало. Затем его нужно передать дизайнеру, чтобы он выглядел наполовину прилично.

Послушайте подкасты deepfriedbytes.com на Silverlight, и вы услышите, как даже пара парней, которые действительно продвигают Silverlight, признают некоторые из этих проблем. (Я считать, если я правильно помню, один из ребят работает в Microsoft, но я могу ошибаться - я слушал его на прошлой неделе). Они согласны с тем, что Silverlight не совсем готов для каких-либо огромных приложений в своем текущем состоянии.

Я бы выбрал Flex, потому что это хороший чистый и простой подход, особенно если вы уже знакомы с Flash и ActionScript 3.0. На мой взгляд, Flex имеет гораздо больше смысла - Silverlight еще предстоит повзрослеть.

-1. Какое отношение XNA имеет к Silverlight? Они не связаны напрямую, как вы предполагаете. И 99% программистов действительно должен передают свои вещи дизайнеру задолго до того, как выложить их в свет :)

jcollum 15.01.2009 23:52

Еще одно преимущество разработки Flex состоит в том, что вы можете переключиться на разработку настольных приложений (Adobe AIR) с тем же исходным кодом (и той же IDE) и распространять их через Интернет. Вы можете проверить это для будущего платформы Flash.
Обновление Q3 / 2011: Flash 11 поддерживает низкоуровневое 3D-ускорение, и уже существует множество фреймворков и основных движков (Unreal Engine 3, Unity), поддерживающих его. Однако коммерческим аргументом на будущее является то, что приложение AIR будет работать на платформах Windows, Mac, Android, Playbook и iOS (поддержка Linux прекращена). С абсолютным минимумом проблем при переносе между ними (по крайней мере, когда у вас есть Adobe CS5.5 +).

Обновление Q2 / 2015: Silverlight официально мертв. Adobe AIR жив, но не процветает - он может быть полезен в зависимости от ваших навыков и набора инструментов. И Microsoft, и Adobe признают, что HTML5 - лучший вариант (будь то AIR, Apache Cordova или Visual Studio).

Обновление Q3 / 2017: Ха-ха, вау, кто даже больше использует Flash.

Кроме того, Flash Player 10 включает 3D с аппаратным ускорением - УЖЕ НЕТ!

Iain 15.01.2009 17:47

Согласен на AIR (может быть очень важно), но без поддержки 3D (пока).

Hrundik 07.06.2009 18:00

Больше всего мы замечаем, что Air был выпущен в начале 2008 года, он был очень молодым, конечно, со временем он станет еще лучше. Я не могу высказаться «без стороннего мнения», потому что мне просто не нравятся методы Microsoft Business / Marketing. Но если бы не было, то мы не были бы в нынешнем состоянии технологий, как мы.

Fábio Antunes 11.08.2009 16:51

У Flex есть Air, у Silverlight есть WPF. Я не думаю, что есть достаточно различий, чтобы это могло быть аргументом в пользу того или иного.

Keith 18.08.2009 18:18

Silverlight 3 поставляется с функцией «вне браузера», при которой ваше приложение Silverlight можно установить на рабочий стол, как приложение AIR. Существуют API-интерфейсы для определения, когда приложение работает в браузере или нет, когда есть подключение к Интернету, и даже API для автоматического обновления приложения.

Jason Miesionczek 07.09.2009 07:36

Как графический дизайнер, я использовал Flash (включенный и выключенный) в течение последних нескольких лет и Silverlight (и его старший брат WPF) в течение последних 1,5 лет. Основываясь на том, что я слышал от моей команды (все они являются разработчиками или бывшими разработчиками, если ваши .Net-разработчики будут заниматься программированием, используйте Silverlight. Я люблю Flash, но даже после капитального ремонта ООП в ActionScript 3 в Flash 9 и выше, это все еще несколько необычный язык, и переход от AS3 к C# и обратно, вероятно, сведет ваших разработчиков с ума :-).

Для своих дизайнеров сделайте следующее:

  • Дайте им копию Expression Blend, средства разработки графического интерфейса для Silverlight / WPF.

  • У Blend довольно крутая начальная кривая обучения, а интерфейс предлагает вам массу переменных / опций, поэтому потратитесь на обучение и дайте вашим дизайнерам время, чтобы быстро освоить пользовательский интерфейс.

  • Говоря об обучении, получите подписку на видеотеку Lynda.com, особенно. учебный курс Lee Brimelow Expression Blend.

  • Caveat emptor: Blend и WPF меняются быстро, поэтому иногда вы будете сталкиваться с ошибками в Blend, которые будут исправлены в следующей бета-версии / CTP Blend. Например. В Blend 2 была ошибка, из-за которой мои раскадровки (анимации) не работали в недавнем проекте. Я обновился до Blend 2.5CTP, и это сработало.

  • Контент Silverlight, похоже, не всегда работает с последней бета-версией плагина Silverlight, просто о чем следует помнить, если вы тестируете какую-либо новую функцию, доступную только в последней версии плагина Silverlight.

  • Инвестируйте в мощную систему (Quad Core, 4 ГБ ОЗУ и т. д.) Blend потребляет много ресурсов, особенно. когда у вас есть тонны слоев. Например. Я работаю над приложением с более чем 100 слоями (!) В базовом приложении (и еще 100+ в некоторых пользовательских элементах управления) и примерно 40-50 раскадровками. Каждые несколько минут мне приходится перезапускать Blend, потому что пользовательский интерфейс перестает отвечать (но не зависает). Либо так, либо переместите все, что вы можете, в пользовательские элементы управления.

«100 слоев (!) В базовом приложении (и еще 100+ в некоторых пользовательских элементах управления) и около 40-50 раскадровок»: похоже, вам нужно поработать над разбивкой на большее количество пользовательских элементов управления. Конечно, вы не работаете над всеми этими вещами в одни и те же несколько минут?

jcollum 15.01.2009 23:50

Не забыть:

Flex в значительной степени кроссплатформенный, поскольку он компилируется с использованием компиляции Java, что означает, что вы можете легко использовать Mac или Linux при разработке приложений Flex. У меня текущая настройка круиз-контроля (в которой используется Linux). Я создаю приложения Flex, но разработчики используют Mac, Linux и Windows.

По моему опыту, разработчики Java чувствуют себя в Flex Builder как дома, поскольку он основан на Eclipse.

Я должен сказать, что разработчики C# тоже хорошо относятся к Flex, поскольку главный дизайнер Flex изначально входил в команду .Net.

Mark 15.01.2009 23:58

Вы также можете использовать Eclipse с плагином Flex Development, который выполняет те же функции, что и Adobe Flex.

Fábio Antunes 11.08.2009 16:58

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

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

Я предлагаю вашим разработчикам попробовать обе платформы и посмотреть, какая из них им больше нравится.

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

Я вижу, что больше людей отдают предпочтение Flex, чем Silverlight, так что, возможно, больше людей .Net доминируют, но это определенно не предвзято

Mark 15.01.2009 23:57

Значит, разработчики Microsoft автоматически нечестны? Все, кто с тобой не согласен, лжецы?

Joel Mueller 16.01.2009 00:20

Мы прошли через ту же проблему, и Flex безоговорочно победил. Наши .NET-разработчики сначала были обеспокоены, но после долгой работы с Ajax и JavaScript, теперь они ЛЮБЯТ и действительно наслаждаются работой во Flex.

Вот вам простой тест. . . постарайтесь найти хотя бы 3 примера реальных приложений Silverlight (кроме игр, видеоплееров или гаджетов). Затем проделайте то же самое с Flex.

«боль Ajax и JavaScript»

jcollum 15.01.2009 23:47

Тот факт, что ваш разработчик уже мог программировать на JavaScript, может иметь прямое отношение к тому, что они быстро научились использовать Flex.

Ian Ringrose 11.05.2011 19:22

Я использую это эмпирическое правило: если ваша компания разрабатывает мультимедийное программное обеспечение на базе Интернета, и у нее есть клиенты со всеми видами платформ, и вы не занимаетесь приложениями, интенсивно использующими базы данных, Flex - однозначный ответ, если ваша компания разрабатывает продукты на основе Интернета и DVD. , менее интерактивен, но более интенсивен (ЦП, память) и использует невероятное количество транзакций базы данных. Silverlight имеет больше смысла.

Кто-то сказал: «Найдите 3 реальных приложения Silverlight». Хорошо, я знал кое-что из головы, но я все равно погуглил. Список:

  • Олимпийские игры 2008 г. в Пекине (статистика здесь, доставлено 250 ТБ данных!)
  • Netflix по запросу
  • Почтовый клиент AOL (еще не выпущен)

О, не видеоплееры? Что ж, остается приложение UFC (это гибрид видео / чата / прочего) и почтовый клиент AOL. Silverlight превосходит видео, и именно здесь он закрепляется, но это не значит, что он не может делать другие вещи. Я не вижу причин отказываться от него только потому, что он хорошо справляется с видео.

В Infoworld [связь] говорится, что «Silverlight обладает существенными техническими достоинствами и относительно хорошей производительностью. Это очень эффективная технология RIA, которая особенно полезна в руках программистов с опытом .Net и дизайнеров с опытом XAML». Это хорошая статья по поводу вашего вопроса.

Мой ответ: если у вас есть команда разработчиков, знакомых с .NET, то Silverlight должен быть первым в вашем списке. Если нет, то это настоящая жеребьевка. Я видел статьи, в которых говорилось, что Visual Studio - лучшая платформа для разработки по сравнению с тем, что вы используете с Flex. Но Flash чертовски почти повсеместен.

Также имейте в виду, что Silverlight 2 почти не использует Javascript (я думаю, что нет, но я не уверен). Так что отказ от Silverlight из-за JS необоснован.

Если значение спектакль имеет значение, Silverlight здесь выигрывает. Я много раз видел, как загрузка ЦП в моем браузере увеличивалась до 100%, и удаление любого окна, в котором запущено, Flash всегда избавляло от этого. Это особенно очевидно в Chrome, где вы можете видеть процесс, потребляющий ваш процессор. Если вас интересует Silverlight с точки зрения игрового потенциала, поищите QuakeLight, порт Quake для Silverlight. Это действительно хорошо складывается.

Я действительно думаю, что все сводится к тому, в чем заключается ваш талант разработчика и какое приложение вы будете выпускать. Простая игра? Вспышка. Бизнес-приложение? Silverlight. Между? Делайте то, что рекомендуют ваши разработчики.

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

Если вы выполняете развертывание в потребительском Интернете, вам подойдет Flash Player или AJAX. Если вы развертываете частную локальную сеть для предприятия .net, у вас есть варианты.

Вы серьезно не должны использовать ЛЮБОЙ этих технологий ActiveX2.0. Ни Silverlight, ни Flex ...

Во-первых, оба они не более чем «распределенные фреймворки winforms с поддержкой запуска в браузере», во-вторых, они плохо переносятся на другие устройства (особенно это верно для Silverlight), в-третьих, они не работают. хорошо сочетается с другими частями вашей страницы. Они плохо подходят для людей с ограниченными возможностями и т.д.

Adobe и Microsoft очень стараются скрыть этот факт, но, в конце концов, и Silverlight, и Flex - это не что иное, как ActiveX в новой упаковке ...

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

Я часто слышу эту теорию, и мне приходится с ней не соглашаться. Вы предлагаете мне разработать свой шутер от первого лица на Javascript и CSS, чтобы в него могли играть все подростки, использующие Plan 9? Корпоративные бизнес-приложения могут особенно выиграть от преимуществ развертывания и обслуживания, предлагаемых RIA. Разработка насыщенного контента (например, 3D-движка) с помощью HTML / CSS / JS чрезвычайно сложна и страдает синдромом квадратной привязки / круглого отверстия. У RIA есть свое место, и я с нетерпением жду роста конкуренции на этой арене.

Alex 30.07.2009 20:03

Вероятно, сегодня для вашего шутера от первого лица JS и HTML - неподходящая технология. Хотя то, что вы говорите о развертывании и обслуживании корпоративных LOB, требует комментариев. Поддерживать и развертывать Silverlight гораздо сложнее, сложнее и хлопотнее, чем развертывание «JS и HTML» ... (очевидно!) И Silverlight, вероятно, немного проще развертывать (и поддерживать), чем настольная вещь ...

Thomas Hansen 30.07.2009 22:30

Что касается корпоративных приложений, HMTL не подходит для области, в которой я работаю (ресурсы). Требуемый контент и функциональность слишком динамичны. Для работы с Microsoft SOE Winforms был лучшим вариантом. WPF упрощает развертывание с помощью щелчка один раз, но вам все равно придется иметь дело с бесконечной бюрократией, связанной с утверждением настольных приложений для SOE. Приятно иметь что-то, работающее в браузере под .NET-кодом, не требующее нормального торга с ИТ-специалистами.

Alex 02.08.2009 11:02

@Alex - Было бы интересно узнать, почему вы думаете, что проблемы вашего домена слишком сложны для решения с помощью платформы W3C (HTML, JS, CSS и т. д.) - Google делает карты через платформу W3C. Конечно, некоторым экстремальным приложениям (в основном, играм, которые я подозреваю) требуется больше мощности, чем может предоставить платформа W3C, но я подозреваю, что для таких вещей лучше подойдет что-то вроде Qt или NativeClient, если не для чего-то еще, чем тот факт, что они Open Source. Но я могу ошибаться, возможно, Silverlight - это то, что вам нужно, но тогда вы принадлежите к небольшой группе разработчиков ОЧЕНЬ ...

Thomas Hansen 02.08.2009 15:52

Механизмы визуализации - очевидный пример. И да, Google Apps и Google Docs отлично выглядят и удобны. К сожалению, найти такой талант в W3C непросто. Как вы думаете, почему вообще Flash стал таким популярным? ИМХО это позволило разработчикам быстро создавать высокодинамичный контент, не будучи ниндзя W3C. Я также передергиваюсь при мысли о написании сложных приложений на Javascript ... на самом деле это не то, для чего он был разработан. Если открытая альтернатива, такая как NativeClient, поймает, это будет здорово, но сегодня у меня нет шансов получить это одобрение в моем корпоративном SOE.

Alex 03.08.2009 19:29

@Thomas, JS следует уничтожить, он больше не нужен после flash и silverlight, HTML уже в прошлом, и он скоро закончится, как язык ассемблера, процедурные языки и т. д., Люди изобретают технологии для сокращения строк кода => человеко-часы на разработку . Действительно, ваш ответ даже не совпадает с вопросом, спросил запрашивающий Silverlight Vs Flex, ответ не может быть в форме «прекратить использовать их обоих».

Akash Kava 02.10.2009 13:39

«Они плохо подходят для людей с ограниченными возможностями и т. д. И т. Д. И т. Д. Список продолжается до бесконечности ...» это неверно, Microsoft всегда делала то, что всегда делала хорошую доступность во всех своих продуктах, UIAutomation Peer технология намного лучше, чем любая другая, доступная на рынке.

Akash Kava 02.10.2009 13:41

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

Если вы знаете .NET, вам подойдет Silverlight 3.0. Я использую это, и мне это нравится. Мне не нужно связываться с AJAX или JS BTW (я понятия не имею, о чем этот парень имел в виду, возможно SL 1.0). Для данных это в основном асинхронные вызовы WCF (LINQ to SQL за WCF) или файлы XML или службы RIA. Он позволяет вам использовать большинство шейдерных эффектов, имеет стили, шаблоны управления и собственный буфер обмена Windows / Mac. Я могу запускать видео высокой четкости, и большинство процессов работают очень хорошо даже при медленных процессорах. Мне также нравится связывание данных, связывание элементов управления и наблюдаемые коллекции, которые экономят мне много времени. ПЛЮС я могу использовать LINQ, что значительно экономит время, не говоря уже об использовании Visual Studio для отладки.

Я разрабатываю корпоративные приложения .NET, поэтому я знаю свою базу установки, и они установят надстройку (обычно 30 секунд). Для интерфейсного веб-сайта вы можете потерять некоторых пользователей, которые не хотят устанавливать Silverlight или не запускают Mac или Windows. Вы МОЖЕТЕ иметь приложения с SL вне браузера с 3.0.

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

Моя команда раньше писала богатые веб-функции в Flex, а теперь пишет их в Silverlight.

Наши причины для этого перехода:

  • FlexBuilder построен на Eclipse. Затмение ужасно! Бесплатно, но с ошибками, заполненными глюками и медленно.
  • FlexBuilder в два раза дороже Expression Blend, который мы в любом случае получаем бесплатно с MSDN.
  • Flex - это боль для системы управления версиями, его не любят помещать файлы в одно место, и он плохо сочетается с другими частями вашего решения (мы пробовали использовать SourceGear Vault и SVN).
  • Версия ActionScript для Flex не нравится большинству реализаций SOAP, в частности, у нее есть всевозможные проблемы с реализациями .Net WebMethod.
  • Несмотря на то, что мы периодически используем лицензионные компоненты Flex, он решает, что у нас нет этой версии, и добавляет водяные знаки только для демонстрации. Единственный способ удалить это - разобрать проект, переустановить Flex, переустановить лицензии и перестроить его.
  • FlexBuilder совсем не любит Vista.
  • Принятие Silverlight растет, когда оно было на уровне, на котором мы могли бы добавить его в качестве требования для соответствующих функций, которые мы переключили. Если бы мы работали для веб-аудитории (а не для корпоративной), я не уверен, что мы могли бы это сделать.

Остальная часть нашего проекта - это .Net и C#, вы можете найти все эти проблемы менее значительными в магазине Java.

Мы разрабатываем Flex в Eclipse с помощью Subversion и пришли к выводу, что это стабильно и продуктивно. Сказать, что Flex - это боль для системы управления версиями, для меня не имеет смысла.

HDave 29.12.2010 09:37

@HDave - мы обнаружили, что проект Flex регулярно требовал перестройки после проверки (сначала с Vault, но позже и с SVN) впервые новым пользователем. Если они перестроили его, когда они вернулись, исходный пользователь вместо этого получил поврежденный проект. Мы также регулярно теряли лицензию Flex Charts, так что интегрированная сборка заканчивалась с демонстрационными водяными знаками на диаграммах и отключенными функциями. Может быть, Eclipse сейчас лучше, но когда мы использовали его еще в 2008 году, он постоянно давал сбой или иным образом отказывал.

Keith 30.12.2010 18:40

Я предполагаю, что время было другом Flex / Eclipse / Subversion. Я использую его только последние 15 месяцев, но у меня не было такого опыта. Я использую Flash Builder 4, который мне не нравится, но, по крайней мере, проверка / фиксация работает. Я также использую Maven / Flexmojos, но на то, чтобы разобраться, потребовалось много времени.

HDave 31.12.2010 08:46

Мы делаем и silverlight, и flex, и вот точка зрения разработчика на них обоих.

Плюсы Silverlight:

  1. Возможности C#, фрагменты кода, повторное использование существующих реализаций алгоритмов C#
  2. Возможности других языков, Generics, Linq и т. д.
  3. Возможности собственного исполнения CLR вместо интерпретатора сценариев действий Flash
  4. Единая интегрированная Visual Studio для всех разработчиков
  5. Expression Blend - действительно крутой и более продвинутый редактор, чем Flex Builder.
  6. XAML удобен для поисковых систем
  7. Довольно приятные переходы между состояниями и их легко определить
  8. Многопоточность и асинхронные задачи
  9. Доступность, никто не знает, что Microsoft всегда делала лучшие функции доступности для всех своих продуктов, они всегда хорошо работали с людьми с ограниченными возможностями, сравнивая браузеры, только IE поддерживает полную доступность, а Safari / firefox и т. д. Не где-то ближе.

Минусы Silverlight:

  1. Строго говоря, платформа Microsoft, я знаю, что многие люди будут спорить, но с текущим сценарием половина разработчиков Intel Mac не может заставить работать silverlight 3.0, все разработчики PPC Mac не могут использовать Silverlight 2.0 и новее, и Silverlight для Linux не используется.
  2. Есть моно, но официально не поддерживается Microsoft, он всегда будет отставать от обратного проектирования .NET и его портирования на другую платформу, это еще не из коробки.
  3. Большинство компонентов / элементов управления являются «запечатанными», поэтому их сложно расширить и переопределить, чтобы легко создавать новые компоненты.
  4. Плохая архитектура CustomControl / UserControl. Например. у вас не может быть корня XAML как ComboBox или любого другого элемента управления, и пусть он имеет как дизайн, так и код, вы можете создать собственный элемент управления, но они слишком сложны
  5. Привязка требует именования компонентов и не поддерживает выражения экземпляров, такие как flex, хотя двусторонняя привязка хороша в silverlight, но вам нужно писать длинные коды для нескольких привязок для одного математического выражения
e.g.
// this is possible in flex..
// but not in silverlight
<mx:TextBox id = "firstName"/>
<mx:TextBox id = "lastName"/>

// display full name..
<mx:Label text = "{firstName.text} {lastName.text}"/>

Плюсы Flex:

  1. Действительно независимая от платформы, поддерживается на различном оборудовании и операционных системах и действительно отлично работает везде.
  2. Открытый исходный код позволяет легко понять и расширить функциональность.
  3. Каждый элемент управления / компонент может быть расширен, и существует меньше ограничений, отменяющих поведение по умолчанию.
  4. Самый простой способ создания новых компонентов, вы можете получить mxml от любого элемента управления и расширить их с помощью обширных привязок.
  5. Flex содержит множество элементов управления, и вам не нужна сторонняя библиотека

Минусы Flex:

  1. Медленное выполнение для итеративного выполнения, без потоков !! нет асинхронных задач !!
  2. Согласно пункту 1 невозможна отличная анимация или графика.
  3. Без дженериков, без других языков, без linq ..
  4. Числовой класс имеет ошибку, не может сохранить полное 64-битное значение
  5. Eclipse плох для создания чего-то отличного пользовательского интерфейса

Вывод

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

Просто примечание: вы МОЖЕТЕ использовать Linq во Flex через www.actionlinq.org :)

Brian Genisio 07.11.2011 04:20

Flash Player доступен и официально поддерживается почти на всех настольных платформах (Windows, Linux, Mac), тогда как Silverlight будет поддерживаться в основном в Windows.

следующий статья обеспечивает сравнение обеих платформ.

Неправильно, Silverlight также поддерживает Mac и Linux через Лунный свет

vijiboy 05.10.2012 15:31

Привет, vijiboy, Moonlight - это проект с открытым исходным кодом (поддерживается только сообществом). С Moonlight Silverlight может частично работать на Mac и Linux.

Tarun 22.11.2013 07:43

Moonlight косвенно поддерживался MS, как говорится в Википедии en.wikipedia.org/wiki/Moonlight_(runtime)#Microsoft_support. в любом случае оба остановили «дорожную карту».

vijiboy 22.11.2013 10:34

Ниже приведен список поддерживаемых браузеров и ОС для silverlight microsoft.com/getsilverlight/locale/en-us/html/…. Лунный свет

Tarun 12.07.2017 14:51

Информация о проекте Moonlight (который в настоящее время не находится в активной разработке, находится здесь) mono-project.com/docs/web/moonlight

Tarun 13.07.2017 07:21

Это старый вопрос, история теперь заговорила!

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

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

Возможно, однажды Flex будет перенаправлен на HTML5 без дополнительных модулей….

Говорили об iPhone, и было сказано, что единственный вариант - это Apple Way или HTML5.

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

Tarun 13.07.2017 07:23

Другие вопросы по теме