Grails (Grails)
Grails | |
---|---|
Тип | фреймворк для создания веб-приложений |
Разработчики | Steven Devijver, Graeme Rocher |
Написана на | Groovy, Java |
Операционные системы | кроссплатформенное ПО на Java |
Первый выпуск | 2005 |
Последняя версия | 6.2.0[1] (5 апреля 2024) |
Репозиторий | github.com/grails/grails… |
Лицензия | Apache License 2.0 |
Сайт | grails.org |
Grails — фреймворк для создания веб-приложений, написанный на скриптовом языке Groovy, который является одним из языков программирования с Java-подобным синтаксисом, работающим на платформе Java. Grails создан под сильным влиянием широко известного Ruby on Rails и основан на шаблоне «Модель-представление-поведение» (MVC). Фреймворк был создан с целью привлечь интерес пользователей к платформе Java и дать Java-разработчикам возможности для быстрого построения веб-приложений с лёгкостью и гибкостью, которая была недоступна прежде.
Разработка продукта ведётся с июля 2005. Первый релиз 0.1 был выпущен в марте 2006 г.
Краткое описание
[править | править код]Grails разрабатывается с несколькими целями:
- Предоставить высокопродуктивный фреймворк для веб-разработки для платформы Java.
- Совместимость с проверенными технологиями Java, такими как Hibernate и Spring.
- Предложить непротиворечивый, единообразный фреймворк, что позволит избавиться от неопределённостей и упростит изучение.
- Документировать только те части фрэймворка, которые имеют значение для пользователей.
- Предложить пользователям то, что они хотят видеть в областях часто сложных и противоречивых:
- Мощная и непротиворечивая поддержа персистенции (сохранности данных).
- Мощные и лёгкие в использовании шаблоны страниц (view), использующие GSP (Groovy Server Pages).
- Динамические библиотеки тегов для лёгкого создания компонентов веб-страниц.
- Хорошая поддержка Ajax, легко расширяемая и настраиваемая под цели разработчика Grails — Ajax Архивная копия от 1 мая 2012 на Wayback Machine(библиотеки: jQuery (по умолчанию), Rico, Prototype, Dojo и YUI — с помощью плагинов).
- Предоставить примеры приложений, которые демонстрируют возможности данного фреймворка.
- Обеспечить режим разработки, включающий встроенный веб-сервер и автоматическую перегрузку ресурсов.
Высокая производительность разработки
[править | править код]В Grails три характеристики значительно повышают производительность разработчика по сравнению с традиционной Java веб-разработкой:
- Отсутствие XML конфигураций
- Готовая к использованию среда разработки
- Функциональность, доступная благодаря использованию примесей (mixins)
Установка и настройка
[править | править код]1) Скачайте с сайта Архивная копия от 21 мая 2021 на Wayback Machine архив с последней версией и разархивируйте его в место для таких программ.
2) Установите сначала Java JDK, а потом Groovy.
3) Для Windows:
а) Откройте командную строку(или терминал) "как Администратор" (cmd.exe) и введите для установки системной переменной GRAILS_HOME и добавления ее в системную переменную PATH:
setx -m GRAILS_HOME "C:\Program Files\grails4"
setx -m path "%path%;%GRAILS_HOME%\bin"
Закройте терминал.Теперь переменные установлены.
б) Или сделайте это вручную по пути : (правый клик мыши) на "Мой Компьютер" (Computer) - Свойства (Properties) - Расширенные системные настройки (Advanced system settings) - Дополнительно (Advanced) - Переменные среды (Environment Variables)
Для Linux в shell наберите для установки системной переменной и добавления ее в PATH:
export GRAILS_HOME=/path/to/grails-4.0.10
export PATH="$PATH:$GRAILS_HOME/bin
4) Проверяем работу установленной Командной строки Grails Архивная копия от 1 мая 2012 на Wayback Machine:
В командной строке наберите: grails -v
Должно появиться что-то подобное:
| Grails Version: 4.0.10
| Groovy Version: 3.0.8
| JVM Version: 16
Войти в интерактивный режим, для работы с фреймворком и набора команд, можно просто набрав grails
в терминале.
Фреймворк
[править | править код]Так как Grails был разработан согласно парадигме Модель-представление-поведение, то три составляющие этой парадигмы (модель, представление и контроллер) определяют работу этого фреймворка. Для создания проекта можно использовать - командную строку для Grails Архивная копия от 1 мая 2012 на Wayback Machine с командой:
grails create-app my-project-name
Эта команда grails
запустит проект на встроенном веб-сервере который будет доступен по адресу http://localhost:8080/ Архивная копия от 15 февраля 2013 на Wayback Machine:
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 Архивная копия от 1 мая 2012 на Wayback Machine (Grails Object Relational Mapping). Классы модели хранятся в каталоге проекта grails-app/domain
и могут быть созданы командой grails
:
grails create-domain-class Book
Пример созданного класса модели:
class Book {
String title
Person author
}
Механизм сохранения данных в GORM реализован через Hibernate. Таким образом база данных может быть спроецирована в GORM классы используя стандартные Hibernate mapping Архивная копия от 16 июля 2011 на Wayback Machine файлы.
Представление
[править | править код]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>
Скаффолдинг
[править | править код]Скаффолдинг - метод генерации методов CRUD для выборки данных из БД:
class SomeController {
static scaffold = Book
}
Открыв в браузере http://localhost:8080/book можно получить CRUD интерфейс для всех операций над сущностью.
Интеграция с Java
[править | править код]Grails сделан как часть платформы Java, и это означает, что его очень легко можно использовать вместе с Java библиотеками, фреймворками и существующей базой кода.
Кем используется
[править | править код]Компанией SAP на базе Groovy/Grails разрабатывается фреймворк Composition On Grails для быстрой разработки веб приложений для платформы SAP NetWeaver 7.1 CE, который включает в себя SAP-специфичные расширения для Web Dynpro, Enterprise Web Services и BAPI.
См. также
[править | править код]Журнал
[править | править код]Примечания
[править | править код]- ↑ 6.2.0 . Дата обращения: 5 апреля 2024. Архивировано 23 апреля 2024 года.
Ссылки
[править | править код]- Официальный сайт Архивная копия от 8 марта 2022 на Wayback Machine
- Guide on Grails site Архивная копия от 1 мая 2012 на Wayback Machine
- Getting Started with Grails Архивная копия от 27 апреля 2007 на Wayback Machine Книга выпущена в далеком 2007 году
- Русскоязычное сообщество, посвящённое Grails, в живом журнале Архивная копия от 14 ноября 2009 на Wayback Machine Не развивается с 2012 года
- Блог разработчиков на русском языке. Собственные статьи, перевод популярных материалов, новости сообщества