Silverlight 3 (C#) и Flash 10 (AS3)

Чем отличается Silverlight от Flash 10?

  1. что легче? (Потребление ЦП, время загрузки, производительность)

  2. который имеет более богатые возможности (API, библиотеки)

  3. быстрее для разработки?

  4. как насчет обработки мультимедиа (потоковое аудио/видео)?

  5. нужно ли мне специальное серверное/клиентское программное обеспечение для их использования?


person Nikola Sivkov    schedule 08.08.2009    source источник


Ответы (6)


  1. что легче? (Потребление ЦП, время загрузки, скорость выполнения и т.д..)

    • They are comparable. Bubblemark has a comparison that tries to benchmark them but I would take it with a grain of salt. Fact is, you can get decent performance with either. If you start staring too hard at micro-benchmarks you're gonna lose the point of using such high-level frameworks.
       
  2. который имеет более богатые возможности (API, библиотеки и т. д.)

    • This will depend on what it is you are trying to do. Silverlight has the .Net libs (not sure of the exact subset) which is probably nice. But ActionScript and Flash have been around for ages and have a huge community complete with almost any library you want. I think you would be hard pressed to find something one can do that the other cannot. I like ActionScript alright but I think I'd prefer C# as a development language.
       
  3. быстрее для разработки?

    • Hate to keep saying "it depends" but that is the truth. If you know .Net and C# already you may be familiar with the Microsoft toolkit. Flash 10 can be programmed using Flash CS4 or Flex Builder (which is an IDE) so it depends if you are coming from an engineering or graphical design perspective on which you would use. I think MS would win the development tools battle but Adobe would win the integration with graphics tools battle. I don't mind Flex Builder and it hasn't let me down, but when I was developing using VS (C++) I was really pleased with the experience.
       
  4. как насчет обработки мультимедиа (потоковое аудио/видео)?

    • youtube is Flash. Same with almost any other mainstream Audio/Video streaming site on the web (with few exceptions). That said, some of the new Silverlight demos show incredible video capability and control.
       
  5. нужно ли мне специальное серверное/клиентское программное обеспечение для их использования?

    • To deliver content through the browser, both require a plug-in. Flash is by far more ubiquitous at the moment. If you are going for sheer number of current installs then Flash is the best choice. Adobe also has Air which allows you to publish Flash content as a cross-platform desktop application. This does require the user has the Air runtime installed on their computer, but it would allow you to then create apps that run on Windows, OS X and Linux.

Одна вещь, которую я затронул и которая действительно важна, — это размер сообщества. Сообщество Flash намного старше и намного больше. Это важно, потому что легче найти людей, которые сделали что-то похожее на то, что вы пытаетесь сделать. Количество руководств, примеров кода, блогов, форумов, сторонних библиотек с открытым исходным кодом и т. д. упрощают изучение ActionScript.

Для меня решение сводится к нескольким вопросам для себя:

  1. Вы уже знакомы с C#/.Net и цепочками инструментов разработки Microsoft?
  2. Насколько важен для вашего решения размер текущей установленной пользовательской базы?
  3. Заинтересованы ли вы в разработке кроссплатформенных настольных приложений, а также контента для подключаемых модулей браузера?
  4. Вы бы предпочли быть пионером на молодой платформе или воспользоваться преимуществами опыта, доступного на более старой платформе?
person James Fassett    schedule 08.08.2009
comment
Говоря о Bubblemark, существует устаревшая реализация SL2. С оптимизированной реализацией пузырьковая метка SL3 работает в 3–6 раз быстрее, в основном потому, что использует аппаратное ускорение графического процессора. Кроме того, Silverlight действительно быстрее (в 2-4 раза) на интенсивных вычислениях. - person Ray; 08.08.2009
comment
Здравствуйте, во-первых, я хочу поблагодарить вас за отличный ответ! Вот мой ответ на ваш вопрос: 1) Я уже являюсь разработчиком .net/C# 2) Размер сообщества важен, хорошо, но если приложение, которое я создал, не приложит ли пользователь усилий, чтобы установить плагин с несколькими мегабайтами? ему все равно не повредит, верно? 4) я думаю, что хочу быть пионером :) - person Nikola Sivkov; 08.08.2009
comment
Re: установка - некоторые будут установлены, некоторые нет, а некоторые не могут (например, корпоративная политика). Это может или не может быть проблемой для типа аудитории, на которую вы ориентируетесь. Однако при взвешенном взгляде на технологии важно оценивать их как риск. - person James Fassett; 08.08.2009
comment
Хороший ответ. Я бы добавил к вашему № 5, что Silverlight 3 поддерживает установку вне браузера, как это делает Air для Flash, но без необходимости в отдельном дополнении. - person Raumornie; 09.08.2009
comment
Одним из способов реакции Silverlight на Adobe Air является то, что очень легко перенести приложение из Silverlight в настольное приложение WPF, поскольку оба они написаны на C#/XAML, используют одни и те же конструкторы и имеют схожие (хотя и не идентичные) объектные модели. Конечно, WPF не является кроссплатформенным. Однако Air основан на интерпретаторе, тогда как WPF компилируется/JIT-компилируется, поэтому приложения WPF должны быть более производительными. - person Drew Hoskins; 09.08.2009
comment
Moonlight может работать довольно много случаев. И он поддерживался из браузера до того, как это сделала Microsoft. - person Dykam; 09.08.2009

