Я профессиональный разработчик Java около 4 лет. Я фанат GWT. Я люблю Яву. Вот проблема: в свободное время я часто становлюсь жертвой многословия моих любимых инструментов для «тяжелой» разработки. Я также часто попадаю в ловушку одержимой разработки своего программного обеспечения. Я закончу с самой красивой незаконченной реализацией, когда-либо.
Итак, вот с чем я обычно работаю.
GWT - Я использую это для динамического интерфейса и веб-макета. Я люблю легкость повторного использования, и это научило меня ненавидеть javascript. Я действительно даже не могу заставить себя делать больше HTML / JS.
Hibernate - POJO в базу данных, легко-peasy. Что мне действительно нужно от этого, кроме сопоставления, так это то, что оно позволяет мне иметь приложение, которое работает с несколькими базами данных.
Весна - В основном безопасность. Я написал свои собственные биты LDAP для проекта.
XML - Я использовал dom4j и другие реализации, включая xstreamer. Я хотел бы использовать JiBX для транспорта XML. Проблема в том, что мне нужны XML-сообщения, которые соответствуют определенному стандарту , а не генерируются автоматически. Object-> XML-> Object также достаточно распространены, так что это может быть узким местом в производительности с большими сообщениями (250 КБ +).
Я попробовал Lombok некоторое время, и он мне понравился, но иногда возникали проблемы с ним, а затем я взорвал раздел и потерял всю эту работу. Я действительно не хочу делать то же самое снова (половина удовольствия была в том, чтобы научиться делать это, теперь, когда я знаю ... ме). Это научило меня, почему другие люди хотят сократить явный код и заменить его неявной системой.
Я изучал Grails, но это довольно быстро наталкивает меня на проблему с JavaScript (знаете, мне это не нравится). Я мог бы использовать GWT с Grails на заднем конце, но я возвращаюсь к проблеме проникновения в сорняки с GWT. Мне также пришло в голову, что может быть способ иметь теги Grails в GSP, которые состоят из виджетов GWT. Я не совсем уверен, что я чувствую по этому поводу.
Еще одна проблема, связанная с Grails, заключается в том, что логика проверки до отправки формы отделена от ограничений проверки после отправки. Я не вижу, как они могут быть объединены (пока), чтобы произвести "симпатичную" проверку интерфейса. Я старался изо всех сил запустить JSR-303-совместимый проект проверки для GWT, чтобы помочь решить некоторые из этих проблем для GWT, и мне очень понравились результаты. Это не закончено, но я все еще нахожу это полезным.
Итак, помогите мне найти лучший путь!
TL; DR - я хочу иметь решение для базы данных (и независимое от базы данных) для графического интерфейса пользователя, которое позволяет динамически программировать все на одном языке. В противном случае, как можно ближе к одному языку.
TL; DR - это TL; DR - я ненавижу JavaScript, помогите.
РЕДАКТИРОВАТЬ: Я знаю, что технически невозможно сделать разработку "Web 2.0" без JavaScript. Я просто пытаюсь не быть парнем, который должен это написать. (Получение инструмента, такого как GWT, чтобы сделать это для меня на языке, который мне нравится, например.)