2009-05-20 3 views
2

У нас есть крупномасштабный проект веб-приложений Java. Я рассматриваю возможность интеграции некоторого кода Groovy в ситуациях, когда, думаю, Groovy может уменьшить наши усилия. Например, синтаксический анализ XML и модульное тестирование.Groovy gotchas при интеграции кода Groovy в предэкспонировании Java-проекта

Есть ли какие-либо «gotchas» или отрицательные воздействия для этого сценария. Например, возможно, это сделало бы нашу сборку намного более сложной. Я также слышал о проблемах совместимости.

ответ

3

У меня был проект, который был объединен с Java и Groovy. Я использовал Groovy для обработки текстового файла и Java для Swing UI. Некоторые из трудностей, в которых:

  • Плохая поддержка IDE Eclipse. Плагин Groovy Eclipse довольно беден, нет поддержки для завершения команды. Получение кода Groovy для сборки в Eclipse очень хрупко и болезненно. Слово на улице - это то, что поддержка IntelliJ лучше.
  • Интеграция Maven. Также немного сложно, но не так плохо, как Eclipse.
  • Производительность. После того, как я получил поддержку с плохой поддержкой Eclipse, я повторно выполнил мою обработку текста на Java и обнаружил, что производительность была намного быстрее. Для моего приложения, которое считывает строки из текстового файла и ищет данные при определенных смещениях, код Java работает примерно в 3 раза быстрее, чем Groovy.

Для меня использование Groovy не стоило того. Вы можете варьироваться.

+0

Спасибо Стив. +1 К сожалению, эти языки Java, отличные от Java, похоже, имеют долгий путь, прежде чем они будут готовы к прайм-тайм. Также плохая поддержка затмения - это шоу-стоппер. –

+0

, хотя затмение имеет более плохую поддержку для groovy, есть другие IDE, такие как Intellij (хотя и не бесплатные, если это важно для вас), который отлично поддерживает groovy. – Chii

+1

Поддержка Groovy в IntelliJ IDEA очень хороша, и в течение 18 месяцев с момента создания ОП были внесены большие изменения в поддержку Eclipse. IDEA теперь является открытым исходным кодом, который включает поддержку Groovy. –