GWT или другие технологии презентационного уровня с Spring WebFlow/MVC Framework

Во-первых, я никогда раньше не использовал GWT. У меня есть хороший опыт в HTML/CSS/JS/JSP.

Я ищу мнения людей о пригодности Google Web Toolkit для совершенно нового веб-приложения, которое я разрабатываю.

  • Большое требование заключается в том, чтобы пользовательский интерфейс был привлекательным и хорошо продуманным (не похоже на неуклюжее приложение Java/Swing).
  • Он должен выглядеть как любой типичный современный веб-сайт на основе HTML / CSS / JS.
  • Это внутреннее приложение компании, поэтому SEO не требуется.
  • JSF не вариант.

Используемыми платформами веб-приложений будут Spring Webflow и Spring MVC. Он будет использовать легкие контроллеры для связи со служебным уровнем.

Будет ли Spring Tiles в сочетании с JSP более простым или более гибким вариантом, чем GWT, для достижения моих целей?

Преимущества / недостатки GWT и другие варианты приветствуются.

Спасибо

1 ответ

Решение

Преимущества GWT

  • Вам действительно не нужно знать JavaScript, так как весь ваш код на стороне клиента будет на Java

Обычно это главная причина, по которой люди обращаются за GWT. Они бэкэнд-разработчики, которые знают Java, но не знают Javascript, и они действительно не хотят изучать его. Тем не менее, вы должны быть осторожны с этим. GWT - это очень полная и сложная структура со многими концепциями, специфичными для GWT. Несмотря на то, что вы будете программировать на Java, вам все равно придется пройти через множество учебников и документации, прежде чем вы сможете создать чистое приложение GWT.

  • Готовые к использованию виджеты, такие как указатели даты, динамические таблицы, макеты, всплывающие окна

Это не совсем специфично для GWT. Другие внешние интерфейсы, такие как jQuery, Dojo или что-то еще, также дают вам это. Вы можете взглянуть на GWT Showcase, чтобы увидеть, что GWT может предложить.

  • GWT заботится о многих сложных и потенциально опасных вещах для вас.

Такие вещи, как кросс-браузерная поддержка, интернационализация, объединение изображений и статических ресурсов, безопасность интерфейса, связь Ajax с сервером, поддержка событий и инфраструктуры MVP (как в MVC). Посмотрите на документацию, она очень хорошо сделана и очень тщательна.

  • Отладка проста

GWT имеет два разных "режима". Когда вы создаете свое приложение для производства, gwt скомпилирует весь код Java для внешнего интерфейса, который вы написали в javascript. Этот javascript будет выполняться в браузерах ваших клиентов. Но когда вы разрабатываете, вы можете запустить свое приложение без компиляции Java-кода в Javascript. Это позволяет вам использовать отладчик для отладки вашего интерфейса. Это очень хороший инструмент.

Недостатки GWT

  • Как я уже говорил, GWT - это полная структура с конкретными для нее понятиями. Не думайте, что только потому, что он находится в Java, и вы знаете Java, вам не придется изучать новые вещи.

  • Взаимодействие GWT с внутренними структурами нелегко

Наиболее распространенный способ взаимодействия кода клиента GWT с сервером - использование механизма RPC GWT. Это означает, что вам понадобятся сервлеты, которые реализуют определенные интерфейсы. Вы должны обязательно прочитать документы по взаимодействию клиент-сервер, чтобы увидеть, хорошо ли это подходит для Spring. Поиск в SO или Google должен дать вам указатели для настройки вашего приложения.

Другие вопросы по тегам