Что такое Groovy и Grails и какие приложения создаются с их помощью?

100

В настоящее время я много слышу о Groovy on Grails и хочу узнать о нем больше:

  • Что такое Groovy?
  • Что такое Грааль?
  • Какие приложения создаются с использованием Groovy on Grails?
Рэйчел
источник
3
Кроме того, это просто Grails. Не Groovy на Grails (это бессмысленно ..). Тебе повезло, что Марк Палмер не видел этого вопроса :)
leebutts
23
Grails = Groovy on Rails
Паскаль Thivent 04
1
На самом деле, вокруг прозвища «Groovy on Rails» было довольно много споров, поэтому Grails больше НЕ называется Groovy on Rails. Это просто Грааль.
Матиас
3
Да, 5 лет назад, в 2006 году ребята из Ruby on Rails пожаловались, и фреймворк, который назывался Groovy on Rails, был переименован в Grails. Его никогда не называли Groovy on Grails, за исключением сбитых с толку рекрутеров и их жертв.
Берт Беквит

Ответы:

188
  1. Что такое Groovy на Grails?

    Под этим именем его больше не существует. Теперь это просто Grails .

  2. Что такое Groovy?

    Изначально динамический язык для JVM. Однако, начиная с Groovy 2.0, поддерживается как статическая, так и динамическая типизация.

  3. Что такое Грааль?

    Grails (ранее известный как «Groovy on Grails») - это среда программирования, основанная на Groovy и вдохновленная Ruby on Rails (есть различия, но есть и много общего). Как и RoR, Grails продвигает «кодирование по соглашению», передовые методы разработки и призван быть высокопроизводительным.

  4. Какие приложения создаются с использованием Groovy on Grails?

    Grails используется для создания веб-приложений, работающих на JVM.

  5. Каковы преимущества Groovy on Grails?

    Высокая производительность, сосредоточение внимания на бизнесе, а не на сантехнике. (Обратите внимание, что я бы не рекомендовал использовать Grails с существующей моделью данных. Причина в том, что Grails поощряет нисходящий подход, при котором ER-модель баз данных возникает в результате классов Domain. Если вы используете устаревшую базу данных , вы не можете воспользоваться этим подходом. Вы должны сопоставить базу данных с классами домена, и, вероятно, соглашение об именах не будет совпадать, что сделает необходимым использование файлов конфигурации hbm.xml или аннотаций Hibernate. ИМО, это нетривиальное изменение в рабочий процесс, он может стать действительно громоздким, и вы потеряете большинство преимуществ Grails.)

  6. Зачем использовать Groovy в Grails, если у нас есть стандартные языки программирования, такие как C / C ++, Java / J2EE и .NET / C #?

    Из-за пункта 5.

Паскаль Тивент
источник
1
Не могли бы вы объяснить больше, почему вы не рекомендовали бы использовать grails с существующей моделью данных?
Тодд Хантер
1
Не могли бы вы подробнее объяснить, что вы имеете в виду High productivity, focusing on business instead of plumbing.? что есть plumbing?
Thang Pham
@HarryPham - шаблонный код и работа с тем, «как все делается», а не «что мы делаем» реализации
cdeszaq
@Pascal Thivent - я мог бы в конечном итоге переписать чужую программу с нуля, и если бы не ваша точка зрения о том, что не рекомендуется использовать Grails с существующей моделью данных, Grails был бы явным победителем для использования фреймворка. Я еще не видел архитектуры БД программы, но полагаю, что это довольно просто, учитывая простую функциональность программы. Изменится ли вообще ваша рекомендация, если существующая архитектура БД проста? Можно ли избежать громоздкого рабочего процесса путем переноса данных из устаревшей БД в новую, и если да, то будет ли это сложно сделать? Спасибо.
Дэниел
Начиная с Grails 3, существуют различные профили, которые вы можете использовать для настройки структуры Grails под свои нужды. Это уже не только веб-фреймворк, его можно успешно использовать для разработки облегченных микросервисов REST без использования механизма шаблонов или даже уровня ORM. grails.github.io/grails-doc/latest/guide/single.html#profiles
Луис Муньис,
24

Groovy - это объектно-ориентированный язык программирования для платформы Java. Это динамический язык с функциями, аналогичными Python, Ruby, Perl и Smalltalk. Его можно использовать как язык сценариев для платформы Java. Groovy имеет синтаксис, подобный Java, и без проблем работает с байт-кодом Java.

Другие функции включают:

  • Легкая кривая обучения
  • Поддержка предметно-ориентированных языков
  • Компактный синтаксис
  • Поддержка динамического набора текста
  • Мощные примитивы обработки
  • Легкость разработки веб-приложений
  • Поддержка модульного тестирования.

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

Как и Rails, Grails, кажется, является тем, что я называю «сильно зернистым». Если вы делаете что-то в стиле Grails, разработка будет легкой (и, как правило, довольно быстрой). У фреймворка обычно есть предпочтительный способ выполнения большинства вещей. С другой стороны, если вам нужно пойти против течения, у вас будут сравнительно тяжелые времена.

И не говорите, что Groovy в Grails (не существует), по причинам, обратитесь к этому блогу.

Джайнендра
источник
12

Grails является прямым аналогом Ruby on Rails , но работает с Groovy. Что такое Groovy ? Это язык сценариев, который работает на виртуальной машине Java (JVM).

Таким образом, вы можете использовать библиотеки Java, которые у вас уже есть или доступны (поскольку они скомпилированы в байт-код и, таким образом, запускаются на JVM), а также мощность JVM (для сборки мусора, скорости через JIT-компиляцию и т. Д.) И лаконичность Groovy. Кривая обучения Java-программисту, чтобы освоить Groovy, должна быть довольно небольшой (что позволяет задействовать огромное количество доступных Java-программистов).

Это совершенно другой способ создания веб-приложений по сравнению со стандартными механизмами Java программирования сервлетов, JSP, Java Server Faces и т. Д. Grails (например, Ruby on Rails) обещает более динамичную и итеративную среду разработки, чем стандартные механизмы разработки (верно ли это в практика , посоветовать не могу)

Брайан Агнью
источник
Мозг, ваши утверждения противоречат, вы говорите, что это язык сценариев, но в следующем абзаце вы говорите, что он скомпилирован в байтовый код. Я программист .NET, и языки сценариев, такие как javascript и т. Д., Не компилируются, а просто интерпретируются. Не могли бы вы объяснить, что вы имеете в виду под этими противоречивыми утверждениями?
Ученик,
Groovy можно использовать обоими способами. Программа Groovy может выполняться построчно как простой скрипт, например javascript. Его также можно скомпилировать с помощью компилятора Groovy в класс байт-кода, который может быть выполнен с использованием JVM.
pRmdk
0

Grails - среда MVC для разработки веб-приложений и готовая к кодированию платформа с DRY (не повторяйтесь), построенная на основе Spring + Hibernate. Платформа Grails заботится об инфраструктуре и зависимостях для запуска веб-приложения, чтобы разработчики могли сосредоточиться на создании функциональных возможностей продукта. Grails - отличная среда для начинающих организаций, позволяющая вывести продукт из режима разработки в режим производства.

Павитра Р
источник