GrailsはGroovyベースのWebアプリケーションフレームワークです。『Ruby on Rails』にインスパイアされたことでも知られております。年々人気を増すGroovyのデフォルトスタンダードフレームワークです。この記事ではGrailsを理解するために初心者でも分かる歴史、特徴などの基礎知識を簡単に解説していきます。
GrailsとはGroovyベースのWebアプリケーションフレームワークです。SpringBootの上に構築されており、Springを利用した依存性注入など、SpringBootの時間節約機能を活用しています。誕生当初は「Groovy on Rails」という名前でしたが『Ruby on Rails』の産みの親であるデイビット氏の改名要求により「Grails」の名となりました。旧名からも分かるとおり『Ruby on Rails』にインスパイアされております。Grailsの特徴は『Groovyとの高い相乗効果』『生産性が高い』『豊富なプラグイン』などが挙げられます。
GroovyとはJavaプラットフォーム上で動作するJavaから派生したプログラミング言語です。Rubyからの影響も受けており、機能や概念はRubyライクとなっております。RubyライクなJava版スクリプト言語というのがしっくりきます。Groovyは動的プログラミング言語ですので直接スクリプトを実行することができます。Javaの文法を大きく簡易化しているためJavaユーザーは学習コストを抑えて習得することができるでしょう。特徴として『JVMで動作する』『高度なJava補完機能』『文法が簡単』などが挙げられます。
Ruby on RailsとはRubyに活用されるデビッド・ハイネマイヤー・ハンソン(David Heinemeier Hansson)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2004年7月に誕生し、基本理念を『同じことを繰り返さない』と掲げております。特徴としては基本理念の名の下同じソースコードを何度も記述しなくて良い効率よく実装するための仕様となっております。さらにデータベースを直感的に操作ができる機能が提供されており好評を集めております。Ruby on Railsの概念を参考に誕生したその他言語のフレームワークも多く存在しCakePHPもその一つとなっております。
Ruby on Railsの公式サイトはこちら>>
Ruby on Railsの歴史、メリットなどの基礎知識について解説された記事はこちら>>
Grailsの読み方は『グレイルズ』です。『Ruby on Rails』にインスパイアされたことから「Groovy」+「Ruby on Rails」 = 『Grails』のように組み合わせて命名されました。実は誕生当初「Groovy on Rails」という名前でしたが『Ruby on Rails』の産みの親であるデイビット氏の改名要求により「Grails」の名となった経緯もあります。
Grailsはグレアム・ローシェ氏によってGroovyベースのWebアプリケーションフレームワークとして開発され2005年10月に初版が誕生しました。誕生当初は「Groovy on Rails」を名乗っておりましたが、『Ruby on Rails』の産みの親であるデイビット氏の改名要求により「Grails」へ名前を変更します。2006年3月に「Grails 0.1」をリリースし、2008年2月には「Grails 1.0」をリリース。その後も順調にバージョンアップを続け、現在(2021年6月時点)では最新バージョンを「Grails 4.0.11」としております。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2005年 | 「Grails」 誕生 (当時の名称は「Groovy on Rails」) |
2006年 | 「Grails 0.1」 リリース |
2008年 | 「Grails 1.0」 リリース |
2015年 | 「Grails 2.0.0」リリース 「Grails 3.0.0」リリース |
2019年 | 「Groovy4.0.0」リリース |
Grailsの特徴を見ていきましょう。
GrailsはGroovyとの高い相乗効果を持つという特徴があります。GroovyでWebアプリケーションの開発を行う際に必要なもの全てを簡単かつ相性良く提供しております。またGroovyは文法や意味をカスタマイズしてDSLを実現するための機能を持ちます。これをGrailsはWebアプリケーションを書くためのDSLの集合体と見なすことができるためそういった点でもサポートしております。
Grailsは生産性が高いという特徴があります。Grailsは学習しやすく、アプリケーション開発と拡張が容易となるよう設計されております。さらに「XMLコンフィギュレーション不要」「オールインワン型インストールで即利用」「Mixin経由の機能」など生産性を向上させる様々な利点を保持しております。
Grailsは豊富なプラグインを持つという特徴があります。Grailsは様々なプラグインを自由に使用して好きなように拡張できるところが人気を集めるポイントでもあります。
Grailsで基本的なプラグインを見ていきましょう。
authenticationとはWebサービスにログインするために必要な認証機能を実装するためのプラグインです。
asset-pipelineとは静的アセット(JavaScript、CSSなど)のコンパイルを可能にするためのプラグインです。
spring-security-twitterとはWebアプリとTwitterを連携させるためにのプラグインです。
warとはアプリケーションからWARファイルとして作成されますようにパッケージを変更するためのプラグインです。
Grailsを理解するために初心者でも分かる歴史、特徴などの基礎知識を簡単に解説させていただきました。Grailsを一言で表すと『GroovyベースのWebアプリケーションフレームワーク』です。特徴として『Groovyとの高い相乗効果』『生産性が高い』『豊富なプラグイン』などが挙げられます。Grailsについてこの記事に記載されている最低限の内容は理解しておくようにしましょう。