Одностраничное веб-приложение в Java-среде или примерах?

Кто-нибудь видел пример или сделал следующее в Java: http://duganchen.ca/single-page-web-app-architecture-done-right/

Это дизайн одностраничного веб-приложения, которое будет работать с Google SEO с массовым нарушением DRY с использованием технологий Java?

Мне не кажется, что это сложно сделать самому, но мне было любопытно (и лениво) посмотреть, кто-то уже сделал это с помощью Spring или JAX-RS.

Ответы

Ответ 1

Я создал довольно большой "одностраничный" сайт javascript, который генерирует весь HTML на клиенте. Сервер предоставляет только ответы JSON. Я использовал инструменты Google Closure по следующим причинам:

  • Шаблоны Google Closure позволяют создавать шаблоны на языке шаблонов высокого уровня (названный soy), который скомпилирован либо на чистые функции javascript для запуска на клиенте, либо в Java-код для запуска на сервере.

  • Компилятор Google Closure, который позволяет разделить код javascript на модули и обеспечивает автоматическую инъекцию зависимостей для несжатого режима. Хорошая структура программы и модуляция необходимы для любого проекта, превышающего простое оформление html. Этого трудно достичь с помощью таких фреймворков, как jQuery или dojo. В расширенном скомпилированном режиме он превращает ваш javascript в более короткий эффективный эквивалент, устраняет мертвый код и делает резкое уменьшение размера, что может уменьшить исходную кодовую базу до немногих% от исходного размера.

  • Таблицы стилей Google - это мета-язык css, который отлично работает с компилятором закрытия.

  • Google Closure Library - огромная и хорошо протестированная библиотека javascript и с компилятором закрытия, вы берете только то, что нужно.

Чтобы оптимизировать разработку, я использую plovr, написанный Михаллом Болином, бывшим гоуглером, одним из членов оригинальной команды компилятора Closure.

Я могу порекомендовать прочитать книгу Микаля: Закрытие, Окончательное руководство.

Я должен предупредить, начальная кривая leraning может быть довольно крутой, но это хорошо стоит. Google использовал эти инструменты для написания почти всех своих веб-проектов.

Еще одна вещь

Если вы чувствуете себя очень предприимчивым и хотите заглянуть в будущее, я рекомендую обновить прежнюю стратегию с помощью Clojure/ClojureScript. Для начала просмотрите этот очень убедительный разговор о Rich Hickey и обязательно проверьте один проект Clojurescript.

Ответ 2

Я рекомендую AribaWEB для его расширенного использования AJAX.

http://aribaweb.org/

Ответ 3

Взгляните на ItsNat, это Java-фреймворк, ориентированный на веб-сайты, совместимые с одной страницей.