3. По большинству отзывов, которые я слышал, C#/XAML является более удобной для разработчиков средой, чем actionscript. Лучше бы он был таковым — он был создан много лет спустя.
4. В Silverlight есть видео с адаптивным битрейтом. Я считаю, что для Flash вам нужно расширение Autobahn Flash, чтобы получить это. Это только одна особенность, другие люди, несомненно, знают о других, где одна побеждает другую.

person Drew Hoskins    schedule 08.08.2009
comment
После использования Action Script в Flex Builder около 3 недель, после 4 лет работы разработчиком на C#, я бы сказал, что C# имеет гораздо больше возможностей. Конечно, это не обязательно делает его лучше, это субъективно. XAML от Microsoft и MXML от Adobe кажутся очень похожими по своей концепции. - person AaronLS; 08.08.2009
comment
Спасибо за ответ! это видео с адаптивным битрейтом огромно + для Silverlight! - person Nikola Sivkov; 08.08.2009
comment
3. MXML старше (2004 г.) и мощнее, поскольку содержит AS3 в качестве истинного подмножества (сравните привязки данных MXML и XAML или обработку событий). 4. тут дело в сервере а не в клиенте. Flash также может воспроизводить видео с адаптивным битрейтом. просто единственный сервер, способный на это, — это какая-то роскошная версия FMS, которая довольно дорогая. но я думаю, что сценарий с 56 тысячами парней, транслирующих ваши видео, немного нелеп. если вы не адаптируете его к разрешению 4x4, он все равно будет лагать ;-) я не знаю, сколько будет стоить эквивалентный сервер MicroSoft, но держу пари, что он тоже не бесплатный. - person back2dos; 08.08.2009
comment
@back2dos: хотите немного глубже понять, почему MXML более мощный, чем XAML, потому что он содержит AS3? Кроме того, Smooth Stream доступен для любого Windows Server (под управлением IIS) в качестве бесплатного дополнения. - person Richard Szalay; 09.08.2009

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

person Community    schedule 08.08.2009

-5 Оба требуют программного обеспечения на стороне клиента. На стороне клиента необходим Flash Player или среда выполнения Silver Light.

person AaronLS    schedule 08.08.2009

У flex есть один огромный недостаток: он не имеет встроенной поддержки ws-security. Только проблема, если вы хотите безопасно использовать веб-сервисы. Таким образом, защита вызовов службы во flex немного сложнее.

В довершение всего нет поддержки SOAP1.2! Хотя их не так уж сложно преодолеть с помощью небольшого количества покерных игр!

Хотя мне нравится флекс, но, как и у всего, у него есть свои недостатки.

person Jon    schedule 09.08.2009

О

3) быстрее для разработки?

Зависит от вашей команды, если ваша команда ориентирована на .net ... SL - это технология, которую вы можете выбрать, вы сэкономите время на ввод в эксплуатацию, если нет ... тогда трудно выбрать, какая из них лучше соответствует вашим потребностям ( Я не могу сказать вам честно, потому что у меня сердце SL :P).

Привет Браулио

person Braulio    schedule 09.08.2009