BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Grails 5.0リリース - 基盤フレームワークを刷新、機能を統合

Grails 5.0リリース - 基盤フレームワークを刷新、機能を統合

原文(投稿日:2021/10/29)へのリンク

Grails FoundationがGrails 5.0をリリースした。コンフィギュレーションでの'ドット'ベースナビゲーションの廃止、Data Servicesにおける"型によるオートワイヤ(autowire by type)"のデフォルト化、Grails Gradle Pluginをgrails-coreから分離、grails-pluginアプリケーションからGrails Gradle Publishプラグインを削除、などが変更されている。Apache Groovy 3Micronaut Framework 3Gradle 7Spring Boot 2.5Spring Framework 5.3Spock 2.0といった依存関係のアップグレードも含まれる。

Grailsは、"Java開発者が容易に学べるGrailsフレームワーク"という明確な目標の下、"設定より規約(Convention-over-configuration)、合理的なデフォルト、主張を持ったAPI、そしてGroovy言語"などのを、あたかも材料をひとつのポットに入れるように組み合わせることによって、高い生産性を実現している。

Grails 5では新しいParrotパーザなど、Apache Groovy 3の提供する新機能や新たな特徴を活用できるようになる。Apache Groovy 3は、ラムダ式やインターフェースのデフォルトメソッドなどの新たな構文や言語機能に加えて、既存のJavaクラスに対する拡張メソッドもいくつかサポートしている。Groovy 3.07を使ってビルドされたことにより、Grails 5の最小JavaバージョンはJDK 8になった。テストはJDK 14まで実施されている。

もうひとつの注目すべき変更は、Spring Frameworkが5.3.10に、Spring Bootが2.5.5に、それぞれアップグレードされたことだ。

今回のバージョンから、Grailsベースの'ドット'ベースのナビゲーションが非推奨となり、将来的に削除されることになった。開発者に対しては、自身のプラグインコンフィギュレーションをアップデートして、Grailsプロジェクト内で@ConfigurationPropertiesまたは@Valueアノテーションを使うように推奨している。grailsApplication.config.a.b.cに代えて、grailsApplication.config.getProperty('a.b.c', String)を使ってコンフィギュレーション設定にアクセスする、という方法もある。

新たにデフォルトになった型によるオートワイヤリングは、これまでの"名前によるオートワイヤリング(autowire by name)"の置き換えとなるものだ。ただし、@Qualifierでアノテーションすれば、引き続き名前によるワイヤリングを使用することも可能になっている。

Gradleプラグインも変更された。Grails Gradle Pluginがgrails-coreの一部ではなくなり、以降は別のものとしてバージョニングされることになった。従って、既存アプリケーションのgrailsVersion Gradleプロパティを、GrailsGradlePluginVersionとは別にする必要がある。JFrogが今年初めにBintrayをシャットダウンした時、Grails Gradle Publish Pluginはアーティファクト公開にBintray APIを使用していた。その結果として、このプラグインは今後、新たなGrailsプラグインアプリケーションには含まれなくなる。

 

Grails Frameworkの改善は今後数か月にわたって継続され、Grails CLI、Grails Guides、Micronautとの統合に関するGrailsのドキュメントが修正される予定である。

当初Groovy on Railsという名称であったGrailsは、2005年にGraeme RocherGuillaume LaForge、Steven Devijver、Dierk König各氏によって開発された。最初のリリースから13年を経たGrailsは5番目のマイルストンに到達し、開発効率の向上という目標をさらに追い続けている。Ruby on Railにルーツを持つGrailsは、"規約によるコード(code-by-convention)"のパラダイムに従うことで設定の複雑さを開発者から隠蔽し、すぐに使用可能な開発環境を提供することで、生産性の向上を実現しようとしている。また、Javaとのシームレスな統合により、長年にわたって積み上げられたリッチなエコシステムを活用することが可能である。

設立されたばかりのGrails Foundationの庇護の下、Grailsの将来は、以下のメンバで構成されるTechnical Advisory Boardの指導によって決められることになる。

  • Jeff Scott Brown — Grails Foundation、共同創立者兼ディレクタ、OCI Grailsプラクティスリーダ
  • Graeme Rocher — Grails共同開発者、 Oracleアーキテクト
  • Puneet Behl — OCI Grailsプロダクト開発リーダ
  • David Estes — Morpheus共同創立者兼エンジニアリングVP、Grails Asset-Pipelineの作者
  • James Kleeh — OCI Micronautプロダクト開発リーダ

APIの変更はそれほど多くないため、Grails Framework 4からのアップグレードは容易であると期待される。プラグインに関しても、変更が行われた一部のSpring、Spring Boot、Groovy APIを使用していない限り、移行作業はそれほど難しくないはずだ。

この記事に星をつける

おすすめ度
スタイル

BT