Ответ 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.