SlideShare una empresa de Scribd logo
1 de 27
Grails.  Поиски закончены. Сергей Нековаль «Грамант»
Заголовок слайда ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Зоопарк Что выбрать?
[object Object],[object Object],[object Object]
Grails ,[object Object],[object Object],[object Object]
Умные слова ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Компилируется …
«Мой код компилируется» ОТМАЗКА  #1 отлынивающего от работы программиста
Groovy ,[object Object],[object Object],[object Object],[object Object],[object Object]
Подарки от  Groovy ,[object Object],[object Object],[object Object],[object Object],[object Object],Все, что так хотели  Java- программисты, но боялись попросить
Grails ,[object Object],[object Object],[object Object],[object Object],[object Object]
Базовое  Grails- приложение ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],test ,[object Object],[object Object]
MVC  в  Grails ,[object Object],[object Object],[object Object],[object Object]
Сущность ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
GORM (Grails ORM) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Примеры ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Many-to-one ,[object Object],[object Object],[object Object],[object Object],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)}  книг.»
Транзакции? ЛЕГКО! Book.withTransaction { def book = new Book(title:  «Метель») pushkin.addToBooks(book).save() }
Scaffolding ,[object Object],[object Object],[object Object]
Сборка ,[object Object],[object Object],[object Object]
Build DSL ,[object Object],[object Object],[object Object],[object Object],[object Object],Артефакт  Maven
Тесты ,[object Object],[object Object]
Причины популярности ,[object Object],[object Object],[object Object],[object Object],[object Object]
Вопросы? http://grails.org Сергей Нековаль  /  [email_address]

Más contenido relacionado

La actualidad más candente

Yaremchuk - Drupal CodeLobster
Yaremchuk - Drupal CodeLobsterYaremchuk - Drupal CodeLobster
Yaremchuk - Drupal CodeLobster
Andrii Podanenko
 
Серверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDB
Stepan Stolyarov
 

La actualidad más candente (18)

Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
 
Алексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersАлексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web Workers
 
Как сделать сайт быстрее?
Как сделать сайт быстрее?Как сделать сайт быстрее?
Как сделать сайт быстрее?
 
HBase on Dev{Highload}
HBase on Dev{Highload}HBase on Dev{Highload}
HBase on Dev{Highload}
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без боли
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
 
Yaremchuk - Drupal CodeLobster
Yaremchuk - Drupal CodeLobsterYaremchuk - Drupal CodeLobster
Yaremchuk - Drupal CodeLobster
 
Web-browser crash test via geodata
Web-browser crash test via geodataWeb-browser crash test via geodata
Web-browser crash test via geodata
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примере
 
Стабы для фронтенда - Никита Мостовой (HeadHunter)
Стабы для фронтенда - Никита Мостовой (HeadHunter)Стабы для фронтенда - Никита Мостовой (HeadHunter)
Стабы для фронтенда - Никита Мостовой (HeadHunter)
 
Drupal and NodeJS.
Drupal and NodeJS.Drupal and NodeJS.
Drupal and NodeJS.
 
Серверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDB
 
Поизводительность верстки: highload style
Поизводительность верстки: highload styleПоизводительность верстки: highload style
Поизводительность верстки: highload style
 
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ru
 
ChocoDevDay — Grunt - Advanced Tips (NIkita Bayev)
ChocoDevDay — Grunt - Advanced Tips (NIkita Bayev)ChocoDevDay — Grunt - Advanced Tips (NIkita Bayev)
ChocoDevDay — Grunt - Advanced Tips (NIkita Bayev)
 
Background js
Background jsBackground js
Background js
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 

Similar a Serge P Nekoval Grails

Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Anthony Marchenko
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
jskonst
 
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest
 
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данныхCodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest
 

Similar a Serge P Nekoval Grails (20)

Grails. Поиски закончены.
Grails. Поиски закончены.Grails. Поиски закончены.
Grails. Поиски закончены.
 
MongoDB basics in Russian
MongoDB basics in RussianMongoDB basics in Russian
MongoDB basics in Russian
 
Опыт использования Spark, Основано на реальных событиях
Опыт использования Spark, Основано на реальных событияхОпыт использования Spark, Основано на реальных событиях
Опыт использования Spark, Основано на реальных событиях
 
Full Stack разработка на JavaScript
Full Stack разработка на JavaScriptFull Stack разработка на JavaScript
Full Stack разработка на JavaScript
 
