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 должен дать вам указатели для настройки вашего приложения.