Wszystko zależy od tego jakich tych frameworków używasz. Zamiast JavyEE do małych projekcików możesz używać małych frameworków, np taką skrajność jak: http://www.sparkjava.com/
Natomiast u mnie normalną tendencją w robocie jest to, że jak robię nowe narzędzie to robię to tak, że najpierw metodą Kopiego-Pejsta startuję nowy projekt, a potem refaktoryzuję ;]
W czym piszę? Generalnie jestem z zawodu Javowcem, ale ostatnio w robocie muszę dużo klepać w Pythonie, czego bardzo nie lubię (nie lubię dynamicznie typowanych języków, gdyż IntelliJ się w takich łatwo gub, a ja razem z nimi; mam kiepską pamięć krótkotrwałą i zanim zapamiętam zależności między klasami/ metodami/ etc to trochę mija; dla mnie to bezcelowe i antyproduktywne, tzn pisanie w języku kaczo typowanym). Hobbystycznie ostatnio pisuję głównie w czystym C, bo zajmuję się algorytmami kompresji (chyba nie trzeba tłumaczyć czemu C jest popularne wśród osób zajmujących się tym tematem :P ) oraz powróciłem do Scali w końcu i w niej zamierzam się rozwijać (+ OpenCL, którego potrzebuję by zrealizować własny projekt).
Stronki można pisać różnie i z użyciem różnych frameworków. Np GWT (tudzież Vaadin na nim oparty) który tłumaczy Javę na JavaScript, Apache Wicket który implementuje dziedziczenie HTMLa podobnego do dziedziczenia klas (tzn jest nawet mapowanie 1:1 między plikami Java, a HTML), Spring MVC (nie używałem), Play Framework (oparty o język Scala, ale także z Javowym API), itd Możesz też olać generowanie frontendu po stronie serwera i przejść na REST (lub coś podobnego) + interfejs we frameworku JavaScriptowym - to podobno świeży i przyszłościowy trend. Moim zdaniem podejście z mikroserwisami wystawiającymi API na RESTa oraz aplikacja JavaScriptowa po stronie klienta to bardzo ciekawe rozwiązanie i warto się tym zainteresować. Zwłaszcza, że jeśli przeniesie się generowanie frontendu całkowicie na klienta, to wtedy jest dużo większa elastyczność - w sensie, że jak chcemy zmienić frontend to nie trzeba w ogóle ruszać mikroserwisów, podobnie jeśli chcemy mieć wiele frontendów to też nie trzeba w ogóle ruszać backednu, itd Frontend i backend mogą ewoluować oddzielnie w takim modelu.
Jest pewne parcie w firmie na HTML5 i z tego co się orientuje to jest to właśnie mniej więcej frontend w ExtJS, a backend na RESTowym API. Chcą tym zastąpić Javowe stacjonarne GUI. Moim zdaniem to ma średnie szanse powodzenia. Np jedna zakładka Facebooka może spokojnie zjeść setki megabajtów. Jakoś wątpię, by intefejs webowy w przypadku biznesowej krowy był cokolwiek lżejszy i szybszy od dobrze zaprojektowanego interfejsu stacjonarnego. Chodzi mi przede wszystkim o przypadki w których trzeba operować na bardzo dużych tabelach - przeglądarki webowe w takich przypadkach wymiękają.