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





Проблема с Silverlight в том, что у многих по-прежнему он не установлен. Кроме того, я не уверен, насколько хорошо ваши существующие .Net-разработчики смогут использовать свои существующие навыки, если они будут знакомы только с более традиционным серверным .Net-кодированием.
По каким причинам вы предпочитаете Silverlight Flex? Если вам нужно спросить сообщество SOFlow о причинах, кажется странным, что вы так охотно их настаиваете.
Просто подождите, пока MS включит автоматические обновления, и будет достигнуто 99% проникновения.
Ну конечно; естественно. Точно так же 99% пользователей IE используют IE7, и никто не использует IE6, потому что IE7 прошел через автоматические обновления. Да.
Установка silverlight довольно проста для пользователей, у которых ее нет.
Я согласен с Крейгом. Установить проще, чем Flash.
Вы забываете, что Flash уже идет в комплекте с большинством браузеров.
Моя недавняя установка FF3 потребовала, чтобы я установил Flash отдельно. И установка Silverlight была проще.
Обратите внимание, что когда большинство пользователей покупают компьютер, он уже установлен как Flash. И, к сожалению, Андрей Ринеа, когда Microsoft хочет, чтобы пользователи установили что-то, они просто помещают это в каталог рекомендованных обновлений ....
Фактически, Flash не поставляется в комплекте с IE, FF или Chrome.
@Christian - Обновите это, Flash теперь связан в chrome в chrome в канале разработчика.
Я считаю, что 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 - хорошее направление для продвижения:
Преимущество второго хода - точно так же, как Adobe создала «улучшенный Java-апплет» с помощью Flash они могут смотреть на как бы вы спроектировали среду выполнения из царапина, сегодня. У них есть преимущество знания того, как люди используют Интернет сегодня, что-то изобретатели существующего клиента платформы никогда не могли иметь точно угадал. .NET может добавить особенности, но они не могут реалистично отбросить платформу и начать сначала.
Дизайнерское знакомство - Пока Flex / AIR - это новая модель программирования, это не совсем незнакомо дизайнеров. Они доберутся до пути Flex работает намного быстрее, чем они поймут зажигание нового среда проектирования с новой функцией плохие инструменты и новая анимация парадигмы.
Избавление от цветовой модели RGB в Silverlight - .NET изначально построен для окон и находится на суть того, как это работает. Flex отказался от давным-давно для дизайн-ориентированного модель.
Все ваши инструменты работают на вашем Mac. Nuff сказал.
Интересные функции - Silverlight по-прежнему имеет какое-то отношение к Вспомните некоторые очевидные особенности (например, интеграция веб-камеры / микрофона или 3d / ускорение графики).
Посмотрите видео о QuakeLight и скажите мне, что Silverlight есть чем заняться в области графики. Также: «Все ваши инструменты работают на вашем Mac, - сказал Нафф». Видимо маки идеальны.
По моему опыту, разработчики могут освоить новые языки программирования быстрее, чем дизайнеры - новые программы для проектирования. Они еще больше застряли на своем пути, чем мы!
@jcollum: на самом деле Quake также был перенесен на flash (youtube.com/watch?v=6TKGNS1N1yo) с помощью Alchemy (labs.adobe.com/technologies/alchemy).
какое отношение «дизайнерские навыки» имеют к написанию правильного гибкого приложения? Он более чем способен создавать стандартные приложения, которые выглядели бы так, как будто их «спроектировал» разработчик.
«Вы можете почти гарантировать, что профессиональный дизайнер использует Mac и имеет опыт работы с инструментами Adobe». Если вы когда-либо использовали Flex Builder, вы бы знали, что «предыдущий опыт работы с инструментами Adobe» не является преимуществом. Он построен на основе Eclipse и будет незнаком для всех, кто ранее не знаком с программированием в среде IDE.
Я думаю, вам следует смотреть на Silverlight как на долгосрочную игру, как, кажется, делает Microsoft. Существует очевидный баланс в том, когда использовать Silverlight и Flash, когда вы обеспокоены охватом и установочной базой, но вот несколько причин, по которым Silverlight - хорошее направление для продвижения:
Преимущество второго шага - точно так же, как Microsoft создала «лучшую Java» с .NET, они могут взглянуть на то, как можно было бы разработать плагин RIA с нуля, сегодня. У них есть то преимущество, что они знают, как люди используют Интернет сегодня, о чем изобретатели Flash никогда не могли догадаться. Flash может добавлять функции, но они не могут реально отказаться от платформы и начать все сначала.
Знакомство с разработчиками. Silverlight - новая модель, но она не совсем незнакома разработчикам. Они «поймут» способ работы Silverlight намного быстрее, чем они поймут, запустив новую среду разработки с новым языком сценариев и новыми парадигмами событий.
Избавление от модели временной шкалы во Flash - Flash изначально создавался для анимации на основе ключевых кадров, и, хотя есть способы абстрагироваться от этого, он лежит в основе того, как работает Flash. Silverlight отказывается от этого для модели, ориентированной на приложения.
ScottGu - ScottGu в восторге от Silverlight. Достаточно.
Крутые новые функции - хотя Silverlight все еще немного догоняет Flash по некоторым очевидным функциям (например, интеграция веб-камеры / микрофона или ускорение 3D / графики), в Silverlight встроено несколько новых удобных технологий - одним из примеров является Deep Zoom. Я вижу больше «революционных» технологий на стороне Silverlight, в то время как Flash, похоже, сейчас находится в режиме обслуживания.
Если вы работаете только в Flex, вы также можете и не подозревать, что вообще когда-либо существовала какая-либо временная шкала. Это не проблема.
1. лучшая Java, но не кроссплатформенная (хотя моно-рок) Adobe выбросила плеер и снова запустила AVM2 и AS3 2. Согласен 3. Временная шкала теперь необязательна (используйте спрайт вместо мувиклипа) 5. Абсолютно Flash НЕ имеет 3D-ускорения, так что это ничья. глубокий зум - это круто, но бессмысленно
На самом деле, Джон, при всем уважении, вы сравниваете Silverlight с Flash, а не с Flex, что является типичной причиной недоумения сторонников Silverlight. Я написал приложение корпоративного уровня на Flex (которое скомпилировано в SWF), но даже не знал, с чего начать писать Flash-приложение.
Flash сильно отличается от Flex (и на самом деле в Flex есть частота кадров и все эти вещи, но они не используются, и это плохая практика) Flex также намного быстрее, чем Flash, я бы посоветовал вам взглянуть на интерпретатор C++ построен с помощью Flex. Плеер Silverlight не так уж и много
@analytik. Он говорил о Flash, а не о Flex, если честно :) Silverlight в режиме Framework тоже не имеет времени, связанного с ним, так что это действительно яблоки / апельсины :) @troylar Я писал корпоративные решения на Flex / Flash много лет , применимы его выполнимые и аналогичные архитектурные принципы. Очевидно, что Flex имеет меньшее трение. Его ранние версии действительно зависели от кадров, но с момента последнего добавления к AVM ++ Sprite vs MovieClip. @Mark Silverlight установлен на каждой третьей машине - 400 миллионов установок (у людей SL больше, чем у iPhone, iPod, Twitter и т. д.).
Да, но если Кевгриф пойдет на собрание и скажет, что Скотт Гатри хвалит Silverlight, его коллеги скажут: «Кто?».
@ilk - Я начал работать в Microsoft в декабре 2009 года. Я опубликовал этот ответ в августе 2008 года. Я устроился на работу в Microsoft, потому что мне нравятся их продукты для разработчиков, а не наоборот. Достаточно.
Здесь есть два вопроса: 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% программистов действительно должен передают свои вещи дизайнеру задолго до того, как выложить их в свет :)
Еще одно преимущество разработки 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 с аппаратным ускорением - УЖЕ НЕТ!
Согласен на AIR (может быть очень важно), но без поддержки 3D (пока).
Больше всего мы замечаем, что Air был выпущен в начале 2008 года, он был очень молодым, конечно, со временем он станет еще лучше. Я не могу высказаться «без стороннего мнения», потому что мне просто не нравятся методы Microsoft Business / Marketing. Но если бы не было, то мы не были бы в нынешнем состоянии технологий, как мы.
У Flex есть Air, у Silverlight есть WPF. Я не думаю, что есть достаточно различий, чтобы это могло быть аргументом в пользу того или иного.
Silverlight 3 поставляется с функцией «вне браузера», при которой ваше приложение Silverlight можно установить на рабочий стол, как приложение AIR. Существуют API-интерфейсы для определения, когда приложение работает в браузере или нет, когда есть подключение к Интернету, и даже API для автоматического обновления приложения.
Как графический дизайнер, я использовал 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 раскадровок»: похоже, вам нужно поработать над разбивкой на большее количество пользовательских элементов управления. Конечно, вы не работаете над всеми этими вещами в одни и те же несколько минут?
Не забыть:
Flex в значительной степени кроссплатформенный, поскольку он компилируется с использованием компиляции Java, что означает, что вы можете легко использовать Mac или Linux при разработке приложений Flex. У меня текущая настройка круиз-контроля (в которой используется Linux). Я создаю приложения Flex, но разработчики используют Mac, Linux и Windows.
По моему опыту, разработчики Java чувствуют себя в Flex Builder как дома, поскольку он основан на Eclipse.
Я должен сказать, что разработчики C# тоже хорошо относятся к Flex, поскольку главный дизайнер Flex изначально входил в команду .Net.
Вы также можете использовать Eclipse с плагином Flex Development, который выполняет те же функции, что и Adobe Flex.
Вы никогда не получите справедливого голосования по этому вопросу о SO, так как в нем очень много разработчиков Microsoft.
Кроме того, люди, вероятно, проголосуют против этого ответа, который действительно говорит обо всем.
Я предлагаю вашим разработчикам попробовать обе платформы и посмотреть, какая из них им больше нравится.
Чтобы ответить на комментарии ниже, я просто заметил, что, хотя есть много ответов, рекомендующих Flash / Flex, ответы на Silverlight получили гораздо больше голосов. Это не вопрос лжи, это просто предпочтение тому, с чем вы знакомы, а не обязательно лучшей платформе.
Я вижу, что больше людей отдают предпочтение Flex, чем Silverlight, так что, возможно, больше людей .Net доминируют, но это определенно не предвзято
Значит, разработчики Microsoft автоматически нечестны? Все, кто с тобой не согласен, лжецы?
Мы прошли через ту же проблему, и Flex безоговорочно победил. Наши .NET-разработчики сначала были обеспокоены, но после долгой работы с Ajax и JavaScript, теперь они ЛЮБЯТ и действительно наслаждаются работой во Flex.
Вот вам простой тест. . . постарайтесь найти хотя бы 3 примера реальных приложений Silverlight (кроме игр, видеоплееров или гаджетов). Затем проделайте то же самое с Flex.
«боль Ajax и JavaScript»
Тот факт, что ваш разработчик уже мог программировать на JavaScript, может иметь прямое отношение к тому, что они быстро научились использовать Flex.
Я использую это эмпирическое правило: если ваша компания разрабатывает мультимедийное программное обеспечение на базе Интернета, и у нее есть клиенты со всеми видами платформ, и вы не занимаетесь приложениями, интенсивно использующими базы данных, Flex - однозначный ответ, если ваша компания разрабатывает продукты на основе Интернета и DVD. , менее интерактивен, но более интенсивен (ЦП, память) и использует невероятное количество транзакций базы данных. Silverlight имеет больше смысла.
Кто-то сказал: «Найдите 3 реальных приложения Silverlight». Хорошо, я знал кое-что из головы, но я все равно погуглил. Список:
О, не видеоплееры? Что ж, остается приложение 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 есть свое место, и я с нетерпением жду роста конкуренции на этой арене.
Вероятно, сегодня для вашего шутера от первого лица JS и HTML - неподходящая технология. Хотя то, что вы говорите о развертывании и обслуживании корпоративных LOB, требует комментариев. Поддерживать и развертывать Silverlight гораздо сложнее, сложнее и хлопотнее, чем развертывание «JS и HTML» ... (очевидно!) И Silverlight, вероятно, немного проще развертывать (и поддерживать), чем настольная вещь ...
Что касается корпоративных приложений, HMTL не подходит для области, в которой я работаю (ресурсы). Требуемый контент и функциональность слишком динамичны. Для работы с Microsoft SOE Winforms был лучшим вариантом. WPF упрощает развертывание с помощью щелчка один раз, но вам все равно придется иметь дело с бесконечной бюрократией, связанной с утверждением настольных приложений для SOE. Приятно иметь что-то, работающее в браузере под .NET-кодом, не требующее нормального торга с ИТ-специалистами.
@Alex - Было бы интересно узнать, почему вы думаете, что проблемы вашего домена слишком сложны для решения с помощью платформы W3C (HTML, JS, CSS и т. д.) - Google делает карты через платформу W3C. Конечно, некоторым экстремальным приложениям (в основном, играм, которые я подозреваю) требуется больше мощности, чем может предоставить платформа W3C, но я подозреваю, что для таких вещей лучше подойдет что-то вроде Qt или NativeClient, если не для чего-то еще, чем тот факт, что они Open Source. Но я могу ошибаться, возможно, Silverlight - это то, что вам нужно, но тогда вы принадлежите к небольшой группе разработчиков ОЧЕНЬ ...
Механизмы визуализации - очевидный пример. И да, Google Apps и Google Docs отлично выглядят и удобны. К сожалению, найти такой талант в W3C непросто. Как вы думаете, почему вообще Flash стал таким популярным? ИМХО это позволило разработчикам быстро создавать высокодинамичный контент, не будучи ниндзя W3C. Я также передергиваюсь при мысли о написании сложных приложений на Javascript ... на самом деле это не то, для чего он был разработан. Если открытая альтернатива, такая как NativeClient, поймает, это будет здорово, но сегодня у меня нет шансов получить это одобрение в моем корпоративном SOE.
@Thomas, JS следует уничтожить, он больше не нужен после flash и silverlight, HTML уже в прошлом, и он скоро закончится, как язык ассемблера, процедурные языки и т. д., Люди изобретают технологии для сокращения строк кода => человеко-часы на разработку . Действительно, ваш ответ даже не совпадает с вопросом, спросил запрашивающий Silverlight Vs Flex, ответ не может быть в форме «прекратить использовать их обоих».
«Они плохо подходят для людей с ограниченными возможностями и т. д. И т. Д. И т. Д. Список продолжается до бесконечности ...» это неверно, Microsoft всегда делала то, что всегда делала хорошую доступность во всех своих продуктах, UIAutomation Peer технология намного лучше, чем любая другая, доступная на рынке.
Хотя я работал с 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.
Наши причины для этого перехода:
Остальная часть нашего проекта - это .Net и C#, вы можете найти все эти проблемы менее значительными в магазине Java.
Мы разрабатываем Flex в Eclipse с помощью Subversion и пришли к выводу, что это стабильно и продуктивно. Сказать, что Flex - это боль для системы управления версиями, для меня не имеет смысла.
@HDave - мы обнаружили, что проект Flex регулярно требовал перестройки после проверки (сначала с Vault, но позже и с SVN) впервые новым пользователем. Если они перестроили его, когда они вернулись, исходный пользователь вместо этого получил поврежденный проект. Мы также регулярно теряли лицензию Flex Charts, так что интегрированная сборка заканчивалась с демонстрационными водяными знаками на диаграммах и отключенными функциями. Может быть, Eclipse сейчас лучше, но когда мы использовали его еще в 2008 году, он постоянно давал сбой или иным образом отказывал.
Я предполагаю, что время было другом Flex / Eclipse / Subversion. Я использую его только последние 15 месяцев, но у меня не было такого опыта. Я использую Flash Builder 4, который мне не нравится, но, по крайней мере, проверка / фиксация работает. Я также использую Maven / Flexmojos, но на то, чтобы разобраться, потребовалось много времени.
Мы делаем и silverlight, и flex, и вот точка зрения разработчика на них обоих.
Плюсы Silverlight:
Минусы 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:
Минусы Flex:
Вывод
Просто примечание: вы МОЖЕТЕ использовать Linq во Flex через www.actionlinq.org :)
Flash Player доступен и официально поддерживается почти на всех настольных платформах (Windows, Linux, Mac), тогда как Silverlight будет поддерживаться в основном в Windows.
следующий статья обеспечивает сравнение обеих платформ.
Неправильно, Silverlight также поддерживает Mac и Linux через Лунный свет
Привет, vijiboy, Moonlight - это проект с открытым исходным кодом (поддерживается только сообществом). С Moonlight Silverlight может частично работать на Mac и Linux.
Moonlight косвенно поддерживался MS, как говорится в Википедии en.wikipedia.org/wiki/Moonlight_(runtime)#Microsoft_support. в любом случае оба остановили «дорожную карту».
Ниже приведен список поддерживаемых браузеров и ОС для silverlight microsoft.com/getsilverlight/locale/en-us/html/…. Лунный свет
Информация о проекте Moonlight (который в настоящее время не находится в активной разработке, находится здесь) mono-project.com/docs/web/moonlight
Это старый вопрос, история теперь заговорила!
Silverlight был практически заброшен Microsoft, у него никогда не было полезной базы для установки. Сторона из-за того, что Microsoft не берет на себя никаких обязательств по этому поводу.
Flash (следовательно, Flex) все еще идет. Однако все больше и больше браузеров не поддерживают плагины так что это только вопрос времени (лет), когда промывка пойдет по пути Silverlight..
Возможно, однажды Flex будет перенаправлен на HTML5 без дополнительных модулей….
Говорили об iPhone, и было сказано, что единственный вариант - это Apple Way или HTML5.
Даже Flex сейчас поддерживается только сообществом, стандарты HTML5 в настоящее время захватывают веб-платформу на всех устройствах.
Я тоже удивляюсь тому же, но этот форум слишком тяжел для Microsoft, поэтому я отношусь к любым комментариям про Silverlight с небольшим скептицизмом.