Яндекс.Метрика

    Песочница

    Вышел Grails 2.0

    После года разработки и трех релиз-кандидатов команда SpringSource презентовала новую версию веб фреймворка — Grails 2.0. Я часто использую Grails в своих проектах и внимательно слежу за процессом разработки и выпуска новых релизов.

    Интересно заметить, что изначально релиз планировался под версией Grails 1.4, но фундаментальных изменений оказалось слишком много, и Grails присвоили версию 2.0.
    Итак перечислю, что нового появилось в новой реинкарнации Grails:
    • Поддержка свежайших библиотек Groovy 1.8, Spring 3.1 и Hibernate 3.6
    • Поддержка асинхронных вызовов по спецификации Servlet API 3.0
    • Новое API для unit-тестирования с полной поддержкой эмуляции GORM
    • Улучшенный и более стабильный механизм перезагрузки ресурсов (ну наконец-то)
    • Новые фичи GORM: detached criteria, where-запросы, поддержка нескольких data source
    • Динамическая перезагрузка классов домена
    • Цветная консоль c «tab completion» (на практике я ее применяю только посредством IDE, а вы?)
    • Обновлен «scaffolding» теперь GUI построен на HTML5 без Javascript
    • Новый фреймворк для управления статическими ресурсами (CSS, Javascript, Images)
    • H2 Database вместо HSQLDB, запросы на H2 можно запускать прямо из консоли браузера
    • jQuery вместо Prototype библиотеки
    • Готовность внедрения на cloud платформы (базируется на плагине Heroku)
    • Выпущены NoSQL плагины для GORM (MongoDB, Redis и Riak)

    На мой взгляд, наиболее фундаментальным изменением в Grails, является новый механизм перезагрузки изменений.
    Ранее фреймворк использовал class-лоадеры, в новом релизе этот подход был заменен на JVM agent. По заверениям разработчиков, это изменение гораздо улучшило стабильность процесса перезагрузки изменений, поскольку class-файлы, которые хранятся на диске, остаются консистентными с class-файлами, которые загружены в памяти.
    Для нас это значит, что мы гораздо реже будем использовать 'clean' комманду, ещё одна хорошая новость.

    Это лишь краткий перечень нововведений, которые я выделил как наиболее важные; повторюсь,
    что их действительно много — к слову сказать при разработке было исправлено около 900(!) дефектов.
    Полное описание нововведений вы можете прочесть в разделе нововведений.

    Новая версия доступна для скачивания на официальном сайте проекта.