2014 Jeeconf - Geb Spock
2014 Jeeconf - Geb Spock2014 Jeeconf - Geb Spock
2014 Jeeconf - Geb Spock
 
Nosql and Mongodb
Nosql and MongodbNosql and Mongodb
Nosql and Mongodb
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
 
Лекция 5 Серверная разработка
Лекция 5 Серверная разработкаЛекция 5 Серверная разработка
Лекция 5 Серверная разработка
 
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
 
Batch processing on RoR
Batch processing on RoRBatch processing on RoR
Batch processing on RoR
 
Ruby gui
Ruby guiRuby gui
Ruby gui
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Layout testing with galen framework selenium camp
Layout testing with galen framework   selenium campLayout testing with galen framework   selenium camp
Layout testing with galen framework selenium camp
 
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
 
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекSWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
 
Drupal Vs Other
Drupal Vs OtherDrupal Vs Other
Drupal Vs Other
 
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данныхCodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
 

Más de guest092df8

Artem Volftrub анатомия интернет банка
Artem Volftrub анатомия интернет банкаArtem Volftrub анатомия интернет банка
Artem Volftrub анатомия интернет банка
guest092df8
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Sockets
guest092df8
 
Vladimir Bobrikov Rit2010 Reputation
Vladimir Bobrikov Rit2010 ReputationVladimir Bobrikov Rit2010 Reputation
Vladimir Bobrikov Rit2010 Reputation
guest092df8
 
Max Lapshin Erlyvideo V1
Max Lapshin Erlyvideo V1Max Lapshin Erlyvideo V1
Max Lapshin Erlyvideo V1
guest092df8
 
Denis Samoseev Risk Management
Denis Samoseev Risk ManagementDenis Samoseev Risk Management
Denis Samoseev Risk Management
guest092df8
 
Andrew Shitov Rakudo Jonathan
Andrew Shitov Rakudo JonathanAndrew Shitov Rakudo Jonathan
Andrew Shitov Rakudo Jonathan
guest092df8
 
Andrew Pantyukhin P Nf Sv4
Andrew Pantyukhin P Nf Sv4Andrew Pantyukhin P Nf Sv4
Andrew Pantyukhin P Nf Sv4
guest092df8
 
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky HpdsAlexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
guest092df8
 
Alexander Shigin Slides
Alexander Shigin SlidesAlexander Shigin Slides
Alexander Shigin Slides
guest092df8
 
Alexandre Iline Rit 2010 Java Fxui
Alexandre Iline Rit 2010 Java FxuiAlexandre Iline Rit 2010 Java Fxui
Alexandre Iline Rit 2010 Java Fxui
guest092df8
 

Más de guest092df8 (10)

Artem Volftrub анатомия интернет банка
Artem Volftrub анатомия интернет банкаArtem Volftrub анатомия интернет банка
Artem Volftrub анатомия интернет банка
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Sockets
 
Vladimir Bobrikov Rit2010 Reputation
Vladimir Bobrikov Rit2010 ReputationVladimir Bobrikov Rit2010 Reputation
Vladimir Bobrikov Rit2010 Reputation
 
Max Lapshin Erlyvideo V1
Max Lapshin Erlyvideo V1Max Lapshin Erlyvideo V1
Max Lapshin Erlyvideo V1
 
Denis Samoseev Risk Management
Denis Samoseev Risk ManagementDenis Samoseev Risk Management
Denis Samoseev Risk Management
 
Andrew Shitov Rakudo Jonathan
Andrew Shitov Rakudo JonathanAndrew Shitov Rakudo Jonathan
Andrew Shitov Rakudo Jonathan
 
Andrew Pantyukhin P Nf Sv4
Andrew Pantyukhin P Nf Sv4Andrew Pantyukhin P Nf Sv4
Andrew Pantyukhin P Nf Sv4
 
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky HpdsAlexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
 
Alexander Shigin Slides
Alexander Shigin SlidesAlexander Shigin Slides
Alexander Shigin Slides
 
Alexandre Iline Rit 2010 Java Fxui
Alexandre Iline Rit 2010 Java FxuiAlexandre Iline Rit 2010 Java Fxui
Alexandre Iline Rit 2010 Java Fxui
 

Serge P Nekoval Grails

Notas del editor

  1. Closure - JavaScript- аналогии Ориентирован на ООП
  2. Любая view- технология, любой механизм dispatch. Но лучше всего работает с GSP/SiteMesh.
  3. RAPID – до 100% ускорения Работает на Google App engine