こんにちは!インストラクターの佐野です。
Javaの常識を変えたといわれるフレームワークがあります。
それは
「Play Framework」
です。
「Play Frameworkって何?」
「Play Frameworkってどんな特徴があるの?」
「Play Frameworkはどんなことができるの?」
など、様々な疑問が浮かんできますよね。
そこで今回は大人気の「Play Framework」について解説します。
Play Frameworkの意味や特徴がつかめるでしょう!
Play Frameworkとは
「Java」と「Scala」で作られたWEBフレームワーク
「Play Framework(単にPlayとも呼ばれます)」は、プログラミング言語の「Java」と「Scala」を使って作られたWEBフレームワークです。
Play Frameworkは、Javaで主に作られていましたが、新しいバージョン2からは主にScala言語によって書き換えられました。
有名なWEBフレームワークである、Rubyの「Ruby on Rails」やPythonの「Django」から大きな影響を受けているので、非常に似た点が多いです。
Javaで作られたその他のフレームワーク
Javaで作られたフレームワークはたくさんあります。
Play Frameworkはその中の1つに過ぎませんが、他のフレームワークよりも軽量なため、利用しやすく学習コストも低めでオススメです。
以下の比較記事もあわせてご覧ください!
Play Frameworkを使うために必要な知識
Play Frameworkは、Javaの基礎的な知識があれば使い始められます。
Play Frameworkを使えば、アプリを高速で開発できます。
Javaの基礎的な勉強が終わり次第、Play Frameworkの使いかたをすぐに覚えた方がいいでしょう。
Play Frameworkでできることは?
Play Frameworkはどのようなシチュエーションで使われているか、調べてみました。
- WEBアプリ
- WEBアプリのバックエンド
- スマートフォンアプリと通信するバックエンド
バックエンドは、ユーザーの目に直接触れない縁の下の力持ち的な部分と思っていただければ十分です。
Play Frameworkが持つ「動作が速い」という特徴や、Javaが持つ「堅牢性」といった特徴を活かして、バックエンドに採用する事例がありました。
Play Frameworkを使うメリットとは?
高速に開発できる
Play FrameWorkは、軽量で動作も速いフレームワークです。
何しろ高速で開発できる点が最大のメリットです。
Ruby on RailsやDjangoと同じく「MVC」という設計に基づいて、WEBアプリ開発を高速で行えます。
費用の制限がある企業向けシステムや、スピードある開発を求められるWEBサービスなどでは「高速で開発できる」ことが何よりのメリットです。
速いことは最大の武器にもなります。
コンパイルに時間がかかるのでは?
Javaは静的型言語なので、コードを解析して実行できる状態に変換する「コンパイル」という作業が必要です。
WEBアプリ開発では、頻繁にWEBページを見ながら動作を確認することが多く、コンパイルにかかる時間が、そのまま開発にかかる時間と直結しています。
コンパイルに時間がかかれば、開発に時間がかかるという仕組みですね。
しかし、Play Frameworkでは、弱点であった「コンパイルの遅さ」も解消され、コードの追加や修正が即座に反映されるようになっています。
Javaのコンパイルに時間がかかるというデメリットも最大限に抑え、メリットである堅牢性や高速な動作を最大限活かせるようになっているのです。
最新技術への対応状況は?
CSSの拡張言語であるSassや、JavaScriptの拡張言語であるCoffeeスクリプトにはじまり、リアルタイム通信やテストに関するものまで一通り揃っています。
このように、Play Frameworkは最新技術に関するものまで幅広く対応しています。
そのため、どんな開発でも最も効率の良いものを選べるため、開発がスムーズに行えます。
リソース消費が少ない
とにかく無駄がありません。
CPUやメモリーに負担が少なく、少ないリソースでアプリを動作させることができます。
少ない資源で動くということは、それだけ無駄がなく速いということでもあります。
これは規模がどんどん変化していくWEBアプリでは重要です。
大規模なシステムに成長したとしても問題なく動作するWEBアプリを作れるので、将来のことは心配しなくても良いでしょう。
Play Frameworkのオススメ入門書は?
まずは入門書を手に入れるところから初めてみてはいかがでしょうか?
Play Frameworkのオススメの入門書やJavaでWEBアプリ開発したい人にオススメの入門書を紹介する記事がありますので、あわせてご覧ください!
最後に
いかがでしたでしょうか?
Play Frameworkは、一番近代的なフレームワークです。
非常に使いやすく高速で開発できるため、WEBアプリ開発では活躍しています。
ぜひ押さえておきたいフレームワークなので、学習しておいて損はないでしょう!