Как уже говорили другие, GWT - очень хороший вариант. Подводя итог некоторым хорошим моментам:
- быстрый, очень переносимый код с использованием отложенного связывания; загружает только код, который работает в браузере пользователя, и загружает только те функции, которые действительно вызваны; также они сжаты
- надежность ; очень мало известных проблем
- более простая отладка с использованием IDE на основе Java; Вы также можете посмотреть на необфускацированный javascript напрямую, если хотите, но кажется (основываясь на некоторых отчетах, которые я видел, и на личном опыте), что вам в принципе никогда не нужен
- хорошая поддержка библиотек включая приятный встроенный интерфейс javascript, возможность использовать существующие библиотеки Java и специальную поддержку вызовов ajax / rpc
- расширяемый и стилистически гибкий ; вы можете настроить все стили с помощью собственных правил CSS и расширить базу виджетов с помощью собственных подклассов Java
Так что я смиренно не согласен с Домиником в том, что результаты ужасны, так как именно кодер должен «украсить» базовую функциональность своими правилами CSS и другими украшениями. Было бы той же ошибкой называть HTML «уродливым» - если вы не будете стараться изо всех сил, это не красиво, но мощь и гибкость в руках кодировщика.
О, и это тоже с открытым исходным кодом.