【入門】Groovyとは? いま大注目の言語の特徴から使い方を徹底解説

JavaでRubyライクな言語Groovyとは?


Groovyってどんな言語なの?
調べても難しくて分からない……
なんでいま注目されているの?
勉強してみたいけど情報が少なくて困っている

こんにちは。文系出身ながらも独学してエンジニアになり、今年で8年目の佐藤です。皆さんは

Groovy」という言語をご存知ですか? 大きなポテンシャルを秘めた言語ですが、まだ日本語で読める情報が少ないのが現状です。興味が出て調べてみても、どんな特徴の言語なのか簡単に把握するのは難しいですよね。

実はGroovyは人気プログラミング言語ランキングにランクインするほど今注目の言語なんです。

この記事では、どんな方でも「Groovyとは何か?」が理解できるよう、分かりやすい言葉で特徴や使い方を解説していきます。後半では実際にGroovyをインストールし、動かしてみたり、学習方法についても紹介していきます。それでは、早速Groovyの特徴について見ていきましょう。

Groovyとは?

この章ではGroovyの特徴について解説していきます。

Javaから派生したRubyライクな言語

Groovy(グルービー)とは、Javaから派生した動的型付けのプログラミング言語です。2003年ごろに登場した比較的新しいオープンソースの言語になっています。2018年ごろでは人気ランキングで91位だったGroovyですが、2019年5月ではなんと17位です。非常に注目を浴びている言語であることがわかりますよね。

GroovyはJVM上で動作し、Javaとの連携ももちろん可能です。JVM上で動作する言語にはほかに「Scala」「Kotlin」などがあげられますが、どちらも静的型付けの言語になるので、「Groovy」はまた違った立ち位置の言語であると言えます。

JVMというのはJavaのプログラムを動かすために必要なソフトウェアです。次の記事で詳しく解説していますので、興味があるかたは是非ご覧ください。

文法もJavaと非常に似ていますが、機能や概念についてはRubyの影響を受けている言語です。そのため、Javaを勉強した人も慣れ親しみやすいRubyライクな言語になっています。RubyからJavaを勉強したいと思う方にとっても親しみやすい言語でしょう。

そしてRuby on Railsという有名なWEBアプリケーションフレームワークがありますが、それをJavaでも使いたいという思いから生まれた「Grails」というフレームワークがGroovyでできていることも有名です。「Grails」の詳細は後述します。

他の特徴としては「オブジェクト指向」「スクリプト言語機能」「動的型付け」という点が挙げられます。また、Javaでは40行書かなければいけない処理がGroovyだと4行で済むこともあり、記述量も抑えられるため効率的な開発が可能です。

Groovyは「Javaに代わる言語ではなく、Javaに寄り添う言語」と表現されることが多く、Javaを補完する機能も充実しています。その点でも「Scala」や「Kotlin」とは違う立場なのがわかりますよね。ScalaやKotlinってなに?と思われた方は紹介記事がありますので、ぜひ合わせてご覧ください。


【超入門】Kotlinとは? いま話題のAndroidアプリ開発言語を徹底解説
更新日 : 2019年4月18日

さて、専門用語が並んでしまいましたので「超」簡単に特徴をまとめます。ぜんぜん良く分からない……という方も安心して次の項目をご覧ください。

もっとわかりやすく特徴をまとめると

Groovyの特徴をもっと簡単にわかりやすい言葉でまとめていきます。

RubyっぽくプログラミングできるJava

Rubyは日本で生まれたプログラミング言語で、「読みやすく初心者に優しい」「シンプルなコードで効率的な開発が可能」などが特徴のスクリプト言語です。詳しく知りたい方は、こちらの記事をぜひご覧ください。

Javaは比較的コードが長くなりがちでしたが、GroovyはRubyの影響を受けているので非常に短くシンプルなコードで済む上に、最新の機能も携えています。

Rubyっぽい雰囲気なのにJavaで書ける最新のプログラミング言語なんですね。Javaをすでに学習している方なら、かなりスムーズに移行できる最新の言語になっています。

スクリプト言語でもあるためJavaより簡単

Groovyはスクリプト言語でもあります。そのため書いたらすぐ実行することができたり、内容も直感的でシンプルなのでJavaよりも比較的楽に開発できるのも特徴です。

