Grails

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

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

Разработчик

Steven Devijver, Graeme Rocher

Написана на

Groovy, Java

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

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

Первый выпуск

2005

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

3.2.9 (2017 год)

Лицензия

Apache License 2.0

Сайт

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 BookController

Это команда создаёт контроллер с именем 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.

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

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

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