JQuery VS Flex - Выбор платформы для SAAS

Наша команда собирается запустить веб-приложение SAAS, предназначенное для малых предприятий. Это совершенно новый опыт для нас; мы являемся организацией по разработке систем /linux/php и не имеем опыта разработки программного обеспечения на стороне клиента, за исключением простых приложений поддержки CRUD на основе html / php.

Мы оцениваем как Adobe Flex, так и JQuery. Мы не можем выбирать между двумя. Наши приоритеты:

  1. Производительность - мы должны запустить как можно скорее.
  2. Общий пользовательский опыт. Получающиеся приложения должны выглядеть профессионально, а пользователь должен иметь приятные впечатления от использования нашего продукта. Я думаю, что это не проблема для обеих платформ, хотя мы, вероятно, автоматически потеряем 10% потенциальных пользователей, у которых не установлена ​​флэш-память.
  3. Повторное использование навыков - нам всем придется изучать новые языки и платформу RIA в этом проекте и надеяться, что мы сможем использовать его снова в других проектах. Кстати, мы являемся организацией-подрядчиком программного обеспечения, и это наш первый набег на потребительские приложения. Однако мы надеемся, что сможем использовать полученные здесь навыки для наших клиентов.

Характеристики применения:

  1. Ориентированный на данные - много и много операций CRUD.
  2. 3 уровня - бизнес-логика будет находиться на PHP-сервере, а данные будут на MySQL. RIA будет только представлять данные пользователю.
  3. Доступные для пользователя данные будут большими - вот почему мы решили использовать RIA. Мы не можем обновить страницу, когда пользователь только что внес несколько изменений / дополнений.
  4. Безопасность имеет первостепенное значение - я не вижу никаких последствий для безопасности при выборе одной платформы над другой, но, возможно, у сообщества есть какие-то идеи?

Мы внимательно изучаем это. Мы часто проводим соревнования среди разработчиков, которые могут быстрее реализовать тестовое приложение, используя flex или jquery. Хотелось бы услышать, что сообщество скажет.

Заранее спасибо!

6 ответов

Решение

UI: Вам нужно быстро развернуться, и html как-то делает это возможным. то есть с html tech вы можете легко изменить свой интерфейс. однако, если весь пользовательский интерфейс работает на flex, небольшие изменения требуют компиляции sdk/flex. у нас есть похожий проект, похожий на ваш, но мы объединили оба мира, некоторые виджеты используют flex, пользовательский интерфейс все еще в html и jquery для создания волшебных вещей.

на задней стороне слайды могут дать вам несколько идей:

Я использовал оба. У меня нет сильной рекомендации, но есть некоторые соображения.

  • Мобильная поддержка. Flex требует Flash Runtime, которого нет на многих мобильных платформах. Для достижения наилучших результатов вам в любом случае понадобится отдельный мобильный интерфейс, а не просто повторно использовать интерфейс рабочего стола, хотя последний работает до некоторого уровня.
  • Поддержка браузера. Вы будете проводить больше времени с jQuery на этом. Они абстрагируют многие вещи, но как только вы дойдете до особенностей компоновки вашего приложения, вам все равно придется провести много работы по тестированию в разных браузерах и на разных платформах, которая не требуется для Flex.
  • Макет и архитектура пользовательского интерфейса. Насколько сложное приложение? Насколько модульный? Во Flex есть очень хорошие шаблоны для компонентной компоновки вашего приложения, создания компонентов многократного использования и т. Д., JQuery как таковой не поможет вам в этом, он более скромен. С Javascript/jQuery вам нужно будет провести собственное исследование, чтобы найти наилучшую настройку архитектуры.
  • Инструменты разработки. Если вам нравится разрабатывать свое приложение с графическим интерфейсом, у Flex есть очень хорошая интегрированная среда разработки / кодирования. Вы сами по себе с Javascript. Есть инструменты, но вам нужно будет сделать свой выбор.
  • Поставщик лок и стоимость. Flex стоит денег (ну, в любом случае, в IDE вы можете получить бесплатный компилятор, но я не пробовал, насколько он полезен.) Javascript/jQuery "бесплатный", но нужно потратить время на изучение всего вышеперечисленного.

