2010-07-28 2 views
1

У меня есть опыт разработки в Flex/Actionscript с использованием рамки Cairngorm. В то время у меня не было опыта работы с ActionScript/Flex, и мне потребовалось немало хороших 3 месяцев для начала разработки приложения. В то же время я скептически откликнулся на приложение, основанное на Flash, которое не будет отображаться во всех браузерах (не без обновления флеш-памяти), оставив в покое iphone/ipad. Но я хочу посмотреть, какой вид приложения можно создать с помощью Flex, поэтому он взял на себя эту задачу.Зачем использовать Flex вместо фреймворков HTML/AJAX/PHP?

Но теперь я снова начинаю удивляться, почему я должен путаться с Flex, когда у меня есть jquery/ajax, различные быстрые фреймовые фреймы (которые мне удобны в отличие от ActionScript/Flex).

Как, если я решу, я должен убедить своих клиентов, что веб-сайт в Flex может быть намного лучше, чем те, встроенные в HTML/PHP и т.д.

Может кто-нибудь пролить некоторый свет на это?

С уважением

+1

Измените слово agile в заголовке на HTML/AJAX. – Amarghosh

+0

Проверьте эту тему: http://stackoverflow.com/questions/424895/gwt-vs-flex-vs Прочитайте GWT как AJAX – Amarghosh

+0

Некоторые советы относительно «рамок» - не беспокойтесь о них, если у вас нет очень прочной потребности , что, вероятно, означает, что вы делаете массивное/модульное приложение с большой командой. Я обнаружил, что в большинстве случаев большинство фреймворков Flex (или даже Java) просто добавляют больше кода и шаблона (* особенно * Cairngorm). Возможным исключением является Swiz, в частности, если вы выбираете части Swiz, которые хотите использовать. – Manius

ответ

1

Вы должны спросить себя, почему вы должны использовать гибкий. Вы разрабатываете игру? Приложение 3D-графики в Интернете? Что-то, чего на самом деле не может быть достигнуто с помощью HTML?

Если нет, нет смысла использовать flex вместо HTML. HTML - это открытая и стандартная спецификация, вам не нужны плагины, ваше приложение будет работать на любой платформе с браузером, поддерживающим html, и это будет быстрее и менее ресурсоемким. Не попадайте в ошибку разработки Flash/Flex что-то, что можно сделать отлично с помощью HTML/AJAX. Я видел, как некоторые разработчики создавали приложения с flex или silverlight, которые состояли всего из серии форм, и это была смехотворная трата времени и ресурсов.

Таким образом, единственный способ убедить ваших клиентов в использовании гибких программ - найти то, что вы на самом деле не можете сделать с HTML .. и с учетом того, что HTML5 почти здесь, и аппаратные ускорители HTML5 будут запущены в конце в этом году .., будет сложно убедить людей привязаться к flash/flex! :)

+0

«Если нет, нет причин использовать flex вместо HTML». Вы прочитали мой ответ? Конечно, есть много причин. Но, как обычно, «это зависит». Если бы я разрабатывал мобильное приложение, я бы не использовал * Flex/Flash (если только он не был коммерческим). «Трата времени и ресурсов» во время разработки, ну, что отчасти зависит от набора навыков разработчика, не так ли? Надеюсь, вы не подразумеваете, что Flex dev «медленнее» - это совсем не так, так что это просто глупо. Если что-то ускоряет разработку благодаря имеющимся инструментам и многим функциям производительности Flex SDK. Также, см. Мой ответ ... – Manius

+0

Не упускайте голоса, исходя из ваших личных мнений. Это место для обмена знаниями, а не с огнем. Я пытался разоблачить факты, никаких мнений. Но взамен вашего downvote я напишу свое личное мнение: самая важная причина не использовать flex - это потому, что это умирающая технология, которая, как ожидается, будет заменена HTML5. И для корпоративной среды Silverlight на несколько лет опережает flash/flex и, самое главное, интегрируется с платформой .NET. Даже Adobe начинает сомневаться в непрерывности флеш-памяти, и доказательством этого являются инструменты, которые они создают для HTML5. –

+0