スクリプト言語ってなに……?

という方はこちらの記事で詳しく解説していますので、ぜひご覧ください!

RailsみたいなフレームワークがJavaでも使える

Groovyでできたフレームワーク「Grails」というものがあります。railsと名が付くように、Ruby on Rails的な開発がJavaプラットフォームでもできるよう開発されたフレームワークなんです。

フレームワークとは開発の時の枠組みのことで、基本的な機能をまとめて提供してくれているセットのことです。効率的な開発を行うために、いろいろな場面で使用されています。

Groovyで作られた「Grails」を使うことでWEBアプリケーション開発を大幅にスムーズに行うことができるようになったため、いま非常に注目を浴びているんですね。Railsについても詳しく知りたい!という方は、こちらの記事で分かりやすく説明していますので、ぜひご覧ください。

Javaを助けるという立ち位置の最新言語である「Groovy」の特徴をつかむことができたでしょうか? 次の章では「Groovy」でできているフレームワーク「Grails」について詳しく紹介します。

WEBアプリフレームワーク「Grails」とは

フレームワークとは開発を楽にするテンプレートのようなものです。その中でも「WEBアプリケーションフレームワーク」というものは、WEBページ、サービス、アプリケーションを作る時に使われます。

フレームワークに従ってWEBアプリ等を作れば、基本的な部分はすぐ完成するという優れものです。有名なものはRubyの「Ruby on Rails」、Pythonの「Django」、PHPの「Laravel」なんていうものがあります。それぞれの言語に存在しているんですね。

Javaにもすでに「Spring」や「Hibernate」などがありますが、「Grails」は既存のフレームワークの機能を取り込んだ物として登場しました。また、「Ruby on Rails」と同じように「設定より規約」の考え方を取り入れたことによって、今までにないJavaのWEBアプリケーションフレームワークとなっています。

いままでJavaのWEBアプリケーションフレームワークは複雑で難しいものが多いと言われてきたので、このGrailsの登場はJavaで開発している人たちの大注目を浴びているというわけです。そのため、全世界的に人気度が上昇しているんですね。

Groovyでできているモノ、できること

そんなGroovyではどんなことができるのでしょうか? この章では例を交えて紹介していきます。

Androidアプリ開発にも使える

Groovyでは先程も紹介したようにWEBアプリケーションフレームワークがあり、WEBアプリ・サービスの開発が得意です。そしてJavaでできることのもう一つといえば、Androidアプリ開発ですよね。もちろんGroovyでも、Androidアプリ開発ができるんです。

公式で対応しているので、安心してGroovyでアプリ開発することができます。Javaでは長くなってしまうコードも、Groovyで書けば短くかんたんに済むので話題を呼んでいます。

JavaでできることはGroovyでもできるので、これから先もさまざまな分野で使われていくと予想されています。Javaを既に習得済みの方なら、学習して損はない言語でしょう。

こんな企業で使われている


Groovyを使用していると公言している企業はまだまだ多くはありませんが、日本企業では「NTTテクノクロス」というNTTグループの企業が積極的に導入しています

また、国際的な有名企業も続々採用しています。

  • Netflix
  • Google
  • SonyOracle
  • Walmart(大手小売チェーン)etc…

Grailsを使いWEBサービスを作っている企業が多いようです。日本にも徐々に浸透してきているので、Javaができるから今後の為にGroovy・Grailsを学習するという考えも大いにアリだと筆者は考えます。そんなGroovyのデメリットはあるのでしょうか?次の章で見ていきましょう。

Groovyのメリット・デメリット

Groovyのメリットに関しては、先ほどからよく紹介しているので先にまとめて確認してみましょう。

  • Javaよりもコードが簡潔
  • Grailsが使える
  • Javaと相互利用ができる
  • Java習得者なら学習コストが低い

Javaで使えていたライブラリ等も相互利用できるため、現在Javaを学習している・マスターしたという方ならスムーズにGroovyも学習できるはずです。さらにGrailsを学習すれば、Rubyライクな開発を経験することができるので、Rubyの理解も早くなります。

Java以外の言語も学習していこうと考えている方にとっては一石二鳥ですよね。また、JavaからGroovyに移行したという事例もあるようなので、今後も移行案件が増え需要が高まっていくのでは? と予想されます。

