Графика браузера: Java-апплет против Flash против чего-либо еще? - PullRequest
4 голосов
/ 22 мая 2010

Мы продаем фотоальбомы, которые наши клиенты создают сами, используя программу-редактор клиентских альбомов (для Windows).Сейчас мы собираемся разработать онлайн-программу, чтобы клиенты могли создавать свои альбомы в браузере: загружать фотографии и редактировать их.Это будет полнофункциональное браузерное приложение с полной поддержкой графики.

Проблема в том, какую технологию использовать?

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

Может быть, сейчас есть какие-то современные технологии?SVG или некоторые технологии Google (например, GWT, но с поддержкой графики) или еще что-то?

Как вы думаете?

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

ОБНОВЛЕНИЕ

Редактор фотокниги создан с использованием GWT + SVG.

Ответы [ 8 ]

8 голосов
/ 28 мая 2010

Вы можете выбрать один из четырех больших вариантов:

  • HTML5 + CSS 3 + AJAX
  • Silverlight
  • Flash
  • Java

HTML 5 + CSS 3 + AJAX (Для окружающего веб-сайта.)

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

Silverlight (Если у вас не так много времени ... пока плохой выбор ...)

У многих пользователей эта установка по умолчанию еще не установлена, хотя поддержка ее установки является разумной (Moonlight в других ОС, Silverlight могут использовать другие браузеры), если вы хотите охватить широкую публику, вы можете пропустить это пока. Это будет связано с изучением C #, .NET, WPF и других технологий Microsoft, что потребует от вас много времени на обучение.

Seesmic, второй популярный клиент Twitter, однако, похоже, использует Silverlight для быстрой установки и обновления своего настольного приложения в браузере, поэтому может быть не так сложно потребовать от пользователей наличия Silverlight. Еще один бонус к изучению C #, .NET и WPF заключается в том, что вы можете использовать изученные технологии для написания настольных приложений. (Который снова может работать на других ОС, поддержка Mono становится лучше)

Java VS Flash (Оставайтесь, если у вас нет причин менять!)

Как видно из Google Trends: Java, Flash, Silverlight , вы заметите, что Java и Flash находятся на одном уровне, поэтому они оба справедливо поддерживаются вашими пользователями. Лучше остаться с Java, поскольку у вас есть опыт работы с этим языком, не забывая, что вы можете повторно использовать написанный код. Еще одним преимуществом использования Java является то, что вам не нужно переключаться между программами для разработки различных частей вашей программной инфраструктуры.

Вы можете искать Java VS Flash в Google, и только тогда, когда у вас есть причина для изменения, вы должны это делать, нет смысла изучать что-то с такими же (или, возможно, худшими) возможностями, чем то, что вы используете в данный момент. хорошо, чтобы сделать работу. Нет ничего плохого в том, чтобы узнавать что-то новое, когда у вас есть время для этого, но у вас будет недостаток быть новичком в этом ...

3 голосов
/ 27 мая 2010

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

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

1 голос
/ 27 мая 2010

Вы можете попробовать Adobe Flex . Он специально разработан для RIA и предлагает множество функциональных возможностей на основе Flash. Он использует особую форму XML (MXML) для разметки (и поддерживает CSS), а также ActionScript для сценариев и имеет множество готовых компонентов. Также обратите внимание на Tour de Flex , которое само по себе является приложением Flex, содержащим примеры кода и дополнительные компоненты. Если компоненты по умолчанию кажутся слишком строгими, вы можете использовать свои собственные компоненты на основе Flash. Затем код компилируется в файл swf или файл air (для настольных приложений).

Вы также можете использовать такую ​​среду, как GraniteDS, для передачи данных между сервером на базе Java и клиентом Flex, что позволяет вам повторно использовать часть своего кода. Я полагаю, что он использует преимущества таких вещей, как Spring, если ваши проекты используют его.

И есть версия Eclipse, предназначенная для работы с ним: Flash Builder (ранее Flex Builder). Он поставляется в виде автономной среды IDE или подключаемого модуля Eclipse (хотя для него требуется лицензия - я думаю, что доступна и 60-дневная пробная версия).

Я думаю, что он будет выглядеть лучше и быстрее, чем Java-апплеты (хотя не уверен насчет JavaFX, поскольку я никогда не использовал его). Но с другой стороны это потребует некоторых дополнительных знаний о том, как это работает (особенно если вы планируете использовать GraniteDS), но как только вы освоите его, я думаю, что это отличный инструмент.

Редактировать: ActionScript очень похож на Javascript (оба они основаны на скрипте ECMA), поэтому, если вы знаете, что освоить AS не составит большого труда. Кроме того, часть MXML чем-то похожа на использование HTML, но гораздо более мощна, поскольку вы можете определять свои собственные классы и использовать их непосредственно в качестве тега в части MXML.

Edit2: Вы можете создать анимированный альбом, используя такие компоненты, как этот (демо здесь )

1 голос
/ 22 мая 2010

Другие возможные варианты включают:

  • Javascript, raw или с использованием инструментария Javascript, такого как Ext-js
  • GWT,
  • JavaFX
  • Silverlight ... но это не сработает во многих браузерах.
0 голосов
/ 28 мая 2010

Это все о вашем целевом клиенте. Если ваша цель - это общедоступные приложения для настольных компьютеров, а ваше веб-приложение больше похоже на веб-интерфейс, то вам следует использовать флэш-память, которая уже присутствует на 90% домашних компьютеров. Если вам нужно что-то более мощное, с большим количеством уже сделанного и доступного кода, и ваши пользователи не возражают против установки java jre, то лучше всего воспользоваться java. Но это все о пользователе. Я предлагаю вам провести какой-то анализ для вашей пользовательской базы (посмотрите, есть ли у вас доступ к вашей странице загрузки, на которой установлена ​​java или flash), и примите решение на этом основании.

0 голосов
/ 28 мая 2010

Если у вас есть работающий Java-редактор для альбомов, может быть, вы можете упаковать его как Webstart-Application?Если этот способ развертывания подходит, вы можете сэкономить много работы.

http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp

0 голосов
/ 27 мая 2010

Переключение с окон на другое решение для проприетриев (например, Flash и Java) выводит вас «из сковороды в огонь».Попробуйте стандарты!Что касается HTML 5 с перетаскиванием, GMail позволяет добавлять вложения таким образом.

0 голосов
/ 22 мая 2010

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

Если это поможет, вот несколько похожих вопросов:

  1. Онлайн редактор изображений - Ajax или Flex / Flash ??
  2. Photoshop-подобный, встраиваемый веб-редактор изображений?
  3. Бесплатные графические редакторы с открытым исходным кодом

НТН, George

...