Подкасты → «Разбор полетов» — episode 4 — Spring-аем глаголы
Я и коллега aib представляем вашему вниманию очередной четвертый выпуск популярного в узких кругах, разговорного IT-тематического подкаста «Разбор Полетов».
В этом выпуске:
В этом выпуске:
- Спасибо, что живой — www.infoq.com/news/2011/12/spring31
прослушан 353 раза
Песочница → Вышел Grails 2.0
После года разработки и трех релиз-кандидатов команда SpringSource презентовала новую версию веб фреймворка — Grails 2.0. Я часто использую Grails в своих проектах и внимательно слежу за процессом разработки и выпуска новых релизов. Интересно заметить, что изначально релиз планировался под версией Grails 1.4, но фундаментальных изменений оказалось слишком много, и Grails присвоили версию 2.0.
Итак перечислю, что нового появилось в новой реинкарнации Grails:
JAVA → Планировщик задач и отправка почты в Grails
Эта статья расчитана на тех кто уже имеет првое знакомсво с Grails, если же пока этого не случилось, то можете ознакомиться здесь. Теперь к делу. Отправка почты довольно простая и нужная задача, чуть более сложнее реализовать периодическую проверку какого-либо собыитя. А если соеденить эти две задачи получается нормальная задача которая требует определенных временных затрат. Grails — созданный чтобы облегчить нам жизнь освобождает нас от рутинной работы. Для того чтобы реализовать периодическую проверку на события мы будем использовать Quartz (а точнее его плагин под Grails), а для удобной отправки почты плагин Mail Plugin будет в самый раз.
Groovy & Grails → Пишем deploy-скрипт для Grails
Зачем нужен deploy-скрипт
Grails-приложения очень легко собираются в WAR. Делается это так:
grails war
Помимо того, что WAR собирается, очень хочется этот WAR еще и установить на сервер. В нашем случае это Tomcat. Установка вручную требует некоторой возни:
- Остановить сервер. Убить процесс, если он не остановился сам.
- Удалить старые файлы приложения (на всякий случай)
- Скопировать новый WAR на сервер. Иногда его нужно переименовывать (скажем, в ROOT.war)
Мы также можем использовать shell-скрипт. Но зачем писать на неудобном языке shell, когда есть замечательный кроссплатформенный язык Groovy?
Groovy & Grails → Полнотекстовый поиск в Grails
Подключить полнотекстовый поиск в Grails — задача довольно легкая. Для этого используется плагин Searchable, который делает все сущности Grails-приложения индексируемыми. Searchable позволяет абстрагировать весь процесс индексирования и поиска. При этом сам плагин использует библиотеку Compass, которая следит за тем, чтобы при изменении объекта (т.е. при сохранении в БД) он автоматически переиндексировался. Сам по себе Compass по сути является довольно мощным средством «поискового ORM»:
Groovy & Grails → Grails, jQuery, AJAX: делаем anchor-навигацию. Часть 2, финальная
Полная и неполная страницы
Продолжаем разговор про anchor-навигацию. Наша цель — сделать рабочее приложение на Grails.
Есть одна тонкость. Очень хочется, чтобы страница могла быть показана как в полном варианте (с шапкой, навигацией и т.п.), так и в сокращенном (для AJAX-вызовов). Однако набрав /my-app/do/receipts, получим полный вариант. Теперь это выглядит так:
Groovy & Grails → Grails, jQuery, AJAX: делаем anchor-навигацию. Часть 1
AJAX и все, все, все
В предыдущей серии мы делали простенькое Grails-приложение с использованием jQuery, а также решили для себя, что использовать jQuery в Grails можно и даже нужно. Обсудим более серьезные вещи, которые можно сделать с такой связкой.
Нетрудно заметить, что все больше сайтов используют AJAX и частичные обновления страниц, причем в невероятном количестве. В частности, «начиненные» AJAX ссылки могут использоваться для внутренней навигации по странице, переключения каких-то вкладок. Это хорошо тем, что
А) меньше данных нужно перегонять от сервера — только нужный кусок страницы и
Б) веб-страницы часто загружают просто гигантские CSS и Javascript-файлы, которые при AJAX-обновлении можно повторно не загружать.
Итак, очень распространено построение приложений по сценарию: одна большая «стартовая» страница, загружающая весь Javascript-код и CSS и более мелкие «внутренние» функциональные блоки, загружаемые через AJAX. С этим есть ряд проблем:
- В результате AJAX-действий внутреннее состояние страницы не отражено в адресной строке браузера.
- Как следствие, внутренние страницы не могут быть запомнены в закладки, нельзя «отправить ссылку другу».
- Не работает Back/Forward навигация в браузере, т.к. AJAX-ссылки не попадают в историю браузера.
Groovy & Grails → Grails, jQuery, AJAX: первое знакомство
Добавляем jQuery в Grails
Собственно никаких проблем с AJAX в Grails не наблюдается: контроллеры могут спокойно возвращать JSON-данные, GSP-страницы могут использовать соответствующие вспомогательные тэги.
По умолчанию Grails дружит с Prototype JS. Однако можно легким движением руки установить плагин поддержки jQuery.
Персональные блоги → Grails — священный грааль веб-разработчика

Вступление или муки выбора
Здравствуйте! Я хочу рассказать немного о Grails и показать, как создать простое веб-приложение. Начну с того, что я искал удобный и функциональный веб-фраймворк для быстрой разработки. Мой взгляд попеременно падал на Django, Ruby On Rails и различные разработки на Java. Безусловно, мне нравится Java, Spring Framework и Hibernate, всё вместе — это мощнейшая штука. Однако, некоторые моменты меня не устраивали:
JAVA → Делаем мэш-ап Twitter'а и Google Maps за 20 минут на Grails
Введение
Для многих разработчиков Java часто является синонимом ужасно занудных корпоративных приложений. Она ассоциируется с многочисленными конфигурационными файлами формата XML, шаблонным кодом и т.д. Поэтому как правило вместо нее разработчики используют динамические языки (такие как Ruby, Python, PHP) для разработки своих проектов, особенно для простых утилит, мэш-апов и т.п.
Однако в среде Java многое изменилось за последние несколько лет. Появилось много фрейморков освобождающих разрабочика от бремени корпоративных («энтерпрайзных») приложений. Grails вероятно — один из лучших. Он основан на Groovy, динамическом языке на платформе Java. Groovy создан специально для Java-программистов и переход на него максимально безболезненый. Grails используе хорошо известные, надежные и эффективные библиотеки Java (Spring, Hibernate и т.п.) для выполнения всей тяжелой работы. Существует также система плагинов и плагины для почти для всех широко используемых библиотек Java.
В этом посте я раскажу, как сделать мэш-ап из Twitter'а и Google Maps в течении всего 20 минут. Конечный результат будет выглядеть примерно следующим образом:
