DevSummit2011JGGUG OpenJam: Groovy

1,501 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,501
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DevSummit2011JGGUG OpenJam: Groovy

  1. 1. 今こそGroovy@デブサミ2011 OpenJam<br />2011/2/17<br />日本アイ・ビー・エム(株) 須江 信洋<br />http://twitter.com/nobusuehttp://d.hatena.ne.jp/nobusue<br />※資料の内容は個人としての意見・見解を述べたものであり、<br />所属する企業・組織が内容を保証するものではありません。<br />
  2. 2. 自己紹介<br />須江 信洋(すえ のぶひろ)<br />1970年生まれの40才<br />ずっとJavaEE関連の仕事をしています<br />職場は何回か変わってます。。。<br />G*との関わり<br />Groovyを組み込んだ製品(WebSphere sMash)を売ってます<br />JGGUGサポート・スタッフ<br />「Groovy イン・アクション」翻訳メンバーの一味<br />「プログラミングGroovy(仮称)」執筆中です。。。<br />2<br />Amazonで品切れ中<br />今が買い時!<br />
  3. 3. 3<br />Groovyとは<br />JVM上で稼動するスクリプト言語<br />Javaを拡張し、改良<br />既存のJavaコード≒Groovyのコード<br />記述量削減、「本質的なこと」に集中できる<br />例)LL的なリスト/マップリテラル<br />例) 過剰な例外処理の撲滅、リソース開放の自動化<br />Javaとの親和性が高い<br />Javaのクラス=Groovyのクラス<br />Javaのオブジェクト=Groovyのオブジェクト<br />詳しく知りたい方はこちらへ↓<br />http://d.hatena.ne.jp/uehaj/20110126/1296003293<br />
  4. 4. スクリプトの配布を楽にする:Grape<br />Grape(@Grab)で、mavenリポジトリからjarを自動取得<br />Groovy-1.6からの新機能(1.7でさらに改善)<br />内部ではApache Ivyを利用<br />4<br />@Grab(<br /> group = 'org.twitter4j', module='twitter4j-core', version='[2.1,)')<br />import twitter4j.*<br />Twitter twitter = TwitterFactory.getInstance("<scrname>","<pass>")<br />twitter.updateStatus(args[0])<br />Twitter4jを使ったTwitterクライアントこのファイルだけで動きます!!<br />(要Groovy-1.7以上)<br />
  5. 5. テストを楽にする: Power Assert<br />要するに、「超親切なAssert」<br />Groovy-1.7の新機能<br />Spock(BDDフレームワーク)から取り込まれた機能<br />5<br />def a = 1<br />def b = 2<br />def c = 3<br />assert (a+b)*c == 5<br />途中結果や、どこでfailしたかまで教えてくれる。assertEquals()とかを組み合わせる必要ナシ。<br />
  6. 6. Javaをカイゼン<br />高生産性FW<br />Groovyは単なる言語ではない!<br />Groovyのエコシステム<br />6<br />GSQL <br />Grails<br />Gaelyk<br />Griffon<br />SwingBuilder<br />組み込み<br />Jenkins(Hudson) <br />MarkupBuilder(XML/HTML) <br />Maven3 <br />先進的<br />ビルドとテスト<br />GPars(JSR166y) <br />Spock<br />Gant<br />FreeMind<br />Groovy++ <br />Geb<br />Gradle<br />JavaFX2.0 <br />
  7. 7. 7<br />Groovy-1.8 beta4 公開中<br /><ul><li>JSON BuilderによるJSON対応
  8. 8. さらなる高速化(特にプリミティブ型)
  9. 9. クロージャ強化(メモ化、末尾最適化)
  10. 10. GParsバンドル(Actor並列処理)</li></li></ul><li>今こそGroovyの時<br />Java屋よ、刮目せよ<br />8<br />「士別れて三日なれば刮目して相待すべし。(*)」<br />(*)日々鍛錬する人が居れば、その人は3日も経つと見違える程成長しているものだということ。Groovyも日々進化を続けており、もはや昔のGroovyではない。<br />呂蒙(真・三國無双より)<br />

×