leftovers...

about grails groovy

Micronautチームがデータアクセスツール「Predator」を発表!

Micronautチームは、2019/07/18に行われた発表会「Something Big Is Coming」で、 プリコンピュートなデータアクセスツール「Predator」を発表しました!

f:id:mottsnite:20190719111033p:plain
Somethig-Big-Is-Coming

まとめを簡略化すると「AoTでなんやかんやする軽量高速なGORM」!

英語読める人は公式読みましょう→ 公式

データアクセスツールの歴史、2004年にRuby on RailsActiveRecordを登場させ生産性の向上に革命をもたらしました。

2007年(いいや2006年だけど)、Grailsチーム(今のMicronautチーム)は、JVMActiveRecordのようなAPIをもつ仕組みGORMをGrailsのデータ層として開発。 GORMはHibernate上に動的言語であるGroovyを活用することで柔軟なfinderメソッドを実装しJVMユーザの生産性を向上させた。

ただ、GORMはGroovyに依存します。そこで、2011年Javaのみで使えるように、インターフェイスに定義する事で、finderメソッドをランタイム時に自動実装されるSpring Dataが登場しました。

そして、Micronautチーム(昔も今もGrailsチーム)が、2019年、MicronautのAoTコンパイルAPIを活用してメタモデルコンパイラに変換して、コンパイル時に、findByTitleのようなfinderメソッドをSQLJPA-QLにし、さらにはリフレクションフリーなデータアクセスツール「Predator」を爆誕させました!

※雑な文章で申し訳ない。;-)

大まかにまとめると。

  • Predator == Precomputed Data Repositories
  • GORMやSpring Dataのようなプロダクティビティ
    • 基本的にはGORMのフォークがベースらしい。
  • マイクロサービスとサーバレス時代に合わせたデータアクセスツール
  • データアクセスとして劇的に向上されたランタイムとメモリーパフォーマンス ベンチマーク用コード
    • Predator JDBCの場合、GORMの4倍、Spring Dataの2.5倍のパフォーマンス
    • Predator JPAでは、GORMの2倍、Spring Dataより40%のパフォーマンス向上
  • GraalVMとの親和性
  • コンパイルタイムチェック: プロパティ名や型を認識してエラーを返す
  • 先ずはJDBCJPAを開発
  • NoSQLとかは無いの?→ 計画している。
    • 基本的にはGORMのフォークがベースなので"GORM for MongoDBæなどのコードが再利用できる
  • ハッシュタグに困っている笑。#predatorではちょっとね。

f:id:mottsnite:20190719111153p:plain
coding

以下、公式情報。

Grails 4.0.0 GA リリース!

Grails 4.0.0 GA リリース!!!

おおよそ半年間の開発からM1,M2,RC1, RC2をへて!Grails 4.0.0 GAリリースです!

Grails4では、以下のライブラリをベースに、フレームワークの大幅なアップグレードがおこなわれています。

  • Spring 5.1
  • Spring Boot 2.1
  • Java 8
  • Hibernate 5.4
  • Groovy 2.5
  • Gradle 5

そしてGrails 4.0では何と言っても期待のMicronaut対応。 Grails 4.0では親ApplicationContextとしてMicronautが使用されています。 これによって、Micronaut HTTP clientやKafkaクライアントなどMicronautの機能が使用できます。

さらには、Spring Boot 2.1での向上と、Grailsの内部構造をMicronautにワイヤリングする事で、以前のリリースに比べて起動時間とメモリー消費が向上しています。

既に多くのプラグインもGrails4に対応しています。 Grails 3.3からの更新は、アップグレードノートを参照しましょう!

docs.grails.org

来週2019/7/18に何か凄い発表があるようです!

コチラからエントリー https://objectcomputing.com/products/micronaut/resources/something-big-is-coming

Gr8conf EUでのGrails4まとめ

Grails 4.0.0 RC2 リリース!

Grails 4.0.0 RC2 リリース!

前回リリースされたRC1のバグフィックスです。

Micronautの恩恵を受けたGrails4!あと少しで正式リリースですね。

先日、デンマークコペンハーゲンで行われたhttps://gr8conf.eu/に参加してきました。 今回で4回目! そこで話のあったGrails4への更新注意点は、まとめると以下のツイートの内容となるそうです。

Grailsからの更新は大変そうですが、 まあ、なんとかなるでしょう。

クローズしたイシュー : https://github.com/grails/grails-core/milestone/208?closed=1