2011-12-01

Разное про Java, Web и Vaadin

1. Для качественного ускорения web разработки на Java можно использовать замечательный продукт JRebel zeroturnaround.com/jrebel (кратко, что это). Он позволяет практически полностью отказаться от длительного re-deploy процесса.
Внес исправление в код, перекомпилировал - web приложение уже обновилось (вроде PHP,Python,Ruby). Продукт платный, но есть интересный способ использовать бесплатно: social.jrebel.com.

Кроме того они сделали вкусную zip java lib: новость repo.


2. Если не использовать JRebel и разрабатывать используя Vaadin, то можно обнаружить, что при первом запуске vaadin приложения после старта Tomcat, оно висит несколько секунд (примерно 10 на моём ПК). Исследование показало, что "висит" не сам Vaadin, а вызванный в com.vaadin.terminal.gwt.server.AbstractApplicationServlet#serveStaticResourcesInVAADIN Tomcat.
vaadin.jar довольно большой и чтение ресурсов из него длительная операция.
Чтобы избавится от этой задержки достаточно скопировать папку VAADIN из vaadin.jar в web app root (там где WEB-INF, META-INF, etc).
Если Вам помог этот совет проголосуйте за мой совет на stackoverflow.com/questions/3904735.


3. JavaScript is assembly language for the web ИЛИ кто ещё не написал свой веб-Си?
GWT (Google Web Toolkit) - золотой стандарт компиляции в JS, все знают, многим хочется повторить.

Ладно Google начал страдать NIH синдромом и решил изобрести JavaScript (его придумали/сделали не они) dartlang.org

Но так, чтобы ВСЕ бросились компилировать в JS (включая больных и убогих)...
На 20ом языке начинает пробивать смех:
github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

Даже QBASIC не забыт!


4. Унифицированный способ запускать различные контейнеры e.g. Tomcat из своего кода
cargo.codehaus.org


5. Для копирования DTO между разными уровнями в web приложении пригодится
dozer.sf.net

3 комментария:

Unknown комментирует...

JRebel говорит спасибо за упоминание :)

Dmitry Sukhovilin комментирует...

Eclipse + Tomcat
1) Сохранил .java
2) 3 сек ожидания redeploy.
3) F5 в браузере.

Unknown комментирует...

ага. это будет хорошо работать если в приложении одна jsp и парочка классов. Если проложение более-менее нормальных рамеров, и используются фреймворки типа Hibernate и Spring, то старт+редеплой занимает до минуты. А иногда ещё получаем OOM.
так что боевых условиях 3 секунды это приятный миф