2014-09-12 2 views
1

Я хочу начать свой первый проект в Grails, и я хочу разделить больше приложений/плагинов.Modularize Grails Application (Grails 2.3.x)

На данный момент у меня есть только один сайт/приложение (/myproj/projectA). В будущем я хочу добавить новое приложение (/myproj/projectB), и я хочу повторно использовать некоторую логику projectA (пример UserService).

В Grails, каков путь? Создайте 2 приложения (projectA, projectB) и один общий (ex.with UserService) плагин?

Как это сделать?

Конечный результат: Я хочу обновить одно приложение без повторного развертывания всего приложения.

Заранее спасибо

ответ

5

Создание многоразовой/общих функций является одним из ключевых преимуществ Grails в качестве основы развития. Вы определенно должны думать о модульности вашей функциональности с самого начала и проектирования для создания и использования плагинов.

Как вы предполагали, вы используете плагины Grails для этой цели. Мы разработали внутреннюю экосистему, состоящую из (в настоящее время) около 30 плагинов, каждая из которых обеспечивает определенную функциональность. Мы также переносили некоторые шаблоны, видимые в плагинах Grails, так что базовые функции (домены и службы) хранятся отдельно от пользовательского интерфейса (контроллеры, метки и представления). Например, мы имеем следующие плагины:

arkCore - Core datatypes, domains and services 
arkComponents - Common UI controls 
arkDocument - Document management datatypes, domains and services 
arkDocumentUi - Document management user interface 

В этом случае arkDocument зависит от arkCore и arkDocumentUi зависит от arkDocument и arkComponents.

Grails может создавать проекты приложений или плагинов. Моя рекомендация

  1. Для начала создайте свою функциональность в одном приложении.
  2. Получить его работу в базовой форме.
  3. Создайте проект плагина и переместите все соответствующие артефакты из приложения в плагин.
  4. Публикация плагина в локальный репозиторий.
  5. Обновить проект BuildConfig.groovy, чтобы ссылаться на плагин так же, как и на любой другой плагин Grails.

Вам нужно будет сделать следующие вещи, чтобы ознакомиться с использованием плагинов:

  • Прочитайте и изучите раздел плагинов документации Grails
  • Получить и установить Artifactory как частное хранилище плагинов для ваше развитие. Если это только вы, то вы можете просто рассмотреть использование локального репозитория Maven и использовать maven-install, а не publish-plugin.
  • Посмотрите на некоторые из сторонних разработанных плагинов для примеров. Они, как правило, очень просты.
+0

Спасибо, Стив! –

+0

Спасибо за красивое объяснение steve.У меня есть еще несколько запросов относительно модуляции приложения grails. Ответьте на это http://stackoverflow.com/questions/34249297/differences-between-adding-a-project-as-dependency-and-as-a-plugin – Prabhath

+0

@Steve не могли бы вы рассказать, как добавить плагин к grails 2.5 на месте или вы можете дать мне рабочий пример. –

 Смежные вопросы

  • Нет связанных вопросов^_^