FUD? Я не вижу проблем с понижательными голосами за личные мнения, если в ответе были выражены другие мнения, такие как «не попадайте в ошибку» или «смехотворная трата времени и ресурсов». Это не «угасающая» технология, и не является основанием для отказа от более зрелого решения, поскольку HTML5 не завершен (2022?). Корпоративная среда - это наилучшее место для использования Flex (где он быстро развивается и используется в дорогих коммерческие продукты). Почему вы думаете, что Flex == Flash? Нет такой ссылки - одним из основных запросов функций является генерация HTML5. В любом случае Flash будет здесь уже много лет. – Manius

3

По сравнению с HTML/AJAX/JavaScript с помощью Flex вы не получите головную боль с проблемами кросс-браузера, вы получаете фантазии анимации и эффекты фильтра, очень удобный IDE (Flash Builder), ActionSctipt 3 (ИМХО много удобный и более похожий на Java, а затем JavaScript).

И вы должны забыть сделать приложение работает на мобильных платформах.)

+0

JavaScript также предоставляет фантастическую анимацию и эффекты фильтра. Посмотрите на множество библиотек JavaScript. – JohnMerlino

+0

Но мы не должны уменьшать Flex или Flash до «причудливых анимаций». В моем ответе перечислены многие из самых реальных улучшений, которые дают понять, почему Flex/Flash быстро развивается в мире корпоративных/интранет. – Manius

1

Проект не должен определяться инструментами, которые вы используете, а наоборот, определяет ваш проект и выбирает наиболее подходящие инструменты для достижения ваших целей.

Возможно, первый хороший шаг (который вы, кажется, приняли, когда решили «запутаться в Flex»), должен лучше понять эти инструменты.

Почему бы вам сравнить рамки Php с AS3/Flex? Что случилось с обновлением flash? или если вы предпочитаете, что не так об обновлении ?!

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

0

Это не решение или решение. Компоненты Flex следует рассматривать как часть страницы, но не делать этого - повторяю, НЕ делайте ошибку при построении монолитного приложения в flex. Я только что закончил проект, создав массивное приложение flex. Больше никогда этого не повторится. Он имеет свои применения, но опять же, гибкие виджеты должны дополнять html-структуру. А не наоборот.

+0

Уточните конкретные примеры и/или рассуждения, иначе ваш «совет» будет предвзятым FUD. – Manius

4

Есть больше причин, чем только эти, но некоторые основные из них:

O & затраты M: Большинство «инженеры» не дают крысам А об этом, потому что они являются развитием ориентированного, но Дело в том, что O & M на сегодняшний день является ведущей ценой для запуска ИТ-систем. С помощью подхода VM, такого как Flex (или Silverlight или JavaFX), вам не нужно беспокоиться об обновлении библиотек, тестировании, применении исправлений и т. Д. каждый раз, когда выдается новый браузер. Использование устаревших технологий, которые сложнее продолжать работать изо дня в день, напрямую усугубляет конечную цель ваших клиентов.

Производительность: Flash (Flex) является JIT скомпилированным, (не удивлюсь, если SL тоже), а также Java. Интерпретированные библиотеки, зависящие от JavaScript, такие как GWT, просто не могут содержать свечу для производительности, которую вы получаете из скомпилированного клиента VM, - это даже не близкое сравнение. «AJAX» (esp при использовании XML) не является «быстрым». (Просто посмотрите, как медленно загружается Gmail - очень простой сценарий с поддержкой AJAX.) Доказательство находится в тестах.

Консистенция/Надежность: Все знают, что когда вы пишете что-либо с помощью JavaScript или HTML, его нужно тестировать в каждом браузере (включая некоторые более старые версии, если вы действительно хотите быть в безопасности). Нет такой проблемы при ориентации на платформу VM. С AJAX: беспокоиться, когда выпущен новый браузер или версия браузера. Если есть проблемы, это создаст для вас работу.

Более богатые компоненты и лучшие пользовательские возможности: Это один из самых продаваемых точек Adobe, но это правда. Хотя некоторые вещи, которые были сделаны исключительно с помощью сценариев браузера (JavaScript), впечатляют, компоненты Flex или Silverlight просто лучше. Это также простой, чтобы создать свой собственный пользовательских компонентов, когда вам не нужно писать (и поддерживать!) Кросс-браузер JavaScript магии.

