четверг, 21 июня 2012 г.

Groovy - знакомство

Groovy - объектно-ориентированный язык программирования для платформы Java. Соответственно, groovy использует java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками (ru.wikipedia.org/wiki/Groovy).


Установка. В первую очередь, на компьютере должна быть JDK 1.5+. Далее скачиваем (например, на groovy.codehaus.org) и устанавливаем Groovy Development Kit. Далее задаём переменную GROOVY_HOME, а в System Path добавляем %GROOVY_HOME%\bin:
Правильность установки легко проверяем командой groovy -v или groovy --version.

Хэлп вызывается groovy -h или groovy --help.

Быстрый старт. Groovy прост за счёт нескольких простых правил, положенных в его основу.
1. Программа представляет собой текстовые файлы с расширением groovy. Для запуска программы App.groovy достаточно выполнить команду "groovy App".
2. Groovy скрипт можно использовать самостоятельно. В groovy скрипте можно вызывать java классы. В java коде можно делать вставки на groovy. Отличная совместимость и свобода выбора!
3. Groovy полностью совместим с java, но позволяет опускать многие детали. Так, два следующих скрипта идентичны с т.зр. результата их выполнения.
class app {
    public static void main(args)  {
        println "$this"
    }
}
и
println "$this"
Обратите внимание на доступ класса - по умолчанию он public. Также groovy позволяет использовать шаблонную подстановку в строки при помощи ключа $имя_переменной, значительно упрощая программирование. По умолчанию программа разбивается на строки по символу /s, поэтому нет необходимости в использовании точки с запятой(;), хотя и это не запрещено.

Java-style vs. Groovy-style
Вариант №1 - java-style
import java.util.*;
class classmap {
    static void main(args) {
        Map map = new HashMap();
        map = new TreeMap();
        map.put(1, "first");
        map.put(2, "second");
        System.out.println(map.get(1));
    }
}
Вариант №2 - обратите внимание на способ задания карты и вывод на консоль
import java.util.*;
class classmap {
    static void main(args) {
        def map =[:];
        map.put(1, "first");
        map.put(2, "second");
        println map[1];
    }
}
Вариант №3 - groovy-style
import java.util.*;
class classmap {
    static void main(args) {
        def map =[:]
        map[1]="first"
        map[2]="second"
        println map[1]
    }
}
Вариант №4 - максимально упрощённый groovy-style
def map =[:]
map[1]="first"
map[2]="second"
println map[1]
Т.о., возможно написание скриптов в различном стиле - java, собственно groovy либо смешанный. Следует выбрать для себя стиль кодирования и придерживаться его - это облегчит понимание кода.

В качестве завершения поста позволю себе цитату.
"При добавлении любой новой технологии в ваш инструментарий разработчика встают два основных вопроса: в каких случаях стоит ее использовать, а в каких нет. Groovy – это чрезвычайно мощный язык, но только если его применять для решения подходящих задач. Именно поэтому в статьях серии Groovy на практике рассматриваются вопросы практического применения Groovy с целью помочь вам разобраться в том, когда и как следует задействовать этот язык" (Скотт Дэвис).
И совсем в завершении - несколько ссылок:
Groovy на практике: Взгляд на Groovy как на DSL для Java-разработчиков
Groovy за 15 минут – краткий обзор
Презентация: Groovy – другой взгляд на Java

Комментариев нет:

Отправить комментарий