Groovy на практике: Взгляд на Groovy как на DSL для Java-разработчиков

Интерфейсы

Эндрю Гловер (Andrew Glover) начал писать о Groovy для сайта developerWorks еще в 2004 г. Первой в свет вышла статья Почувствуйте Groovy в серии alt.lang.jre, которая была продолжена длинной чередой статей под общим названием Groovy на практике. В те времена еще не было выпущено ни одной книги по Groovy (сейчас их уже более десятка). Более того, до выхода Groovy 1.0 оставалось еще несколько лет. В общем, многое успело измениться с тех пор, как в 2006 г. на сайте developerWorks была опубликована последняя статья из серии «Groovy на практике».

В настоящее время количество загрузок дистрибутива Groovy в Интернет достигло примерно 35 тыс. копий в месяц. Приложения компаний, отличающихся своей консервативностью, например Mutual или Omaha, уже включают более 70 тыс. строк кода на Groovy. Список рассылки, относящийся к Groovy, является одним из наиболее популярных на сайте Codehaus.org, на котором и размещается проект Groovy (см. раздел Ресурсы). Groovy уступает по количеству загрузок и популярности списка рассылки только одному проекту: Grails – инфраструктуре для разработки Web-приложений, причем она написана на Groovy (см. раздел Ресурсы).

Выполнение кода, написанного на языках, отличных от Java, в JVM – это не просто распространенное явление, а центральная часть стратегии Sun. Groovy поддерживается Sun наряду с такими языками, как JavaScript, JavaFX, JRuby и Jython. То, что считалось чистыми экспериментами в 2004 г., сейчас стало нормой жизни.

Описание вопросов работы с Groovy в 2009 г. не сильно отличается от тех времен, когда Энди начал работать над первыми статьями серии. Синтаксис языка стабилизировался еще в 2005 г. Разумеется, в каждой версии появляются новые удобные возможности, однако они не нарушают обратной совместимости, которая ставится во главу угла руководителями проекта. Благодаря этому Groovy можно легко использовать в проектах Java, в которых желательно полагаться только на технологии, которые будут поддерживаться настолько долго, насколько будут эксплуатироваться приложения, созданные с их помощью.

Эта статья была написана с целью помочь опытным Java-разработчикам начать использовать Groovy. Несмотря на то, что кому-то может показаться, что статья ориентирована на начинающих, она посвящена исключительно вопросам практического применения Groovy. Таким образом, сразу после примера «Здравствуй, мир!» мы моментально перейдем к использованию Groovy в реальных задачах.
Об этой серии

Groovy – это современный язык программирования для платформы Java. Он поддерживает беспрепятственную интеграцию с ранее написанным кодом на Java, предоставляя при этом такие впечатляющие возможности, как замыкания и метапрограммирование. Другими словами, Groovy выглядит как Java, если бы последний был создан в 21-м веке.

При добавлении любой новой технологии в ваш инструментарий разработчика встают два основных вопроса: в каких случаях стоит ее использовать, а в каких нет. Groovy – это чрезвычайно мощный язык, но только если его применять для решения подходящих задач. Именно поэтому в статьях серии Groovy на практике рассматриваются вопросы практического применения Groovy с целью помочь вам разобраться в том, когда и как следует задействовать этот язык.

Установка Groovy

Если вы ранее не использовали Groovy, то первое, что вам следует сделать – это установить его. Установка заключается в выполнении нескольких простых шагов. Они напоминают этапы установки самой платформы Java, а также таких знакомых приложений как, например, Ant и Tomcat.
Загрузите последнюю версию Groovy в виде архива ZIP или TAR.
Распакуйте архив в любую директорию по вашему выбору (при этом следует избегать пробелов в именах каталогов).
Создайте переменную окружения под именем GROOVY_HOME.
Добавьте путь GROOVY_HOME/bin в переменную PATH.

Лучше всего Groovy выполняется на платформах Java 5 или 6. Чтобы проверить, какая версия Java у вас установлена, выполните команду java -version. Затем выполните команду groovy -version, чтобы убедиться, что Groovy был успешно установлен.

Подключаемые модули Groovy, предоставляющие такие возможности, как автозавершение или пошаговая отладка, существуют для всех основных сред разработки (IDE), в том числе Eclipse, IntelliJ и NetBeans. В отличие от Java, IDE не являются такой необходимостью для написания кода на Groovy. Благодаря лаконичному синтаксису языка, многие разработчики предпочитают пользоваться обыкновенным текстовым редактором. Groovy поддерживается как бесплатными редакторами, такими как vi и Emacs, так и недорогими коммерческими, например Textpad (для Windows®) и TextMate (для Mac OS X). За более подробной информацией обратитесь по ссылкам в разделе Ресурсы.

Далее вы убедитесь, что интеграция кода на Groovy в существующий проект Java не представляет трудностей. Все, что от вас требуется – это добавить JAR Groovy из каталога GROOVY_HOME/embeddable в classpath приложения, а также помесить Ant-задание javac внутрь задания groovyc (аналогичный механизм поддерживается Maven).

Однако не будем забегать вперед. Для начала рассмотрим обязательный пример – приложение «Здравствуй, мир!».