では、デメリットについて見ていきましょう。

  • 初心者向け情報の少なさ

これに尽きると思います。前提としてJava習得者に向けた情報が多いため、プログラミング初学者には向いていません。Javaができていたとしても、初心者レベルであれば難しいと感じる可能性があります。

Groovyは非常に便利な言語ではありますが、まずは他の言語(できればJava)を習得してからの学習をお勧めします。とはいえまず、Groovyを体験してみたい! という方もいらっしゃるかと思います。

次の章では簡単にインストール方法の説明と実際に少し動かしてみますので、興味が湧いた方はこれから一緒にやっていきましょう。

Groovyをインストールしてみよう

それでは早速Groovyをインストールしていきます。まずは「JDK」が必要なので、ここからインストールします。※既に導入済みの方はこの手順は飛ばしてOKです。

次に公式サイトからGroovyをダウンロードします。

今回はWindowsを使用してのインストールをしていきますので「Windows installer」を選択します。Mac等をお使いの方はSDKMANを使用してのインストールをお勧めします。

ダウンロードできたらexeを実行して「Next>」で進んでいきます。基本全て「Next>」で進んでしまって構いません。途中でOKを押す場合もありますので、表示されたらOKを押しましょう。この画面になればあと少しです。

この後に表示される画面もすべて「Next>」で進んでしまいましょう。これでGroovyのインストールは完了です!

そしてGroovyのインストールと同時に、便利な開発用ツールもインストールされています。スタートメニューからGroovyのフォルダを見てみると「Start GroovyConsole」というものがあるので実行してみましょう。

起動するとこんな画面です。

実はこれを使えばすぐにGroovyで開発することができるんです。まずは練習として、このGroovyConsoleでhello worldを表示してみましょう。

Groovyを簡単に動かしてみよう

先程起動したGroovyConsoleを先ずは動かしてみましょう。使い方は簡単です。

上の白い部分にコードを打ち込みます。

実行するときは画面右上の緑の矢印が描かれているアイコン(赤く囲われている部分)をクリックします。


黄色の部分に結果が出れば成功です。簡単にすぐ動かすことができました! ここまで動かしてみて、俄然やる気が出てきたという方のために次の章ではお勧めの学習方法を紹介します。

おすすめ学習方法

この章では3つの項目に分けて学習方法を紹介します。

入門者におすすめの書籍・サイト

まずは書籍です。入門するならまずはこの一冊から始めましょう。

プログラミングGROOVY|Amazon
Javaをある程度知っている必要がありますが、Groovyの特徴など基本的なことから実践編まで入門にはぴったりの内容になっています。Groovy学習にはWEBサイトの情報も頼りになります。次のサイトを参考にして実際に動かしてみましょう。

[初心者のためのGroovy/Grails入門https://www.tuyano.com/index3?id=1298003
こちらもJavaの知識が必要な部分もあります。ですが、Groovyのポイントを押さえつつ、実践もできる入門には最適のサイトです。

[Apache Groovy チュートリアル] http://koji-k.github.io/groovy-tutorial/
有志の方が作成しているGroovyの日本語版チュートリアルです。こちらを読み込み、実践していくことで上達もはやいかと思います。

また、同じ方がGrailsのチュートリアルも作成しているので、Grailsも学習したいという方はこちらもおすすめです。

勉強会にも参加してみよう

開催されていれば勉強会に参加してみましょう。同じように学習している人々と交流したり、実際に開発に携わっている方の話が聞けたりと良いことがたくさんあります。勉強会が開催されているかどうかは「テックプレイ」「connpass」で検索して情報収集することをおすすめします!

まとめ

JavaでRubyライクなプログラミングと話題の「Groovy」について紹介しました。日本での知名度はまだまだですが、これからが期待できる言語ですよね。記事を読んで興味が湧いた! という方はぜひ書籍等をつかって学習してみてくださいね。

それでは、また次の解説で!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

佐藤

佐藤

文系大学出身、なんとか自力で頑張りプログラマー歴今年で8年目。
自力で頑張って勉強した経験を生かし、読者の皆様に分かりやすく親しみやすい記事を書けるよう日々邁進中です。
出来る言語はC#,VB,Java,Delphiなどなど、幅広く触っています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説