Ответ 1
Вот несколько примеров, но следует предупредить, что они довольно тривиальны и на самом деле не показывают, как работает система. Одной из сильных сторон Grails является то, что разные части объединяются, чтобы уменьшить сложность кода и скорость разработки. Я рекомендую сделать один проект умеренного размера (например, программное обеспечение для ведения блога или фотогалерея), что заставляет вас прикасаться практически ко всему. В настоящее время я работаю над приложением для управления билетами, и мне пришлось в основном изучить все в рамках. На самом деле это не так много материала.
При этом здесь мой список "должен изучать", а также некоторые примеры:
-
Groovy, особенно замыкания, карты и свойства. Если вы собираетесь с Java, закрытие может показаться немного странным вначале. Однако, как только вы обернете вокруг себя голову, будет сложно вернуться к языку, который их не использует. В картах и свойствах используются идеи, которые могут быть знакомы, но синтаксис и использование различны, поэтому стоит внимательно изучить их. Grails использует эти три вещи ВСЕ ВРЕМЯ, все в рамках. Для хорошего примера рассмотрим "BeanBuilder", который создает экземпляр Spring beans, определенный в ресурсах .groovy. Кроме того, выполните Groovy документацию на groovy.codehaus.org. Через пару часов вы сэкономите свои ДНИ в будущем.
-
Программирование MVC. Модель "MVC" в Grails довольно близко соответствует той, что используется в Rails, но значительно отличается от модели "MVC", используемой в настольных приложениях Java. В основном, все входящие URL-запросы являются сообщением контроллеру, который возвращает представление. Объекты домена - это данные, которые вы хотите хранить, просматривать и манипулировать с помощью представлений и контроллеров. Сделайте входную форму, которая проверяет ввод пользователя с использованием ограничений, а затем каким-то образом управляет им с помощью контроллера. Что-то вроде страницы, которая принимает ваш день рождения, и возвращает знак Зодиака и животное китайского зодиака. Посмотрите, можете ли вы заставить его возвращать ошибки пользователю, когда задан плохой ввод.
-
GORM. GORM чрезвычайно важна, но вы будете вынуждены изучить ее практически с любым проектом, который вы выбираете. Дайте документации один раз, чтобы вы знали, каковы ее "возможности".
-
Фильтры и службы. Это "путь grails", чтобы сделать много СУХИХ программирования. Аутентификация - это канонический пример, и он идеально подходит для изучения фильтров. Для служб напишите что-нибудь, что отправит электронное письмо. Там отличный пример простой службы электронной почты на веб-сайте Grails.
-
Groovy Серверные страницы. Если раньше вы работали с шаблоном, то это должно показаться знакомым. Познакомьтесь с библиотекой тегов GSP, это огромная помощь. Практические примеры: практически все. Для каждого приложения требуется интерфейс. Попробуйте сделать это красиво. ПРИМЕЧАНИЕ. Это распространяется на множество вещей, которые не являются специфическими для Grails, например JavaScript, CSS и т.д. Если у вас уже нет этих знаний, подготовьтесь к некоторой кривой обучения.
-
Ваш каталог "conf". Познакомьтесь с каждым файлом, особенно с UrlMappings.groovy. Играйте с UrlMappings, чтобы иметь приложение, которое получает значимую информацию из URL-адреса. Что-то вроде
/myapp/calculate/36/times/145
, где приложение возвращает ответ.
Я бы сказал, что это основы, но есть много других тем, таких как веб-потоки, i18n, тестирование, обработка сеансов и т.д. Лучший способ узнать их - создать достойный проект. Пока вы это делаете, вы, вероятно, обнаружите, что думаете: "Боже, я хочу, чтобы Грайлз ____". Прочитайте отличную документацию на Grails.org, и вы, вероятно, найдете встроенную возможность или плагин, который сделает то, что вы хотите. Справочный PDF живет на моем рабочем столе, и я нашел его неоценимым в ходе моего обучения.
О, и посмотрите на код леса, который генерирует Grails. Вы, вероятно, закончите все это, но это даст вам хорошее представление о том, как работает система.
Удачи и счастливого взлома!