Що таке "Groovy" та "Grails" та які типи додатків створюються за допомогою них?


100

У наш час я багато чую про "Groovy on Grails" і хочу знати більше про нього:

  • Що таке Groovy?
  • Що таке грааль?
  • Які програми створені за допомогою Groovy on Grails?

3
Також це просто Грааль. Не Groovy на Граалі (це не має сенсу ..). Вам пощастило, Марк Палмер не бачив цього питання :)
leebutts

23
Grails = Groovy on Rails
Pascal Thivent

1
Насправді, навколо монітора "Groovy on Rails" було досить багато суперечок, саме тому Грааля вже НЕ називають Groovy on Rails. Це просто Грааль.
Маттіас

3
Так, 5 років тому в 2006 році хлопці Ruby on Rails поскаржилися, і фреймворк, який отримав назву "Groovy on Rails", був перейменований на "Грааль". Його ніколи не називали Groovy на Граалі, за винятком розгублених рекрутерів та їхніх жертв.
Берт Беквіт

Відповіді:


188
  1. Що таке Groovy на Граалі?

    Він більше не існує під цією назвою. Зараз це просто називається Грааль .

  2. Що таке Groovy?

    Спочатку динамічна мова для спільного використання. Однак, оскільки Groovy 2.0 підтримується як статичне, так і динамічне введення тексту.

  3. Що таке грааль?

    Грааль (раніше відомий як "Groovy on Grails") - це програма програмування, заснована на Groovy та натхненна Ruby on Rails (є відмінності, але є і багато подібності). Як і RoR, Grails сприяє "кодуванню за умовами", кращому досвіду розробки, і він повинен бути високопродуктивним.

  4. Які програми створені за допомогою " Groovy on Grails"?

    Грааль використовується для створення веб-додатків, що працюють на JVM.

  5. Які переваги Groovy на Граалі?

    Висока продуктивність, орієнтація на бізнес замість сантехніки. (Зверніть увагу, що я не рекомендував би використовувати Grails з існуючою моделлю даних. Причиною цього є те, що Grails заохочує підхід зверху вниз, коли модель ER баз даних виникає в результаті класів Domain. Якщо ви використовуєте застарілу базу даних Ви не можете скористатись цим підходом. Ви повинні зіставити базу даних до класів домену, і, ймовірно, конвенція про іменування не збігатиметься, що робить необхідним використання файлів конфігурації hbm.xml та сплячого режиму. робочий процес може стати справді громіздким, і ви врешті-решт втратите більшість переваг Grails.)

  6. Навіщо хотіти використовувати Groovy на Grails, коли у нас є стандартні мови програмування, такі як C / C ++, Java / J2EE та .NET / C #?

    Через пункт 5.


1
Чи можете ви пояснити більше, чому б не рекомендували використовувати грааль з існуючою моделлю даних?
Todd Hunter

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. Він повинен бути рамкою високої продуктивності, дотримуючись парадигми "кодування за умовами", забезпечуючи окреме середовище розробки та приховуючи велику частину деталей конфігурації від розробника.

Як і Рейки, начебто Грааль - це те, що я називаю «Сильно зернисте». Якщо ви робите речі «Грааль», це розвиток легко (і взагалі досить швидко). У рамках, як правило, є бажаний спосіб робити більшість справ. З іншого боку, якщо вам потрібно піти проти зерна, у вас буде порівняно брутальний час.

І не кажіть, що Groovy на Grails (не існує), з причин зверніться до цього блогу.


12

Grails прямо аналогічний Ruby on Rails , але працює з Groovy. Що таке Groovy ? Це мова сценаріїв, яка працює на віртуальній машині Java (JVM).

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

Це зовсім інший спосіб створення веб-додатків до стандартних механізмів Java сервісного програмування, JSP, Java Server Faces тощо. Грааль (як Ruby on Rails) обіцяє більш динамічне та ітеративне середовище розробки, ніж стандартні механізми розробки (чи правда це в практика , я не можу порадити)


Мозок, ваші твердження суперечать, ви кажете, що це сценарна мова, але в наступному абзаці ви говорите, що вона складена до байтового коду. Я програмувач .NET, а мови сценаріїв, такі як JavaScript тощо, не компілюються, а просто інтерпретуються. Поясніть, будь ласка, що ви маєте на увазі під тими суперечливими твердженнями
Учень

Groovy можна використовувати обома способами. Програма Groovy може бути виконана як простий скрипт за рядком, як JavaScript. Він може бути скомпільований також за допомогою groovy-компілятора для класу байт-кодів, який можна виконати за допомогою JVM.
pRmdk

0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.