Flex определен, но заслуживает упоминания - AMF: Это двоичный протокол данных данных Flex, который может использоваться для связи с серверами. Тесты (спросите Google) продемонстрировали этот протокол намного быстрее и эффективнее, чем протоколы, используемые в AJAX. В сегодняшнем мире, где сети становятся основным узким местом (если не ясно уже), это довольно большая победа.

Это очень важная тема для многих. Большинство инженеров AJAX/DHTML/JavaScript или то, что они называют сами, будут выть и бросать фекалии в простое предположение, что эта технология 1990-х годов, которую они потратили годы на то, чтобы стать экспертом, устарела и испорчена (откровенно говоря, им нужно многое потерять). Но, основываясь на чистых технических достоинствах, даже HTML5 является встречной производительной тратой времени по сравнению с любым зрелым решением на базе VM. Я уверен, что некоторые из них скоро появятся, чтобы защитить свой культ отрицания, проголосовав за него. Но это трудно сдерживать будущее.

Основы AJAX/DHTML основываются главным образом на устаревших хаках и сложных, медленных, хрупких, постоянно поддерживаемых библиотеках, чтобы они работали достаточно хорошо в нескольких браузерах. HTML5, когда он, наконец, «завершен» в 2022 году (!!!), даже не будет доведен до Silverlight 2 с точки зрения возможностей - неважно, какое огромное количество материала у Flex будет там к тому времени. В основном материал AJAX - это трюк для обслуживания и хрупкая среда разработки, которую можно полностью избежать, используя решение VM, такое как Flex, Silverlight или JavaFX.

+0

На самом деле я оставил кое-что из того, что следует изложить - мир аппаратного обеспечения быстро приближается к виртуализации, и многие из тех вещей, которые движут этой тенденцией, все еще применяются в мире программного обеспечения. Технология RIA на основе виртуальных машин, таких как Flex или Silverlight, является версией программного обеспечения той же тенденции, поскольку они обеспечивают многие из тех же преимуществ. Я думаю, что ключевое различие заключается в том, что инженеры-программисты оказываются гораздо более устойчивыми к радикальным изменениям, чем инженеры-аппаратчики. Почему это, я еще не определил или не объяснил. Возможно, безопасность работы или эволюция технологии? – Manius

+0

+1 Довольно всеобъемлющий! –

+0

И кто виноват во всех этих проблемах? Microsoft еще раз. Они полностью заморозили браузер в течение почти десятилетия, убив Netscape, монополизируя их браузер, а затем прекратили инновации в течение многих лет. Microsoft никогда не хотела открытых технологий, это плохо для их бизнеса. Слава богу, Google теперь стал лидером на рынке браузеров, и они продвигают конверт с большими инновациями, поэтому будущее выглядит многообещающим, и я надеюсь, что в ближайшем будущем HTML + CSS + JS может наконец догнать Flash и Silverlight. – GetFree

2

Способ, которым я вижу это, компоненты в Flex и возможность создания настраиваемого компонента, который соответствует вашим конкретным потребностям (и все это делается с помощью полностью объектно-ориентированного подхода) не могут быть согласованы с каркасами AJAX. Протокол AMF также является большим преимуществом, так как его удивительно быстро. Анимации легко создаются, чтобы дать каждому компоненту ощущение, которое улучшает пользовательский интерфейс и может дать вашему интерфейсу собственную жизнь. Все, что упоминалось до моего поста, также следует учитывать.

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

Но когда вы переходите с «веб-сайта» и добираетесь до «веб-приложения», я думаю, что для того, чтобы быть успешным, вам нужно создать материал, который выделяется. Flex именно для этого.

Если вы можете построить такой же опыт без него, сделайте это, хорошо для вас. :)

+0

Хороший момент, чтобы упомянуть, «веб-сайты» против «веб-приложений». Размытое различие порой, но определенно не то же самое, когда сравниваются крайности. – Manius