Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Javaで軽快に使える「軽量フレームワーク」特集
~本格的なRoRスタイルフレームワーク「Play!」(1)

第7回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/01/20 14:00

 注目の軽量フレームワークをフットワーク軽く取り上げていく本連載。連載第7回目となる今回は、Javaによる本格的なRoRスタイルフレームワーク「Play!」を取り上げ、インストール方法、コントローラー/ビューの作成方法など、基本的な部分について解説していきます。

目次

はじめに

 今やWebのフレームワークと言えば、そのほとんどが「RoRタイプ」です。RoR(Ruby on Rails)がWebの開発に与えた影響は非常に大きく、その後生まれたフレームワークの多くがその影響を受けています。

 しかし、Javaの世界に関しては、RoRはなぜか素通りしてしまいました。既にStrutsというデファクトスタンダードがあったために新しいMVCフレームワークが割り込む余地があまりなかったのか、あるいはLL(ライトウェイト)言語でないとRoRなスタイルは作りにくかったのか。ともあれ、その後、長い間、Javaでは「いわゆるRoRタイプ」と言えるフレームワークは登場しませんでした。

 その流れを変えたのは、Groovyです。Groovyの登場により、JavaでもLL言語のような小回りの聞くコーディングが可能となりました。そのおかげで、ようやくJavaの世界にも遅まきながら新しい世代のフレームワークが登場するようになりました。その1つが、今回取り上げる「Play!」です。

対象読者

  • Javaで手ごろなフレームワークを探している技術者
  • 最近のフレームワークをごくざっと理解しておきたい方
  • Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ

Play!とは?

 Play!は、play framework developersが中心となって開発されているJavaのMVCフレームワークです。2009年秋にようやくver.1.0がリリースされたばかりという、できたてホヤホヤのフレームワークです。これは以下のアドレスにて公開されています。

 このPlay!の最大の特徴は、「非常に短時間で、Webアプリケーションの基本的な部分を作れる」という点でしょう。Play!には簡単なバッチプログラムが用意されており、これを使ってコマンドを実行するだけで、Webアプリケーションの骨格が自動生成されてしまいます。既にこの段階で、もうWebアプリケーションは動いてしまうのです。後は、それをもとに、必要なファイルを追加したり編集していくだけで、ごく簡単なアプリケーションは作れてしまいます。

 この「基本的なファイルの作成をすべて自動化する」というのは、RoRで使われていたものです。それ以前のフレームワーク(Strutsなど)では、まず必要なファイルを自分で作成して1からコードを書いて...といった形で開発を進めなければいけませんでした。Play!では、とりあえず「すべて正しく動くシンプルなWebアプリケーション」を用意してもらい、それをベースに開発を始めることができます。

 また「MVCのすべてが揃っている」というのも、ある意味大きな特徴でしょう。Javaのフレームワークがどういうものだったか、よく思い出してみましょう。StrutsにしろJSFにしろ、データベースアクセスのための「Model」の部分は、実はそれほど充実してはいませんでした。「そうしたものは、HibernateなどのO/Rマッピングを使えばいい」というのがJavaの今までのアプローチでした。それは確かにそうですが、「1つのフレームワークですべてきちんとそろっています。後から足す必要はまったくありません」というほうがいいに決まっています。「これ1つ用意するだけで、今すぐに開発を始められる」というのも、Play!の大きな特徴といってよいでしょう。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 掌田 津耶乃(ショウダ ツヤノ)

    三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。 ※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開中。またGoogle+プロフィールはこちら。

バックナンバー

連載:Javaで軽快に使える「軽量フレームワーク」特集

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5