Adobe Flex vs Silverlight
Это не технический вопрос, но я считаю, что ответы помогут сообществу RIA.
Мы являемся компанией по разработке программного обеспечения, которая занимается разработкой продукта для торговли акциями. Мы решили использовать Adobe Flex (в середине 2008 года) из-за проникновения браузера и относительной зрелости по сравнению с Silverlight. мы уже разработали систему, и мы очень довольны ею.
Теперь мы планируем запустить вторую версию нашего продукта, и мы планируем очень продвинутый пользовательский интерфейс (например, инфраструктуру стыковки окон (как в visual studio 2005/2008) и т.д.). мы искали в Интернете и обнаружили, что в Adobe Flex рынок сторонних компонентов по-прежнему очень мал, но в Microsoft Silverlight доступно так много опций для продвинутых сторонних компонентов (таких как DataGrids, Docking Framework).
Может кто-нибудь, пожалуйста, сообщите мне, что, когда мы должны ожидать того же типа компонентов в Adobe Flex, или то, что думают эксперты, если мы разработаем новую версию в Microsoft Silverlight (опыт Adobe Flex и Silverlight в настоящий момент не является проблемой, мы должны развить все с нуля).
Также ожидается, что запуск следующей версии будет в середине 2010 года.
Любая обратная связь относительно этого высоко ценится.
Ответы
Ответ 1
Я могу сказать вам, что Flex является более продуктивной платформой. Я работаю в крупной консалтинговой компании РИА, который строит большое количество приложений, как с помощью Flex и Silverlight, и мы видим, что эквивалентные функциональные возможности в SL занимает около 10-20% больше, чем для разработки в Flex. Поддержка привязки данных в Flex значительно проще в использовании, чем в SL. Я также могу сказать вам, что опытный разработчик Flex может легко создать набор инструментов MDI в Flex с несколькими неделями разработки. Поэтому я бы посоветовал вам подумать о найме опытных разработчиков Flex, а не об отработке денег для компонентов SL.
SL имеет большое преимущество в том, что С# может использоваться как на клиенте, так и на сервере, а бизнес-логика может быть повторно использована в обоих уровнях. Это важно и не следует сбрасывать со счетов. ActionScript не имеет параллельной копии на стороне сервера и не обладает этой способностью, хотя Flex отлично работает с рядом различных бэкэнд-технологий, особенно с Java, использующих BlazeDS. Интеграция сервисов Silverlight имеет множество вариантов на стороне .NET(см. Комментарий Bart ниже), в то время как Flex может использовать очень эффективный AMF как в RPC, так и в push-сообщении (обмена сообщениями). BlazeDS является бесплатным и открытым исходным кодом.
Я также считаю, что основать ваше решение для платформы разработки исключительно от наличия сторонних компонентов - это не отличная идея. Откладывая это, на платформах MS всегда было огромное количество специализированных магазинов для разработки компонентов и широкий выбор компонентов на выбор. Вероятно, даже с меньшей долей рынка SL будет иметь больший выбор сторонних компонентов, чем Flex, продвигающийся вперед.
Наконец, я не думаю, что MS скоро откажется от Silverlight. Они активно разрабатывают новые возможности для SL4 и инструмент наложения предлагает ряд нововведений для дизайнера/взаимодействий разработчика, даже Adobe пытается соответствовать их новому инструменту Catalyst.
Если вы должны принять решение сегодня, я бы сказал, что идти с Flex, особенно для общественно-облицовочного приложения, в котором вы не хотите потерять пользователь, потому что они не могут или не устанавливать SL плагина. Через 12-18 месяцев я уверен, что SL даст Flex больше возможностей для своих денег, но я пока не думаю, что он там.
Ответ 2
Хотя я не могу дать вам желаемый ответ, я надеюсь, что смогу дать вам пару хороших вопросов и идей, которые могут помочь вам в этом процессе:
Городской кодер: Flex 3 и Silverlight 3 в развитии предприятия
Microsoft Silverlight против обсуждения Adobe AIR/Flex
Я лично считаю, что Adobe Flash в ближайшем будущем потеряет заметную базу пользователей в новых функциях в предстоящем стандарте html 5.0. Кроме того, я предпочитаю инструменты (Visual Studio), аддоны и языки (С#) над эквивалентами Adobe, и я бы рассматривал их выше. Однако я должен подчеркнуть, что это только с моей точки зрения..:)
Ответ 3
Несколько человек в этой теме предполагают, что вы не можете создавать проекты на основе Flex или Flash с помощью Visual Studio. С 30 августа 2010 года это уже не так. Вы можете посмотреть на Amethyst, который представляет собой визуальную (drag + drop) Flash Platform IDE с многопроцессорным отладчиком, IntelliSense и рефакторинг: http://www.sapphiresteel.com
наилучшие пожелания
Хув
Ответ 4
на самом деле я тоже тернится между 2. На самом деле, я все еще считал Flash, но вроде это ударил, потому что это больше для анимаций, а не для RIA. с Flex, theres AIR, чтобы включить развертывание как на рабочем столе, так и в Интернете, tho я havent попробовал это и не знаю, как легко использовать. и я также не уверен, что Silverlight можно использовать как приложение для настольных ПК?
сравнивая Flex и Silverlight, я не думаю, что мы просто основываем наше мнение на том, что более широко используется сейчас. Silverlight может быть что-то хорошее!
просто начал исследовать 2 и нашел разметку Silverlight XAML более интуитивно понятной, чем Flex mxml. далее Silverlight будет интегрироваться с С#, который улучшается с LINQ и всеми. поэтому привязка данных, важная часть любого RIA лучше. для Flex, возможно, можно связать с чем-то вроде PHP с AMF, но, похоже, сложнее от того, что я видел. что я не очень хорошо знаком с обоими.
UPDATE: и Flex теперь открыт с открытым исходным кодом, а Silverlight закрыт правильно? поэтому Flex можно сказать, что он дешевле в использовании.
Ответ 5
Одна вещь, которую следует учитывать, - посвящение Microsoft Silverlight. Silverlight не взлетает. Как долго они будут придерживаться этого? Если следующая версия Silverlight не получит существенного проникновения на рынок, Microsoft продолжит ее поддерживать?
Даже если они будут придерживаться этого, и даже если это произойдет, они собираются делать то же самое, что и в Internet Explorer: разработайте его в самый удивительный браузер, доступный в то время с IE6, а затем выберетесь на 5 + годы и стать основным шипом в скрытиях разработчиков?
Silverlight не имеет большого отношения к Windows. Люди, использующие Silverlight, не делают Microsoft много денег. Там не особо убедительный бизнес-пример для MS, чтобы нажать Silverlight.
Silverlight ничего не предлагает пользователям, которых нет в Flash. Это пользователи, которые собираются внедрить Silverlight, и до тех пор, пока у меня не будет убедительного случая установить его на моем компьютере (а это, кстати, нет), он остается.
Flex - естественный компаньон для Flash, который является одним из флагманских продуктов Adobe. Adobe не собирается отказываться от Flex. Даже если бы они это сделали, это было полностью открытым исходным кодом, и разработка Flex вполне могла бы продолжаться, даже если бы Adobe упала в океан завтра. (Flash runtime не является открытым исходным кодом, к сожалению, но это неплохая многоплатформенная реализация, в основном, открытого стандарта SWF, с прогрессиями с открытым исходным кодом)
Я работаю в магазине .NET/Flash. Мы используем Flex для работы с .NET-контентом .NET. Это может быть болью в заднице, чтобы заставить их взаимодействовать (хотя и не невозможно). Мне нравится .NET. Было бы здорово, если бы мы смогли разработать наш интерфейс на С#. С удовольствием. Но мы не готовы ставить ферму на Silverlight, учитывая парад технологий MS.
Ответ 6
Одна из самых важных в нашем решении нашей будущей технологии RIA - поддержка RTL (в частности, арабский). Я очень разочарован тем, что арабский (RTL) по-прежнему не поддерживается в Silverlight 3.0, с другой стороны, теперь он поддерживается Adobe Flex 4. И я не хочу снова применять все нестандартные трюки, которые мы использовали в наша существующая версия приложения (основанная на Flex 3). поэтому сейчас одна проблема решена в Flex, но по-прежнему остается в Silverlight... и до сих пор нет фреймворка в Flex, так что это будет тупик, я думаю..:).
Я буду держать вас в курсе любых новых результатов нашего исследования...
Ответ 7
Одно слово (или два) → "Open-source"
Мир идет с открытым исходным кодом. Думайте о Android против яблока
Как вы будете запускать приложения для клиентов на платформе Linux с любой уверенностью.
Прямо сейчас я не являюсь клиентом netflix, потому что поддержка Moonlight не поддерживается.
У меня есть три компьютера дома, все из которых работают Linux (не могут собирать деньги, чтобы купить лицензию Windoze)!
Подумайте о целевом рынке (и где он будет в ближайшие несколько лет)
Ответ 8
Flex более совместим с браузерами, поскольку он работает поверх Flash. Однако Silverlight необходимо загрузить, что может быть проблемой для пользователей за прокси или сетью (на рабочем месте, например, вы не можете устанавливать вещи). Flex также имеет лучшую структуру, чем Silverlight, поэтому вы можете настроить компонент за несколько кликов и нажатие клавиш.
Я согласен с вами в том, что VS и С# более зрелые, чем их коллеги Flex (FB3 и ActionScript, соответственно), но вы быстро привыкнете к ним.
И снова я разработчик Flex, а не разработчик Silverlight, поэтому мое мнение может быть несколько предвзятым. Тем не менее, я выбрал Flex над Silverlight, потому что я думал, что он более совместим (почти у всех есть Flash Player) и имеет лучшую поддержку, чем Silverlight, и я пока не сожалею о своем решении.
Ответ 9
Если это товар для торговли акциями, он передает стоимость акций в реальном времени? Если это произойдет, стоимость потоковой передачи данных будет иметь значение.
Оба из них поддерживают некоторый тип push-данных (RTMP против Socket) и интеллектуальный опрос (RTMPT/RTMPS и HttpDuplexPollingChannel).
- Инфраструктурные затраты: Flex использует LCDS/BlazeDS, в то время как Silverlight использует IIS.
- Стоимость разработки: RTMP/RTMPT/RTMPS уже определен (и не может быть изменен), в то время как вам нужно определить свой собственный протокол для сокета (вам нужно самостоятельно обрабатывать безопасность и сжатие)
С точки зрения программирования Silverlight должен быть лучше, поскольку XAML рисует интерфейс, а С# обновляет состояние компонентов XAML. Существует множество разработчиков С# и Expression Studio для создания компонентов XAML.
MXML относительно прост, и вам нужна Flash для рисования модного интерфейса. Однако вы можете ждать Flex 4 (в бета-версии) с поддержкой FXG. Затем он может получить лучшую поддержку сторонних компонентов.
Ответ 10
Если у вас есть опыт работы с обоими продуктами, сложно сказать, с моей стороны, когда IDE, например Visual Studio, является плюсом (я разработчик .net) и использую тот же язык на сервере (сервисах) и на стороне клиента это то, что заставляет меня чувствовать себя вполне комфортно.
Я бы сказал... пойдите для доказательства концепции, займите неделю, сделайте две команды (примерно на уровне) и проверите неделю (без какого-либо формального тестирования или формального проектирования), чтобы продвинуться в Flex и SL (для третьих сторон они могут воспользоваться всеми пробными версиями). После этой недели проверьте, насколько далеко ушли и их результаты.
Трата времени на одну неделю? Попытайтесь сосредоточиться как живой каркас для вашего последнего приложения.
Удачи Braulio
Ответ 11
Я не думаю, что я мог бы предположить, когда или если Flex будет иметь одинаковое количество сторонних компонентов. Многие компоненты Silverlight, разработанные такими компаниями, как Telerik и DevExpress, являются портами или обновлениями существующих компонентов .NET. Вы можете сделать опрос компаний, которые разрабатывают компоненты для других продуктов Adobe, и спросить на их форумах, если они планируют выпустить продукт Flex. Кроме того, все, что мне нужно, это то, что доступно сегодня, и похоже, что вы уже проводили исследования существующих технологий. Удачи!
Ответ 12
Я немного поработал с Flex, но больше .Net-ориентированный. Я не могу сказать, что Flex может приблизиться к Silverlight с точки зрения разработки бизнес-приложений. Специально с RIA Services V2 и всеми возможностями .Net framework и визуальной студии все настолько интегрировано и профессионально.
Единственная причина, по которой я бы не подумал, что использовать Silverlight, - это если у продукта есть публичная аудитория, и вы собираетесь потерять клиентов из-за низкого проникновения Silverlight.
Ответ 13
Ther - гибкая док-станция: http://code.google.com/p/flexdock/
И есть возможность подключения док-станции: http://code.google.com/p/dockableflex/