Сергей Протько: простейшая реализация, про планшеты ничего не сказано. Наши фронтендщики юзают кастомную штуку, которая занимает очень много строчек кода и слушает мильён событий. Но зачем это в бытовых целях?
Dazar: многопоточность, безопасность, управление транзакциями и прозрачное масштабирование - основные причины использования EJB. Взамен вы получаете прожорливость по ресурсам и очень медленную разработку.
Часто делают модульную иерархию, в которой некоторые модули написаны на Spring MVC + REST. А между собой модули общаются по JMS.
Для особо продвинутых и сложных проектов накручивается еще и OSGi модель.
Увы, но чем сложнее приложение, тем труднее для него подобрать фреймворк, по этому проще воспользоваться универсальным решением и допилить его под свои нужды.
Dazar: а там обычно используется как раз JSF + EJB + JMS + JS без GWT. Часто впихивается Angular\Jasmine\Grunt и пр. В общем делается полноценный backend & frontend стэки. Это гораздо сложнее в плане начать, и гораздо сложнее для содержания архитектуры, но от этого никуда не деться. В таких проектах разработчики через 2 года работы только понимают как работает один небольшой модуль. Если говорить о спринге, то его часто используют, но выборочно. Например IoC часто добавляют.
kciray: www.slideshare.net/AlexTumanoff/web-14945509 вот хорошая презентация по сравнению фреймворков.
Именно по этому я и спросил вас в самом начале, смотря какой сайт хотите писать. Если хотите устроиться на работу -> Spring * поможет. MV* фреймворки, как maven - ты делаешь с их помощью то, для чего они предназначены, и они диктуют тебе правила и архитектуру. Dazar: в общем гляньте презентацию. Хотите сайтики стряпать -> MVC. Хотите делать что-то более сложное -> это не MVC. Всё просто. Долгое время PHP был жалким подобием языка программирования, тем не менее на нем написано > 90% всемирной паутины. Если он был такой дырявый и корявый, не безопасный и всё такое, видимо не все так плохо, раз уж его используют все. Можно делать быстро, можно делать качественно. Если задумка простая -> MV* покроет, если хотите гибкость и больше контроля -> MV* не поможет.
kciray: Dazar: Ребят, я не имею в виду, что Spring MVC не используется. Наоборот, его сейчас пытаются впихнуть всюду, потому что с ним легко и быстро начать. И я не считаю это правильным. В большинстве случаев его использование просто не оправдано. В одном из докладов на YAC2014 была фраза: "framework не должен диктовать логику вашего приложения, и вы всегда должны легко соскочить с него." В случае с MVC это правило как раз нарушается.
Касательно GWT ваш гуру не прав. В таких компаниях как Яндекс, Google, NetCracker, Luxoft etc. Используются как раз GWT + EE решения.
Алексей Сундуков: ну так вы и будете запускать и потом останавливать сервер до начала тестов и после их окончания. phpUnits полностью покрывает ваш функционал