Silverlight vs Flex
моя компания разрабатывает несколько типов приложений. Большая часть нашего бизнеса происходит от создания мультимедийных приложений, обычно выполняемых во Flash. Однако теперь эта сторона дома начинает мигрировать в сторону разработки Flex.
большая часть нашей другой разработки выполняется с использованием .NET. я пытаюсь сделать толчок к разработке Silverlight вместо этого, так как это будет лучше использовать преимущества разработчиков .NET в штате. Я предпочитаю платформу Silverlight над Платформа Flex для простого факта, что Silverlight-это весь .NET-код. У нас больше разработчиков .NET в штате, чем разработчиков Flash/Flex, и большинство наших разработчиков Flash/Flex являются графическими художниками (а не настоящими программистами). Единственная причина, по которой они толкают к Flex прямо сейчас, заключается в том, что это похоже на логический шаг от Flash.
Я сделал разработку с использованием обоих, и я честно считаю, что Silverlight легче работать. Но я пытаюсь убедить людей, которые являются только разработчиками Flash.
Итак, вот мой вопрос: если я собираюсь пойти на встречу, чтобы похвалить Silverlight, почему компания хочет пойти с Silverlight вместо Flex? Кроме очевидного "не у всех есть Silverlight", каковы плюсы и минусы для каждого?
7 ответов:
Я думаю, что вы должны смотреть на Silverlight как на долгосрочную игру, так же, как Microsoft, кажется, делает. Существует очевидный баланс между использованием Silverlight и Flash, когда вы обеспокоены достижением и установкой базы, но вот несколько причин, по которым Silverlight является хорошим направлением для движения:
Second mover advantage-так же, как Microsoft построила "лучшую Java" с .NET, они могут посмотреть, как вы создадите плагин RIA с нуля, сегодня. У них есть преимущество знания того, как люди используют интернет сегодня, то, что изобретатели Flash никогда не могли точно догадаться. Flash может добавлять функции, но они не могут реально бросить платформу и начать все сначала.
знакомство с разработчиком-в то время как Silverlight-это новая модель, она не совсем незнакома разработчикам. Они "поймут", как Silverlight работает намного быстрее, чем они поймут запуск новой среды разработки с новым языком сценариев и новые парадигмы событий.
избавление от модели временной шкалы во Flash-Flash изначально было построено для анимации на основе ключевых кадров, и хотя есть способы абстрагироваться от этого, это лежит в основе того, как работает Flash. Silverlight бросает это для ориентированной на приложение модели.
ScottGu-ScottGu загорелся о Silverlight. Больше сказать нечего.
прохладные новые функции - в то время как Silverlight все еще имеет некоторые догонять делать со вспышкой на некоторых очевидных особенностях (таких как интеграция веб - камеры / микрофона или ускорение 3d / графики), есть некоторые гладкие новые технологии, встроенные в Silverlight-глубокий зум является одним из примеров. Я вижу более "революционные" технологии на стороне Silverlight, в то время как Flash, похоже, находится в режиме обслуживания на данный момент.
здесь: приложения Silverlight и Flash в качестве платформы и Silverlight и Flex в качестве основы РИА.
первый вопрос зависит от сроков. Flash Player имеет более 95% досягаемости, Silverlight не имеет к этому никакого отношения. Тем не менее, Silverlight может туда попасть, ведь он поддерживается Microsoft. Если вы хотите запустить сайт на следующей неделе и хотите получить огромную аудиторию, Silverlight-это не вариант. Если вы хотите запустить действительно классное приложение, которое все хотели бы использовать, это немного по-другому, если ваше приложение достаточно хорошо, ваша целевая аудитория может установить Silverlight, чтобы иметь возможность его запускать.
Что касается второго вопроса, то это вопрос о том, насколько легко его развивать приложения в Silverlight. Flex-это не просто набор виджетов, это очень большая структура, которая делает много вещей, которые облегчают работу разработчика. Вы можете написать те же приложения, используя только core Flash API, но это будет очень много работы. В зависимости от доступна в Silverlight, это должно быть важным фактором при принятии решения. Если вы можете сократить время разработки, стоит ли иметь две платформы?
Я думаю, что Silverlight является наиболее выгодным для компаний, которые имеют разработчиков .NET, но никто с дизайнерским опытом.
наборы навыков будет легче найти, насколько найти C# или VB разработчиков против поиска ActionScript гуру В. Однако есть компромисс:
опыт проектирования-это инвестиции не только в дизайнеров с художественным мастерством, но и в знания и инструменты, предоставляемые Adobe. Вы можете почти гарантировать, что профессиональный дизайнер использует Мак и имеет опыт работы с инструментами Adobe.
прямо сейчас дизайнерские инструменты Silverlight наполовину испечены и могут быть головной болью. Например, ошибки смешивания при попытке отобразить любой xaml, содержащий IValueConverter, это проблематично. Я понятия не имею, что такое опыт разработчика Adobe, я уверен, что он такой же волосатый.
Так что на данном этапе игры все сводится к человеческим ресурсам:
Если у вас есть опыт .NET и мало инвестированы в навыки проектирования идти технология Silverlight. Навыки программирования / инструменты будут передаваться. Если у вас есть опыт проектирования и навыки идут с Flex. Дизайнерские навыки / инструменты будут передаваться.
в любом случае обе клиентские платформы требуют связи со службами для получения данных, поэтому вы всегда будете использовать свой существующий опыт программирования на заднем конце.
перефразировал Джон взгляд с другой точки зрения:
Я думаю, что вы должны смотреть на Flex как долгосрочная игра, так же, как Adobe, кажется, делает. Существует очевидный баланс между использованием Silverlight и Flex, когда вы беспокоитесь о достижении и установке базы, но вот еще несколько причин, по которым Flex является хорошим направлением для движения:
второе преимущество двигателя-как раз как Adobe построила " лучший Java-апплет" с помощью Flash они могут смотреть как вы проектируете среду выполнения из нуля, сегодня. У них есть преимущество знать как люди используют паутина сегодня, что-то этот изобретатели существующего клиента платформы не могли точно угадал. .NET можно добавить особенности, но они не могут реально Чак платформы и начать все сначала.
дизайнер знакомство - а Flex / AIR-это новая модель программирования, это не совсем незнакомо составители. Они "получат" путь Flex работает намного быстрее, чем они поймут, что нужно начинать новую жизнь. среда проектирования с новой функцией плохие инструменты и новые анимация примеры.
избавление от цветовой модели RGB в Технологии Silverlight .Net был изначально для Windows и в ядро, как это работает. Флекс угробил давным-давно для дизайн-ориентированного модель.
все ваши инструменты работают на вашем mac. Нормуль сказал.
интересные функции-Silverlight еще есть кое-что наверстать с Вспышка на некоторых очевидных особенностях (например интеграция веб-камеры / микрофона, или 3d / графика ускорение.)
мы делаем как silverlight, так и flex, и вот точка зрения разработчика для обоих.
плюсы Silverlight:
- мощность C#, фрагменты кода, повторное использование существующих реализаций алгоритмов C#
- власти других языках тоже, дженерики и LINQ и т. д.
- мощность собственного выполнения среды CLR вместо интерпретатора сценария действий Flash
- одна интегрированная Visual Studio для всех разработок
- Смешать Выражение это действительно здорово и более продвинутый редактор, то Flex Builder
- XAML является дружественным к поисковой системе
- довольно хорошие переходы состояния и легко определить их
- потоковые и асинхронные задачи
- доступность, никто не знает, что Microsoft всегда делала лучшие функции доступности на всех своих продуктах, они всегда хорошо работали с инвалидами, сравнивая браузеры только IE поддерживает полную доступность и Safari / firefox и т. д нет где ближе.
минусы Silverlight:
- строго платформа Microsoft, я знаю, что многие люди будут спорить, но с текущим сценарием половина парней Intel Mac не может работать с silverlight 3.0, все ребята PPC Mac не могут использовать Silverlight 2.0 и не silverlight для Linux.
- есть моно, но официально не поддерживается Microsoft, он всегда будет отставать от обратного проектирования .NET и портирования его на другую платформу, его не из коробки еще.
- большинство компонентов / элементов управления "запечатаны", поэтому их трудно расширить и переопределить, чтобы легко создавать новые компоненты.
- плохой пользовательский элемент управления/Управления архитектуры. Например, вы не можете иметь корень XAML в качестве ComboBox или любого другого элемента управления и позволить ему иметь как дизайн, так и код, вы можете создать пользовательский элемент управления, но они слишком сложны
- привязка требует именования компонентов и не поддерживает выражения экземпляра, такие как 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:
- истинно независимый платформы, поддержанный на различных оборудовании и операционных системах и истинно работающий везде большой.
- Open Source позволяет очень легко понять и расширить функциональность.
- каждое управление / компонент можно расширить и там меньше ограничения, переопределяющие поведение по умолчанию.
- самый простой способ создания новых компонентов, вы можете иметь mxml выводить из любого элемента управления и расширять их с обширной привязкой
- Flex содержит множество элементов управления, и вам не нужна никакая сторонняя библиотека
минусы Flex:
- медленное выполнение для итерационных исполнений, без потоков !! никаких асинхронных задач !!
- на основе пункта 1, нет большой анимации или графики возможно
- никакой дешевки, никаких других языков, не по LINQ..
- номер класса имеет ошибку, не могу хранить полное 64-битное длинное значение
- Eclipse-это плохой дизайн то отличный пользовательский интерфейс
вывод
- мы используем гибкий трубопровод для применений данных, те простые применения обработки формы
- Silverlight для чрезвычайно богатой графики и анимации
проблема с Silverlight, что есть еще много людей, которые не установили его. Кроме того, я не уверен, насколько хорошо ваши существующие разработчики .Net смогут использовать свои существующие навыки, если они знакомы только с более традиционным серверным .Net-кодированием.
каковы ваши причины для нажатия Silverlight над Flex? Если вам нужно спросить сообщество SOFlow по причинам, кажется странным, что вы так хотите подтолкнуть его.
еще одним преимуществом разработки Flex является то, что вы можете переключиться на разработку настольных приложений (Adobe AIR) с тем же исходным кодом (и той же IDE) и распространять их из интернета. Вы можете проверить этой для будущего Флэш-платформы.
Обновление 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 Мастерская.)
обновление Q3 / 2017: ха-ха вау, кто даже использует Flash больше.
Не забывайте:
Flex очень кросс-платформенный, так как он компилируется с использованием Java compile, что означает, что вы можете легко использовать Mac или Linux при разработке приложений Flex. У меня есть моя текущая настройка cruisecontrol (которая использует Linux) я создаю приложения build Flex, но разработчики используют как Mac, Linux, так и Windows.
по моему опыту, разработчики java чувствуют себя как дома в Flex Builder, так как он основан на Eclipse.
Comments