SlideShare a Scribd company logo
Grails.  Поиски закончены. Сергей Нековаль ( Грамант )
 
Зоопарк Что выбрать?
Жалобы трудящихся Сложность освоения Отсутствие интегрированного решения Длинный цикл разработки
Grails Легок в освоении Быстрота разработки Без изобретения велосипедов!
Умные слова MVC  Model-View-Controller DSL  Domain-Specific Language DI  Dependency Injection DDD  Domain Driven Design ORM  Object-Relational Mapping CC  Convention over configuration
Экскурсия в  Grails Язык  Groovy Как разрабатывается веб-приложение на  Grails Тестирование, сборка, развертывание
 
Groovy Все, что так хотели  Java- программисты, но боялись попросить
Компилируется …
«Мой код компилируется» ОТМАЗКА  #1 отлынивающего от работы программиста
Groovy Компилируется  в байт-код Динамический ОО с необязательной типизацией Вызов любого  Java- кода и  наоборот Поддерживает  closures
Groovy  за 1 минуту def myClosure = { a,b -> a + b } def map = [x:1, y:1], list = [1, 2, 3, 4] assert  map. x  == map[‘x’] assert  [-1, 0, 1, 2].find{it > 0} == 1 ‘ 0123456789’[2..5] == ‘2345’
Groovy  за  2  минуты Метаклассы:  Integer.metaClass.sqr << {-> this * this } Перегрузка операторов GString: “My name is ${name}”
Базовое  Grails- приложение grails-app c onf controllers domain services taglib views src groovy java test web-app WEB-INF
Среды Development Test Production
Пишем веб-приложение Сущности Сервисы Контроллеры GSP- страницы, тэги, фильтры
MVC  в  Grails
Сущность Валидация полей Основа для схемы БД ( hbm2ddl) Основа для  scaffolding
class  Book  { String  title static   constraints  = { title(blank: false , nullable: false , size:5..150)  }  }
Scaffolding Генерация  controller + view Быстро создать скелет приложения Что-то поправить
GORM (Grails ORM) Очень мощный  фантик для  Hibernate 3 Можно использовать отдельно от  Grails Версионирование  (optimistic locking) Mapping DSL Criteria DSL ,  HQL,  транзакции и т.д.
Many-to-one class  Book  { String  title static  belongsTo = [author:Author]  } One-to-many static  hasMany = [books:Book]
def pushkin = Author.get(1) def onegin = Book.findByTitle( «Евгений Онегин» ) def onegin = Book.findByAuthorAndTitleLike  (pushkin,  «%Онегин%») println  «Пушкин написал \ ${Book.countByAuthor(pushkin)}  книг.»
Сервисы Комплексная бизнес-логика Dependency Injection
Тесты Unit Integration (Spring)
Сборка На выходе –  WAR  файл Управление сборкой:  Gant Зависимости:  Maven, Ivy
Build DSL grails.project.dependency.resolution = { dependencies { runtime ' postgresql:postgresql:8.3-604.jdbc4 ‘ } } Артефакт  Maven
Причины популярности Низкий порог входа Быстрая  разработка Поддержка  IDE: NetBeans, IDEA, Eclipse Стабильность и переносимость платформы Плагины
Вопросы? http://grails.org Сергей Нековаль  /  [email_address]

More Related Content

PPT
Serge P Nekoval Grails
PDF
Быстрый рендеринг с DOM шаблонизаторами / Борис Каплуновский (aviasales.ru)
PDF
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
KEY
Как сделать сайт быстрее?
PDF
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
PDF
Андрей Лузин
PDF
Web performance 101 [GDG nsk webdev meetup #3]
PDF
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...
Serge P Nekoval Grails
Быстрый рендеринг с DOM шаблонизаторами / Борис Каплуновский (aviasales.ru)
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
Как сделать сайт быстрее?
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
Андрей Лузин
Web performance 101 [GDG nsk webdev meetup #3]
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...

What's hot (19)

PPTX
Игорь Лабутин «Продвинутое использование NuGet и MSBuild»
PDF
Павел Юрийчук - Разработка приложений под мобильные браузеры
PPTX
Как правильно делать анимацию и добиться 60fps на различных девайсах | Odessa...
PDF
ChocoDevDay — Grunt - Advanced Tips (NIkita Bayev)
PDF
Микросервисы для Machine Learning / Дмитрий Ходаков (Avito)
PDF
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PDF
HBase on HappyDev 2013
PPTX
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
ODP
Kothic JS - Web Browser Crash Test
PDF
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
PDF
Moбильная база данных Realm. Прошло ли время SQLite?
PDF
Серверный JavaScript: NodeJS и CouchDB
PDF
DUMP-2015: «Redis Кластер» Георгий Бажуков, Nevesta.info
ODP
Root Conf2009 Kopeyko 16.9
PDF
Сравнение парсеров Json. Android SDK, Gson, Jackson
PPTX
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
PPTX
разработка Metro style приложений
PDF
Путь к WebGL через THREE.js | Odessa Frontend Meetup #12
Игорь Лабутин «Продвинутое использование NuGet и MSBuild»
Павел Юрийчук - Разработка приложений под мобильные браузеры
Как правильно делать анимацию и добиться 60fps на различных девайсах | Odessa...
ChocoDevDay — Grunt - Advanced Tips (NIkita Bayev)
Микросервисы для Machine Learning / Дмитрий Ходаков (Avito)
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
HBase on HappyDev 2013
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
Kothic JS - Web Browser Crash Test
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
Moбильная база данных Realm. Прошло ли время SQLite?
Серверный JavaScript: NodeJS и CouchDB
DUMP-2015: «Redis Кластер» Георгий Бажуков, Nevesta.info
Root Conf2009 Kopeyko 16.9
Сравнение парсеров Json. Android SDK, Gson, Jackson
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
разработка Metro style приложений
Путь к WebGL через THREE.js | Odessa Frontend Meetup #12
Ad

Viewers also liked (20)

PDF
20320140505011 2
PPTX
Apresentação para Eventos
PPS
Bendiga a deus
DOCX
Cadenas alimenticias
PDF
Metodologias agiles - SCRUM
PDF
A voz do trab certo
PPTX
Tri fold brochure
PPT
Vondeling
PDF
New Doc 2Page 1
PPTX
Design Engineer
PPT
Programari Lliure Slide Share
PPTX
Mi az az NFC? Mobile Hungary 2012
PDF
Financial world online paper news powerpoint ppt slides.
PPT
El Llenguatge Audiovisual
PDF
Normas Forever España
PPS
Columbares (Murcia)
PDF
CeBIT Mobile Trends 2014
PDF
Zahid Ahmad
PPTX
Letterhead
PPS
Sierra del molino (Calasparra) Murcia
20320140505011 2
Apresentação para Eventos
Bendiga a deus
Cadenas alimenticias
Metodologias agiles - SCRUM
A voz do trab certo
Tri fold brochure
Vondeling
New Doc 2Page 1
Design Engineer
Programari Lliure Slide Share
Mi az az NFC? Mobile Hungary 2012
Financial world online paper news powerpoint ppt slides.
El Llenguatge Audiovisual
Normas Forever España
Columbares (Murcia)
CeBIT Mobile Trends 2014
Zahid Ahmad
Letterhead
Sierra del molino (Calasparra) Murcia
Ad

Similar to Serge P Nekoval Grails (20)

PPTX
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
PDF
2014 Jeeconf - Geb Spock
PPT
MongoDB basics in Russian
PPTX
Gradle. Новый уровень автоматизации для Android
PDF
CodeFest 2012. Евтухович И. — Как мы делали Групон
PPTX
Gradle. Новый уровень автоматизации для Android
PDF
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
ODP
The Great Migration by Baruch Sadogursky
PDF
Layout testing with galen framework selenium camp
PDF
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
PDF
Frontend: Путешествие в мир модульных загрузчиков
PDF
Backbone.js Профилактика сколиоза
PDF
IT-инфраструктура. FAQ для разработчика
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
ODP
Highload 2011-demona
ODP
Скриптовой язык Groovy и его применение в рамках разработки ПО
PDF
специализированные http-демона (Сергей Боченков, Александр Панков)
PPT
Drupal Vs Other
PPTX
библиотека Google closure java script
PPTX
Библиотека Google Closure Java Script
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
2014 Jeeconf - Geb Spock
MongoDB basics in Russian
Gradle. Новый уровень автоматизации для Android
CodeFest 2012. Евтухович И. — Как мы делали Групон
Gradle. Новый уровень автоматизации для Android
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
The Great Migration by Baruch Sadogursky
Layout testing with galen framework selenium camp
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Frontend: Путешествие в мир модульных загрузчиков
Backbone.js Профилактика сколиоза
IT-инфраструктура. FAQ для разработчика
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Highload 2011-demona
Скриптовой язык Groovy и его применение в рамках разработки ПО
специализированные http-демона (Сергей Боченков, Александр Панков)
Drupal Vs Other
библиотека Google closure java script
Библиотека Google Closure Java Script

More from rit2010 (20)

PDF
Sphinx new
PPTX
Microsoft cluster systems ritconf
PPT
анатомия интернет банка Publish
PPT
анатомия интернет банка Publish
PPT
Anatol filin pragmatic documentation 1_r
PPTX
Ilia kantor паттерны серверных comet решений
PDF
Alexei shilov 2010 rit-rakudo
ODP
Alexandre.iline rit 2010 java_fxui_extra
PDF
Konstantin kolomeetz послание внутреннему заказчику
PDF
Bykov monitoring mailru
PDF
Alexander shigin slides
PPTX
иван василевич Eye tracking и нейрокомпьютерный интерфейс
PPT
Andrey Petrov P D P
PPT
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
PDF
Dmitry lohansky rit2010
PDF
Dmitry Lohansky Rit2010
PPTX
Related Queries Braslavski Yandex
PPTX
молчанов сергей датацентры 10 04 2010 Light
PPTX
Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
PPTX
Pavel Braslavski Related Queries Braslavski Yandex
Sphinx new
Microsoft cluster systems ritconf
анатомия интернет банка Publish
анатомия интернет банка Publish
Anatol filin pragmatic documentation 1_r
Ilia kantor паттерны серверных comet решений
Alexei shilov 2010 rit-rakudo
Alexandre.iline rit 2010 java_fxui_extra
Konstantin kolomeetz послание внутреннему заказчику
Bykov monitoring mailru
Alexander shigin slides
иван василевич Eye tracking и нейрокомпьютерный интерфейс
Andrey Petrov P D P
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Dmitry lohansky rit2010
Dmitry Lohansky Rit2010
Related Queries Braslavski Yandex
молчанов сергей датацентры 10 04 2010 Light
Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
Pavel Braslavski Related Queries Braslavski Yandex

Serge P Nekoval Grails

Editor's Notes

  • #13: Closure - JavaScript- аналогии Ориентирован на ООП
  • #30: RAPID – до 100% ускорения Работает на Google App engine