Groovy | |
---|---|
Класс языка | объектно-ориентированный, императивный, сценарный язык, язык функционального программирования, мультипарадигмальный, интерпретируемый, язык JVM, открытое программное обеспечение и свободное программное обеспечение |
Появился в | 2003 |
Автор | Джеймс Стрэкан[вд] |
Разработчик | Java Community Process и Apache Software Foundation |
Расширение файлов |
.groovy [2], .gvy [2], .gsh [2] или .gy [2] |
Выпуск | |
Испытал влияние | Python, Java, Ruby, Perl и Smalltalk |
Лицензия | Apache License 2.0 и лицензия Apache |
Сайт |
groovy-lang.org (англ.) groovy.apache.org |
ОС | кроссплатформенность |
Медиафайлы на Викискладе |
Groovy — объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk.
Использует java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим java-кодом и библиотеками. Язык может использоваться в любом java-проекте или как сценарный язык. Активно используется как Предметно-ориентированный язык для написания скриптов при работе в предметной области (от математики до обработки научных данных), а также сборки и тестирования приложений (Gradle).
Groovy завершил процесс стандартизации в Java Community Process (JSR 241).
Основные возможности языка, отличающие его от Java: как статическая, так и динамическая типизация; встроенный синтаксис для списков, ассоциативных массивов, массивов и регулярных выражений; перегрузка операций. Замыкания в Groovy появились задолго до Java.
На Groovy создано ряд популярных веб-фреймворков, в том числе Grails и Ratpack, фреймворк для создания настольных приложений Griffon[англ.], платформа тестирования Spock[англ.].
Язык нашёл применение в качестве сценарного для расширения возможностей платформенного программного обеспечения. В частности, генератор отчётов iReport, основанный на Java-библиотеке JasperReports, позволяет встраивать в отчёты выражения на Groovy и писать на нём дополнительную логику. Система непрерывной интеграции Jenkins позволяет использовать сценарии автоматизации, созданные на Groovy. Приложение для тестирования веб-сервисов SoapUI поддерживает написание тестовых сценариев на Groovy[3].
Программирование на Groovy поддерживается в основных интегрированных средах разработки[4], в том числе IntelliJ IDEA (начиная с версии 7 или для более ранних версий с использованием JetGroovy Plugin), Eclipse (с использованием Groovy Eclipse), Netbeans (встроен), VS Code (через расширение), Vim (через расширение).