Я только мягко знаком с Flex, но много лет работал с GWT. Мы должны были принять очень похожее решение несколько лет назад (Flash по сравнению с GWT), но по разным причинам. В конце мы видели много преимуществ GWT по Flash (Многие из которых относятся к Flex):
Не у всех наших клиентов есть флэш-память, числа проникновения от Adobe бесполезны, Вам нужно Ваше собственное (который мы имеем) видеть то, что на самом деле имеют Ваши клиенты. В корпоративном и образовательные рынки проникновение на самом деле намного ниже, чем высокие 90-е, которые заключает в кавычки Adobe.
GWT является действительно перекрестным браузером и совместимой платформой (Linux, Mac, Windows, Android, iPhone, и т.д., и т.д.), тогда как флэш-память никогда не будет. Вы не можете заботиться об этом, но мы сделали.
Flex является proprietry Adobe Technology, тогда как GWT полностью с открытым исходным кодом и настраиваемый
, GWT интегрируется с DOM и всем остальным на Вашей странице, намного легче, чем флэш-память и Flex делают.
GWT кодируется в Java, и все мы знаем, что Java чрезвычайно хорошо
Обращается к Вашим отдельным моментам:
* futureproof
Ничто не действительно соответствует требованиям завтрашнего дня, но я чувствую, что и GWT и Flex довольно соответствовали бы требованиям завтрашнего дня. Возможно, GWT крошечный бит больше, потому что это - открытый исходный код.
* works on all major browsers
GWT работает в Firefox (и весь браузер геккона), Safari (и все браузеры WebKit), IE и Opera. Flex работает во всех браузерах, но только если Flash поддерживается, таким образом, я сказал бы, что GWT преуспевает там.
* fast & responsive user experience
На платформах, где это поддерживается, Flex собирается уничтожить мертвых GWT для пользовательского опыта. Вы просто не можете конкурировать с флэш-памятью когда дело доходит до гладкости и гладкости.
* code should be unit testable
Оба - легко единица, тестируемая
* code must be maintainable
, Когда кодировано хорошо, оба удобны в сопровождении
* speed & ease of development
пока Ваше знакомое с ними, я сказал бы, что это - большая часть множества.
* supports vector graphics of some sort (SVG a plus)
я не могу говорить за Flex, но GWT поддерживает векторную графику через SVG через сторонние библиотеки.
Для справки вы можете посмотреть википедию, там вы найдете заголовки различных форматов.
http://en.wikipedia.org/wiki/Graphics_Interchange_Format
http://en.wikipedia.org/wiki/BMP_file_format
http://en.wikipedia.org/wiki/JPEG
Я давно не играл с ImageIO и не тестировал это, но мне кажется, что что-то вроде этого работало. (поскольку вы говорите, что знаете, что ваш файл является jpg, а не растровым изображением, я использую эту информацию, чтобы помочь найти правильный загрузчик).
String inFormat = "jpg";
Iterator inReaders = ImageIO.getImageReadersByFormatName(inFormat);
...
nextInReader.setInput( iis );
Является ли BMP-ридер только , возвращаемым getImageReaders ()
? Может быть, у вас больше одного, и вы сможете сделать выбор на основании этого.