Прошло время, когда web-разработка заключалась в обработке HTTP запросов и рендеринге соответсвующей html странички. Сейчас, куда не плюнь, везде требуется Rich UI. У java разработчика есть выбор: либо писать rich ui на javascript’e, либо воспользоватся GWT платформой, и писать на родимой жаве.
В последнее время мне удалось поработать с GWT, итак за и против.
За GWT:
- Не нужно учить Javascript. Если вы гуру и не одну собаку съели педаля на жабе и принципиально не хотите учить javascript, то gwt в самый раз.
- Все приимущества Java. Статическая типизация, IDE, дебаггер, рефакторинги, анализаторы кода – все к вашим услугам.
- Один код на сервере и на клиенте. Код написанный для сервера может быть скомпилирован в javascript и работать на клиенте.
- Google. GWT разрабатывается, не командой волосатых программистов из гаража, а корпорацией google и используется в проектах компании.
- Кросс-браузерность.Разрабатывая с помощью GWT можно не беспокоится про кросс-браузерность, клиент компилируется в поддерживаемый современными браузерами код.
Против GWT:
- Java == No fun. Писать на жаве UI неудобно. Количество строк кода в результате – огромно.
- Медленно. Скорость разработки на GWT на порядок меньше чем с помощью javascript’a. В большинстве из-за количества кода, которое приходится писать. Скорость работы GWT-овского компилятора уничтожает желание использовать GWT.
- Отсутсвие подходов к написанию программ с помощью GWT. Best practices и подходы по написанию программ с помощью GWT постоянно меняются. RequestFactory и Activity Framework до сих пор сырые.