Альтернатива Vaadin для высоконагруженного пользовательского интерфейса

Сейчас я программирую веб-приложение на базе Vaadin. Я вполне доволен циклом обучения и тем, как легко можно разработать пользовательский интерфейс.

В целом плюсы Vaadin следующие:

  • "Родное" программирование пользовательского интерфейса для пользователей Java (иерархия компонентов / слушатели событий / drag & drop / валидация).
  • Из коробки хорошая коллекция компонентов (дерево / таблица / список / ...).

Минусы:

  • Большой и сложный HTML-вывод. Это замедляет время отклика браузера (также упоминалось здесь и там) и приводит к некоторым особенностям рендеринга от браузера к браузеру.
  • Трудности при работе с большим количеством компонентов (см. Может ли CustomLayout работать с 5000 компонентами?).
  • Необходимость перекомпиляции набора виджетов, если вы используете компоненты сторонних производителей.

Мой вопрос к сообществу:

Какой Web Framework лучше всего подходит под следующие требования:

  • Разделение представления и обработчиков событий/действий.
  • Общие компоненты из коробки (с расширенными возможностями, такими как перетаскивание колонок таблиц, ленивая загрузка).
  • Поддержка макетов (без головной боли с вставками и выравниванием компонентов).
  • Распространение событий на сервер и обработка событий на стороне сервера.
  • Возможность генерировать свой HTML (если фреймворк не основан на HTML), а также перехватывать события для него (например, щелчки мыши).
  • Возможность регистрации обратных вызовов нажатия клавиш (например, Ctrl-S) - это плюс.
  • Короткая кривая обучения для Java-разработчика - это плюс.

Разумное сочетание подходов тоже подойдет. Пожалуйста, дайте ссылку на приложение "Hello World", реализованное на основе предложенного вами фреймворка. Я рассматриваю Apache Wicket / Echo2 / Tapestry / Click / GWT, но сложно сделать выбор, не поиграв пару месяцев (надеюсь, без глубокого разочарования).

6
задан Community 23 May 2017 в 12:09
поделиться