Что касается разработки вашего приложения на стороне клиента, мы должны были принять то же решение.
Мы решили пойти на GWT по следующим причинам:
- Большая часть разработкиможет быть сделано в Java.Поскольку у нас есть большой опыт в разработке Java, это сэкономит нам много времени.
- Мы могли бы использовать все известные и любимые инструменты для реализации, так как все сделано в Java.
- НашиПриложение должно было стать настольным одностраничным веб-приложением без полного обновления страницы.В этот момент GWT, казалось, лучше всего подходил для этой потребности (и до сих пор это делает).
- Передача большей части состояния клиенту и предоставление ему возможности выполнять большую часть трудоемкой обработки, обращенной к нам.Таким образом, сервер может обрабатывать большое количество одновременных запросов, а соединения с сервером необходимы только для синхронизации состояния на клиенте.
- Поддержка Модульное тестирование Код GWT хорош в сочетаниис шаблоном MVP еще лучше.
- С момента появления UiBinder создание и стилизация сложных пользовательских интерфейсов стало намного проще и быстрее.
К вашим основным проблемам:
- Кросс-браузерная совместимость в основном обеспечивается самим GWT.
- WYSIWYG возможен с GWT Designer (я долженскажем, я никогда не использовал его; мне нравится создавать пользовательский интерфейс сам ...)
- GWT действительно быстр, потому что рендеринг выполняется на стороне клиента.
- Производительность высока, когдавы привыкли к java.
- Кривая обучения в основном зависит от используемой вами архитектуры (сначала MVP сложен).
- Ваше приложение будет масштабироваться, поскольку сервер освобождается от дорогостоящей обработки.
Надеюсь, что это поможет.
(Некоторые соображения относительно выбора Шва скоро появятся в @kraftan).