С точки зрения опыта пользователя, оба эквивалентны, вы можете получить как хорошие, так и плохие впечатления с ними. Оба имеют приличные готовые наборы виджетов пользовательского интерфейса, jQuery с ThemeRoller несколько легче настраивается, но Flex также прекрасно приспосабливается к созданию скинов с системой, очень похожей на W3C CSS.

Я бы использовал Flex. Комплимент jQuery по своему усмотрению, но Flex является полноценной средой и средой, и она, как правило, не позволяет IE6 (вы упомянули малый бизнес) кусать вас в задницу позже. Кроме того, поскольку вы работаете с малым / средним бизнесом, они будут более WOWed с интерфейсами Flex по сравнению с jQuery/ExtJS/ любыми интерфейсами. Я обнаружил, что первый более отзывчивый и более симпатичный из коробки, что уменьшит время настройки и время выполнения.

С помощью jQuery (или YUI/ExtJS/...) вы сможете создавать привлекательные приложения с эффектами, подобными / сопоставимыми с Flex.

Тем не менее, IMHO, с jQuery-UI я обнаружил, что он мерцает, когда компоненты меняют состояние. Это не просто кросс-браузерная проблема; это случается на FF иногда и не в другой раз. (вероятно, возникнут некоторые проблемы с памятью), и ваш выбор: 1. подождите, пока сообщество выпустит исправление, и / или 2. сделайте это самостоятельно. С другой стороны, компоненты Flex протестированы на это и имеют лучшую поддержку (хотя Adobe может высокомерно иметь дело с).

Приложения HTML/JS/CSS не всегда дают приятный и последовательный эффект (в зависимости от того, сколько вкладок вы используете, сколько пользуетесь памятью для сеанса браузера).

С JS,HTML,CSS ваша разработка будет проще, в то время как во Flex вам нужны хорошие люди с архитектурным смыслом (читай дорого); в противном случае вы можете испортить ваше приложение очень плохо.

JS, CSS и HTML (даже 5) всегда будут иметь кросс-браузерные проблемы, которые никогда не будут полностью устранены.

С Flex, если ваш бэкэнд - Java или CF, вы можете получить удаленные объекты (двоичный файл AMF), что делает передачу данных типизированной, встроенной и быстрой. (Даже php-amf, saber-amf или WebOrb могут использоваться для этого в зависимости от вашего бэкэнда.)

С JS вы остаетесь с JSON или XML. Вы можете оптимизировать развертывание с помощью Runtime Shared Libs. и использовать много стратегий, таких как модульная разработка, отложенная загрузка, воспринимаемое и реальное повышение производительности и т. д. Сложнее сделать с JS/HTML/CSS, где обычно возникает соблазн создавать заполнители виджетов во время разработки.

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

В конце концов, я согласен с кем-то здесь, кто сказал, что гибридное решение может быть на заказ. Разработать приложение в виджетах;

Вы можете использовать классную поддержку перетаскивания с виджетами Flex (то же самое с JS, но проще с Flex).

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

Вы можете общаться с HTML-оболочкой, используя внешний интерфейс, и отправлять данные туда и обратно.

Удачи!

TimeFrame: Jquery легче запустить, но без хороших базовых навыков и шаблона проектирования, он может легко запутаться, когда приложение будет расти. IDE: Flex побеждает Jquery, с jquery я вижу браузер и fire bug в качестве повторного использования IDE SkilL: лично я бы сказал, javascript (Adobe Air является доказательством)

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

Я буду рекомендовать использовать flash/flex выборочно (видео / рисование / создание диаграмм, если необходимо) и с jquery+html в качестве основного фреймворка приложения.

Взгляните на ExtJS, который является более законченным, чем jquery, для целей разработки веб-приложений. Хотя это и не так просто, как в jquery.

"Пенни мудрый фунт глупо"

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

Если вы можете получить ведущего разработчика с отличными навыками в Java, Ajax/jQuery и Flex и позволить этому человеку устанавливать стандарты и рекомендации по разработке, тогда это будет хорошо потраченные деньги.

Другие вопросы по тегам