- 更新日: 2017年04月11日
- 公開日: 2017年02月23日
Javaの常識を変えるフレームワークPlayとは
プログラミング学習を考えた時に、Javaが頭をよぎる方も少なくないと思います。
RubyやPHPに比べて難しそうだな、と後回しにしている方、そんなあなたも思わずJavaを勉強したくなるフレームワークがあったのでご紹介致します。
Java のイケてるフレームワーク Play とは
Play Frameworkとは
対応言語 Java、Scala/開発 オープンソース
公式ページ https://www.playframework.com/
GitHub https://github.com/playframework/playframework
Lightbend 社(主要開発会社) https://www.lightbend.com/platform/development/play-framework
Play Framework(Playは、プログラミング言語のJavaもしくはScalaを使ったアプリ開発(Web・モバイル)をサポートするためのフレームワークになります。 Play は、Ruby on Railsのような人気フレームワーク同様MVCモデルを採用している特徴があり、開発のしやすさとメンテナンス性を確保しています。 また公式ページにもあるように、とにかく早く開発に取り掛かれる特徴があり、サムスン社やリンクドイン社など世界を代表する企業からも評価されているフレームワークになります。
Javaのソフト開発会社ZeroTurnaround社によるレポート**では、PlayはJavaフレームワークの中でもスーパーシンプルで、直ぐに開発に取り掛かれる特徴がある、と調査されています。
つまりPlay Frameworkは、プログラミング初心者やJava初心者でもアプリ制作を楽しむことのできるフレームワーク、ということになります。
ライセンス
ライセンスは、Apache 2 Licenseが付与されていて、商用利用・修正・配布が可能となっています。
そのためPlayは、プライベートからビジネスシーンまで幅広く利用できます。
採用事例
img : Botmetric
AWSの管理をスマートにするアプリBotmetricや資産計画・管理をサポートするsmartassetなど動きのあるサービスに、 Play フレームワーク+Java は利用されています。尚、Play+Scalaならリンクドインやツイッター、Tumblrなど大手企業も採用しています。
メリット・デメリット
メリット
即時開発可能
サーバー環境にIDEのセッティングに、、、そんな手間はもう必要ありません LightbendベースでPlay Frameworkを利用すれば、
ダウンロード+./activator ui の2言でOKです。 伝統的なJavaフレームワークJava EEなどに比べて、比べ物にならないぐらい早くアプリ開発をスタートできます。 もちろんローカル開発環境も即構築でき、オフラインでもガシガシ開発にとりかかることができます。 _
コンパイル不要
Javaの常識を変えた機能です。ラクです。 _
既存IDEを使った開発
既にJavaを始めている方の多くは、EclipseやIntelliJといったIDEを使っていると思います。PlayはEclipseやIntelliJをサポートしていますので、使い慣れた環境でPlay Frameworkを操作できます。 _
リアルタイムな更新が可能
PlayにはノンブロッキングI/O機能が備わっていますので、画面更新をしなくてもサーバーに入った新情報をリアルタイムに出力する機能があります。時折Node.jsとも比較されました。**_
ビッグデータやNoSQLもサポート可能
今後ますます需要の増えるビッグデータも視野に入れたフレームワークです。 _
モバイルAppも開発しやすい環境
標準でレストフル・モデルを採用し、CoffeeScriptやLESSへの対応、WebsocketsやComet、EventSourceをモデルを採用しています。 _
並列処理可能なAkkaとの融合
規模の大きなアプリで必要とされる並列分散処理にも、Akkaを加えることで対応できます。(LightbendバージョンはAkka標準搭載) _
バグお知らせ機能
Ruby on RailsやCakePHPと同じようにエラーを吐き出してくれます。
_
100以上のテンプレート
LightbendのIDEを覗いてみると、100以上のPlay用テンプレートが存在することが分かります。
デメリット
- #### チョット難易度の高いJavaスキルが必要
- #### 日本語の情報がRuby on Railsなどに比べて少ない
- #### 前バージョンと実行コマンドが違うため、コマンドに悩むことがある (今はplay** ではなくactivator**が基本)
- #### フレームワークとは若干話題がそれますが、プラグイン が少ない 例えば、Eclipse(IDE)下でJavaのプラグインは1700程ですが、Rubyの場合は7500以上のプラグインがあります。
Play の利用方法
img : Lightbend
Playの利用方法は大きく分けて2つあります。 1つはIntelliJなどのJavaIDEを使った利用、もう1つはLightbend社から提供されているプラットフォームを利用する方法です。 これから Java をはじめる方であれば、即開発実行ができるLightbendプラットフォームがおすすめです。 専用のソフトをダウンロードして、コマンド一発でPlayやScalaをはじめることができます。
■IntelliJやEclipseを利用する場合■
ダウンロード https://www.playframework.com/download
インストール方法 https://youtu.be/bLrmnjPQsZc
■Lightbendを利用する場合■
ダウンロード https://www.lightbend.com/activator/download
インストール方法 https://youtu.be/phFsLsvzBvY
プラグイン
Playではモジューラーという形で、プラグイン機能が紹介されています。
https://www.playframework.com/documentation/2.5.x/ModuleDirectory WordPressやRubyのように、プラグインで何でもかんでもできる、というわけではなくクラウド設定やテンプレート設定など限定的な内容となっています。
\エンジニア最強言語のJavaスキルが身に付く/
まとめ
いかがでしたでしょうか?Ruby on RailsやCakePHPなどに比べてモダンな感じがする Play だったわけですが、Play を理解、使いこなそうと思うとJava以外にもHTMLやCSS、JavaScriptなど基本的なWeb言語を理解しておく必要はあります。 CSS、JavaScriptまだ未習だよな、という方、よろしければ CodeCamp 社のWebレッスン、ご活用下さい。
- この記事を書いた人
- オシママサラ