Я никогда не использовал SmartGWT или любые другие богатые библиотеки. Мое мнение может быть предвзятым, но я действительно считаю, что компоненты Gwt легко настраиваются и легки. Я никогда не чувствовал, что от SmartGwt есть другие библиотеки этого типа.
Как говорится, вот мой ответ на два ваших вопроса:
Использование платформы GWT-платформы и SmartGWT может быть опцией попробовать архитектуру MVP, как упомянуто здесь. Есть предложения?
Ну, чтобы остаться MVP, как в этом аспекте, просто установите источник данных от докладчика. По вашему мнению, виджет SmartGWT должен быть «пассивным» и ожидать конфигурации от докладчика.
Преимущество: вам не нужно проверять вид модулем, так как виджеты SmartGWT уже должны быть хорошо протестированы. Вам нужно только протестировать докладчика, где вы на самом деле вызываете представление, чтобы настроить этот виджет, и проверить, правильно ли вы его называете.
Архитектура клиент-сервер: наличие Spring MVC + Spring core на стороне сервера и GWT + Smart GWT на стороне клиента может быть хорошим стеком технологий с открытым исходным кодом, но, учитывая, что GWT по умолчанию использует RPC для взаимодействия клиент-сервер, использование из них необходимо лучше оценить. (особенно аутентификация / обработка сеанса / безопасность и т. д.). Есть предложения?
RPC - это опция, а не связь по умолчанию. Существует два других типа связи (и даже больше, если вы попробуете экспериментальную функцию, такую как DeRPC): RequestBuilder и RequestFactory.
RequestBuilder может быть использован для HTTP GET с JSON Response. Не могу помочь вам с умным подходом GWT.
Вот пользователь Gwt-Platform, который использует Smart GWT, прочитайте его блог, он должен вас просветить:
http://uptick.com.au/blog
На момент написания этого ответа блог не работал, но вскоре должен вернуться.