Я сталкиваюсь со ссылками на 'Grails' и 'Groovy' довольно часто в эти дни.. главным образом на том, насколько большой усилитель производительности это - в противоположность стандартному Java EE или вещи как JSF, Struts и т.д. И существует также впечатляющий набор тематических исследований в поддержку этого на их веб-сайте также. Таким образом, я просто думал, что исследую часть его..
Поскольку я начинаюсь на этом, мне было любопытно, если был какой-либо материал (ссылка, блог, статья, статья..), который объясняет, каковы специальные функции в Grails+Groovy (и не найденный в другом месте, в Java мир EE), в котором делает это более продуктивной средой для работы?
На странице Wikipedia Grails дается базовое объяснение:
Grails имеет три свойства, которые пытаются повысить производительность по сравнению с традиционными веб-фреймворками Java:
- Нет конфигурации XML
- Готовность к работе -использовать среду разработки
- Функциональность, доступная через миксины
Первый пункт действительно должен заключаться в «меньшей конфигурации» в результате популяризированной RoR конфигурации по соглашению: структура предназначена для разработки определенного класса приложений и обеспечивает разумную по умолчанию в этом контексте.
Второй момент также важен: приложение hello world можно как разработать, так и развернуть с помощью пары команд grails. Это снижает барьер для входа, увеличивает обмен мнениями и делает процесс разработки более оптимизированным по сравнению с разработкой на чистой Java.
Я буду использовать пример со страницы Grails GORM , чтобы проиллюстрировать третий пункт. Grails позволяет вам написать такой код для извлечения книги по ее названию из таблицы "book" без необходимости настраивать что-либо особенное:
Book.findByTitle("Groovy in Action")
Конечно, это результат гораздо более общего свойства Groovy: его динамичный характер.
Более практичные отчеты о повышении производительности см., Например, Небо отчет .
Фреймворк становится полезным, когда он сводит к минимуму усилия, необходимые для выполнения чего-либо. Вот почему C стал более успешным, чем Assembly, C ++ улучшился на C, а Java на C ++.
Несмотря на то, что не указано строго за и против, мне нравится обсуждение этой темы в блоге одного из первых разработчиков Groovy. Кроме того, мне также нравится обсуждение другого современного фреймворка веб-приложений на базе баз данных, проведенное Мартином Фаулером , одним из ведущих архитекторов в мире Java EE.
Я также впервые столкнулся с Groovy при тестировании приложений Java. Вы познакомитесь с работами Дирка Кёнига, например. короткая презентация Groovy . Кстати, если вы хотите разрабатывать «облачные» приложения, Ruby также открывает множество дверей.