「Play Framework」の版間の差分
削除された内容 追加された内容
Semi-Brace (会話 | 投稿記録) m 曖昧さ回避ページLaunchpad (曖昧さ回避)へのリンクを解消、リンク先をLaunchpad (プロジェクト管理システム)に変更(DisamAssist使用) |
m編集の要約なし |
||
27行目:
翌[[2008年]]5月になって、バージョン1.0の元となるコードが[[Launchpad (プロジェクト管理システム)|Launchpad]]にて公開された<ref>[http://bazaar.launchpad.net/~play-developers/play/1.0/revision/1 ~play-developers/play/1.0 : revision 1]</ref> 1.0が完全にリリースされるのは、[[2009年]]10月のことである<ref>[http://www.playframework.org/download Play framework - downloads]</ref>。
その後Launchpadから[[GitHub]]への移行を経て、[[2010年]]11月にPlay 1.1がリリースされた。1.1ではコンポーネントが{{仮リンク|Apache MINA|en|Apache MINA}}から{{仮リンク|Netty (ソフトウェア)|en|Netty (software)|label=JBoss Netty}}へと変更されており、またScala言語のサポートや、[[GlassFish]]コンテナへの対応、非同期[[Webサービス]]ライブラリ、[[OAuth]]認証、[[HTTPS]]のサポートなどが行われた
[[2011年]]4月にリリースされたPlay 1.2では、依存性管理ツールである{{仮リンク|Apache Ivy|en|Apache Ivy}}が組み込まれるとともに、[[WebSocket]]のサポートや、[[データベース|DB]][[データ移行|マイグレーション]]の統合(ただしリバージョンは未対応<ref>[http://www.playframework.org/modules/migrate-1.4/home Community Contributed Extensions]</ref>)、[[H2 Database]]への変更などが行われた<ref>[http://www.playframework.org/documentation/1.2/releasenotes-1.2 Play 1.2 -- Release notes]</ref>。
38行目:
== 特徴 ==
Play Frameworkは、[[Ruby on Rails]]と[[Django]]から大きな影響を受けた、これらと似た同種のフレームワークである。PlayのWebアプリケーションはJava環境で動作するが、Java標準のWebアプリケーション仕様である[[
Play Frameworkのアプリケーションは組み込みの{{仮リンク|Netty (ソフトウェア)|en|Netty (software)|label=Netty}} Webサーバーを使用して実行するよう設計されている。しかし、開発したアプリケーションを[[WAR (アーカイバ)|WAR]]パッケージにまとめ、
== 他のフレームワークとの比較 ==
他のJavaフレームワークと比べると、以下のような特徴を持つ
* ステートレス: Play 2は完全に[[Representational State Transfer|RESTful]]である。
* 自動テストの統合: [[JUnit]], [[Selenium (ソフトウェア)|Selenium]]のサポートを含む。
* 主に必要とされる[[アプリケーションプログラミングインタフェース|API]]は標準で組み込まれている。
* [[メソッド (計算機科学)|静的メソッド]]: [[Model View Controller|コントローラ]]の全ての開始点はstatic(Scalaの場合はfunction)として宣言する。ただしPlay 2.1以降はそれ以外の形式もサポートされている。
* [[非同期IO]]: WebサーバーとしてNettyを使用することから、Playは非同期的に大きなリクエストを処理できる。この結果、HTTPスレッド数以上の処理を実行することができる。
* モジュラー構造: RailsやDjangoのように、Playはモジュール構造を採用している。
* Scala言語のサポート: Play 2は内部的にScalaを使用しており、ScalaのAPIとJavaのAPI双方を公開している。Javaとも完全な互換性がある。
|