Практический учебный план обучения Grails

Я разработчик Java, пытающийся изучить Grails, и я хотел бы получить доступ к как можно большему количеству частей рамки Grails. Предпочтительно делать это, решая небольшие проблемы реального мира, используя "способ Grails для этого" (DRY, условное конфигурирование и т.д.).

Три примера могут быть:

  • Узнайте о GORM, создав несколько классов (например, Movie, Actor и т.д.) и отношения/сопоставления между ними (1:1, 1: N, N: N и т.д.).
  • Узнайте о поддержке макета (sitemesh), используя его для создания верхних и нижних колонтитулов, общих для всех GSP: s на сайте.
  • Узнайте о поддержке фильтра, используя его, чтобы убедиться, что все обращения к определенному контроллеру поступают от аутентифицированных пользователей.

Мой вопрос касается всех разработчиков Grails - что бы вы включили в "Учебную программу Grails" и в каком порядке?

Весь вход оценивается!

Ответ 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. Вы, вероятно, закончите все это, но это даст вам хорошее представление о том, как работает система.

Удачи и счастливого взлома!

Ответ 2

Шаг 1 - Изучите Groovy

Если вы уже знаете Java, я настоятельно рекомендую Программирование Groovy. Это намного более краткий и современный, чем в отличном Groovy в действии. Ни одна из этих книг не охватывает значительные изменения языка в Groovy 1.6, поэтому вы также должны прочитать эту страницу.

Шаг 2 - Изучите Grails

Окончательное руководство к Grails, вероятно, является стандартной ссылкой Grails - убедитесь, что вы получили второе издание. Grails in Action немного более свежий, но я его не читал, поэтому не могу комментировать дальше. Я нашел TDGTG немного lighton GORM, поэтому вы можете также рассмотреть возможность проверки Grails Persistence с GORM и GSQL. Это очень короткая книга, но она стоит в золоте.

Шаг 3 - Погружение в

Попробуйте изменить образец приложения в книге Grails или создайте свой собственный с нуля. Groovy console - отличный способ поэкспериментировать с фрагментами кода Groovy.

Ответ 3

Если аудитория не знакома с программированием в Groovy, это должно быть введение в это. Java будет работать, но он будет получать соки, когда вы увидите, насколько менее подробный код находится в Groovy. При обсуждении GORM включают ограничения и как они влияют на проверку. Леса - это заставка в режиме реального времени при запуске нового проекта, поэтому обязательно включите его. Одна из особенностей Grails, которая действительно помогла мне, - это плагины. Выберите несколько и покажите, как они обеспечивают решения, экономя время разработки. Плагин безопасности подходит к теме фильтра, которую вы упомянули. Тестирование, может ли быть достаточно тестирования?

Ответ 4

Я бы действительно рекомендовал прочитать Определенное руководство для Grails, Second Edition. Он охватывает все, что вам нужно знать о приложениях для написания в Grails. Вероятно, ему не хватает знаний о том, что происходит под капотом, но вы должны его повесить. Вы можете купить его в формате PDF и сразу же начать читать.

У вас также должен быть список плагинов для использования - у Grails есть некоторые действительно приятные, которые пригождаются. Я могу рассказать вам некоторые из тех, которые я использую, но это может быть и хорошим вопросом.: -)