Инструменты закрытия Google
Эта статья содержит контент, написанный как реклама . ( Октябрь 2019 г. ) |
Оригинальный автор(ы) | |
---|---|
Первоначальный выпуск | 5 ноября 2009 г. [1] |
Стабильная версия | v20230802 [2] / 2 августа 2023 г |
Репозиторий | |
Написано в | Ява |
Доступно в | JavaScript |
Тип | Ajax-фреймворк |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | разработчики |
Инструменты закрытия Google [3] — это набор инструментов, помогающих разработчикам создавать многофункциональные веб-приложения с помощью JavaScript . Он был разработан Google для использования в их веб-приложениях, таких как Gmail , Google Docs и Google Maps . [4] По состоянию на 2023 год в проекте было более 230 тысяч LOC, не считая встроенного компилятора Mozilla Rhino .
Компилятор замыканий [ править ]
Компилятор Closure — это инструмент, позволяющий ускорить загрузку JavaScript за счет удобочитаемости для человека . Он не компилируется из JavaScript в машинный код , а скорее компилируется из JavaScript в более эффективный JavaScript.
Процесс выполняет следующие шаги:
- Анализирует отправленный JavaScript
- Анализирует JavaScript
- Удаляет любой мертвый код
- Переписывает и минимизирует то, что осталось
Он также проверяет синтаксис , на переменные ссылки и типы и предупреждает об распространенных ошибках JavaScript .
Он поддерживает транспиляцию современного кода ECMAScript в ECMAScript 5, поэтому программисты могут писать JavaScript, использующий новые функции ECMAScript, и запускать его в браузерах или других средах, которые их еще не поддерживают. Это позволило избежать Traceur Compiler, еще одного проекта, который поддерживал транспиляцию ES6 в ES3. [5]
Компилятор Closure также поддерживает проверку типов с помощью аннотаций типов, которые необходимо писать в комментариях JSDoc . [6]
Интерфейс командной строки [ править ]
Google предоставляет инструменты командной строки, используемые для оптимизации и компиляции. .js
файлы:
- Приложение на основе Java , запускаемое из оболочки, которое компилирует список указанных файлов JavaScript.
- npm пакет
google-closure-compiler
который предоставляет три компилятора: собственный двоичный исполняемый файл (через GraalVM ), Java и компилятор на основе JavaScript.
Служба компилятора замыканий [ править ]
Приложение Closure Compiler Service предоставляет пользователю форму для ввода URL-адреса, указывающего на источник JavaScript, или ввода исходного кода JavaScript в текстовое поле. Веб-сайт будет отображаться с оптимизированным JavaScript с правой стороны, чтобы пользователь мог его скопировать. [7]
Доступен API, доступный через POST- запросы, параметры включают:
- JavaScript, который необходимо оптимизировать, или URL-адрес, указывающий на него.
- Уровень оптимизации
- Выдавать ошибки и предупреждения
- Формат вывода, т. е. JSON, XML или текст.
Услуга помечена как устаревшая и в конечном итоге будет удалена. [8]
Экосистема [ править ]
Языки программирования, транслируемые в JavaScript, получают преимущества от Closure Tools. Например, Closure Compiler помогает сделать ClojureScript практичным, делая скомпилированный код JavaScript более эффективным. [9]
Внутренности [ править ]
Closure Compiler основан на модифицированной версии движка Rhino JS, созданной Mozilla, Google Guava , стандартной библиотекой Java, протокольными буферами , Gson и различными другими инструментами для тестирования. Он также поставляется со встроенными аннотациями JavaScript JSDoc для различных популярных проектов, таких как стандартная библиотека API Node.js, JQuery, API Google Map и т. д.
Библиотека замыканий [ править ]
Библиотека Closure — это библиотека JavaScript , написанная специально для использования преимуществ компилятора Closure и основанная на модульной архитектуре . Он предоставляет кросс-браузерные функции для DOM манипуляций и событий , Ajax и JSON , а также объекты более высокого уровня, такие как виджеты пользовательского интерфейса и элементы управления.
Шаблоны закрытия [ править ]
Шаблоны закрытия — это система шаблонов для динамического создания HTML как в Java, так и в Java. [10] и JavaScript . [11]
Поскольку этот язык, по-видимому, назывался «Soy» внутри Google, и «Soy» остается в некоторой документации и классах, [12] иногда шаблоны закрытия называют «шаблонами сои».
Таблицы стилей закрытия [ править ]
Таблицы стилей закрытия предоставляют расширения CSS , которые передаются в обычный CSS. Внутри Google эта расширенная версия CSS называется GSS.
По состоянию на ноябрь 2021 года таблицы стилей Closure устарели в пользу таких инструментов, как Sass и PostCSS . [13]
См. также [ править ]
Ссылки [ править ]
- ^ «Представляем инструменты закрытия — официальный блог Google Code» . 5 ноября 2009 г.
- ^ «v20230802: RemoveUnusedCode: запишите причины отсутствия удаления переменных» . 2 августа 2023 г. Проверено 4 августа 2023 г.
- ^ Болин, Майкл, «Закрытие: полное руководство», O'Reilly Media Inc., Севастополь, Калифорния, 2010 г.
- ^ «Часто задаваемые вопросы — Инструменты закрытия» . Разработчики Google .
- ^ «Traceur — это компилятор JavaScript.next-to-JavaScript сегодняшнего дня» . Гитхаб .
- ^ «Аннотирование JavaScript для компилятора замыканий» . Гитхаб .
- ^ «Служба компилятора закрытия» .
- ^ «Справочник по API службы компилятора замыканий» . Проверено 18 июля 2023 г.
- ^ «Мотивы использования инструментов закрытия Google» . Гитхаб .
- ^ «Привет, мир, использующий Java» . github.com .
- ^ «Привет, мир, используя JavaScript» . github.com .
- ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» . code.google.com .
- ^ Вайценбаум, Натали (01 ноября 2021 г.). «Официально отметить этот репозиторий как устаревший» . Проверено 18 июля 2023 г.