Grails

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Grails
Grails logo.png
Тип

программный каркас для создания веб-приложений

Разработчик

Steven Devijver, Graeme Rocher

Написана на

Groovy

Операционная система

кроссплатформенное ПО на Java

Последняя версия

2.3.4 (5 декабря 2013 года)

Лицензия

Apache License 2.0

Сайт

http://www.grails.org

Grails — программный каркас для создания веб-приложений, написанный на скриптовом языке Groovy, который в свою очередь основан на Java. Grails создан под сильным влиянием широко известного Ruby on Rails и основан на шаблоне «Модель-представление-поведение» (MVC). Grails был создан с целью привлечь интерес пользователей к платформе Java и дать Java-разработчикам возможности для быстрого построения веб-приложений с лёгкостью и гибкостью, которая была недоступна прежде.

Разработка продукта ведётся с июля 2005. Первый релиз 0.1 был выпущен в марте 2006 г.

Краткое описание[править | править вики-текст]

Grails разрабатывается с несколькими целями:

  • Предоставить высокопродуктивный программный каркас для веб-разработки для платформы Java.
  • Совместимость с проверенными технологиями Java, такими как Hibernate и Spring.
  • Предложить непротиворечивый, единообразный каркас, что позволит избавиться от неопределённости и будет лёгок к изучению.
  • Документировать только те части фрэймворка, которые имеют значение для пользователей.
  • Предложить пользователям то, что они хотят видеть в областях часто сложных и противоречивых:
    • Мощная и непротиворечивая поддержа персистенции (сохранности данных).
    • Мощные и лёгкие в использовании шаблоны страниц (view), использующие GSP (Groovy Server Pages).
    • Динамические библиотеки тегов для лёгкого создания компонентов веб-страниц.
    • Хорошая поддержка Ajax, легко расширяемая и настраиваемая под цели разработчика Grails — Ajax(библиотеки:jQuery(по умолчанию), Rico, Prototype, Dojo и YUI — с помощью плагинов).
  • Предоставить примеры приложений, которые демонстрируют возможности данного программного каркаса.
  • Обеспечить режим разработки, включающий встроенный веб-сервер и автоматическую перегрузку ресурсов.

Высокая производительность разработки[править | править вики-текст]

В Grails три характеристики значительно повышают производительность разработчика по сравнению с традиционной Java веб-разработкой:

  • Отсутствие XML конфигураций
  • Готовая к использованию среда разработки
  • Функциональность, доступная благодаря использованию примесей (mixins)

Фреймворк[править | править вики-текст]

Так как Grails был разработан согласно парадигме Модель-представление-поведение, то три составляющие этой парадигмы (модель, представление и контроллер) определяют работу этого фреймворка. Для создания каркаса проекта можно использовать - командную строку для Grails с командой:

grails create-app my-project-name

Эта команда grails запустит проект на встроенном веб-сервере который будет доступен по адресу http://localhost:8080/:

grails run-app

Контроллер[править | править вики-текст]

Grails использует контроллеры для определения как себя будет вести представление. Пример контроллера:

 class BookController {
    def list() {
       [ books: Book.findAll() ]
    }
 }

Контроллер имеет метод list который возвращает все книги из базы данных взятые у модели Book. Для создания контроллера из командной строки используется команда grails:

grails create-controller Book

Это команда создает контроллер с именем BookController в директории grails-app/controllers проекта. Для вызова метода list нужно вызвать http://localhost:8080/book/list.

Модель[править | править вики-текст]

Модель в Grails отображается на базу данных используя GORM (Grails Object Relational Mapping). Классы модели хранятся в директории проекта grails-app/domain и могут быть созданы командой grails:

grails create-domain-class Book

Пример созданного класса модели:

 class Book {
    String title
    Person author
 }

Механизм сохранения данных в GORM реализован через Hibernate. Таким образом база данных может быть спроецирована в GORM классы используя стандартные Hibernate mapping файлы.

Представление[править | править вики-текст]

Grails поддерживает JSP и GSP. Пример ниже показывает пример страницы GSP которая отображает список книг в модели, через метод findAll, которую предоставил контроллер в методе list:

<html>
  <head>
    <title>Our books</title>
  </head>
  <body>
    <ul>
      <g:each in="${books}">
        <li>${it.title} (${it.author.name})</li>
      </g:each>
    </ul>
  </body>
</html>

Интеграция с Java[править | править вики-текст]

Grails сделан как часть платформы Java, и это означает, что его очень легко можно использовать вместе с Java библиотеками, фреймворками и существующей базой кода.

Кем используется[править | править вики-текст]

Компанией SAP на базе Groovy/Grails разрабатывается фреймворк Composition On Grails для быстрой разработки веб приложений для платформы SAP NetWeaver 7.1 CE, который включает в себя SAP-специфичные расширения для Web Dynpro, Enterprise Web Services и BAPI.

См. также[править | править вики-текст]

Журнал[править | править вики-текст]

Ссылки[править | править вики-текст]