Silverlight против Flex - PullRequest
       41

Silverlight против Flex

71 голосов
/ 21 августа 2008

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

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

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

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

Ответы [ 22 ]

5 голосов
/ 18 августа 2009

Моя команда раньше писала многофункциональные веб-функции во 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.

5 голосов
/ 20 сентября 2008

Как графический дизайнер, я использовал 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 была ошибка, из-за которой мои раскадровки (анимации) не работали в недавнем проекте. Я обновил до версии 2.5CTP, и она заработала.

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

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

3 голосов
/ 21 августа 2008

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

3 голосов
/ 15 января 2009

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

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

2 голосов
/ 21 августа 2008

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

2 голосов
/ 09 июня 2009

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

1 голос
/ 15 января 2009

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

1 голос
/ 18 августа 2009

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

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

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

1 голос
/ 15 января 2009

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

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

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

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

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

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

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

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

0 голосов
/ 27 мая 2015

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

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

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

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

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

...