| 開発者 | コミュニティ |
|---|---|
| 初回リリース | 2007 |
| 安定版リリース | 3.0.3 [1]
/ 2024年5月7日 |
| リポジトリ | プレイリポジトリ |
| 書かれた | スカラ |
| 利用可能 | 英語 |
| タイプ | Web アプリケーション フレームワーク |
| ライセンス | Apache ライセンス 2.0 |
| Webサイト | プレイフレームワーク |
Play Frameworkは、モデル・ビュー・コントローラ(MVC)アーキテクチャパターンに従うオープンソースの Webアプリケーションフレームワークです。Scalaで書かれており、 JavaなどのJVMバイトコードにコンパイルされる他のプログラミング言語から使用できます。設定よりも規約を重視、ホットコードリロード、ブラウザでのエラー表示などを使用して、開発者の生産性を最適化することを目的としています。 [2]
Scalaプログラミング言語のサポートは、フレームワークのバージョン1.1から利用可能になりました。[3]バージョン2.0では、フレームワークのコアがScalaで書き直されました。ビルドとデプロイメントはSBTに移行され、テンプレートはApache Groovyの代わりにScala [4]を使用します。
歴史
Playは、ソフトウェア開発者のGuillaume BortがZengularity SA(旧Zenexity)で働いていたときに作成されました。[5]初期のリリースはオンラインでは入手できなくなりましたが、2007年5月まで遡ってPlayが存在していたという証拠があります。 [6] 2007年には、プロジェクトのプレリリースバージョンがZenexityのWebサイトからダウンロード可能でした。[7]
モチベーション
PlayはASP.NET MVC、Ruby on Rails、Djangoに強く影響を受けており、これらのフレームワークファミリーに似ています。PlayのWebアプリケーションは、 Java Enterprise Edition中心ではない環境でScalaまたはJavaで記述できます。PlayはJava EE制約を使用しません。これにより、他のJava中心のプラットフォームと比較してPlayの開発が簡単になります。[22]
Play 1.xはWARファイルとしてパッケージ化して標準のJava EEアプリケーションサーバーに配布することもできましたが、[23] Play 2.xアプリケーションは組み込みのAkka HTTPまたはNetty Webサーバーのみを使用して実行されるように設計されています。
Javaフレームワークとの主な違い
- ステートレス: Play 2 は完全にRESTfulです。接続ごとに Java EE セッションはありません。
- 統合ユニット テスト: JUnitおよびSelenium のサポートがコアに含まれています。
- API には、必要な要素のほとんどが組み込まれています。
- 非同期I/O : PlayはWebサーバーとしてAkka HTTPを使用しているため、Servlet 3.0が提供する非同期サポートを使用しないJava EEフレームワークのようにビジネスロジックを実行するHTTPスレッドを拘束するのではなく、長いリクエストを非同期で処理できます。[24]
- モジュラーアーキテクチャ: Ruby on Rails や Django と同様に、Play にはモジュールの概念が組み込まれています。
- ネイティブ Scala サポート: Play 2 は内部的に Scala を使用しますが、Scala API と、Java の規則に合うように意図的にわずかに異なる Java API の両方を公開しており、Play は Java と完全に相互運用可能です。
テストフレームワーク
Play は、Scala と Java アプリケーションの両方の単体テストと機能テスト用のテスト フレームワークとの統合を提供します。Scala の場合、Scalatest および Specs2 との統合がすぐに使用可能で、Java の場合、JUnit 4 との統合があります。両方の言語で、Selenium (ソフトウェア)との統合もあります。SBTはテストの実行とレポートの生成に使用されます。scoverage や jacoco4sbt などの sbt プラグインを使用して、コード カバレッジ ツールを使用することもできます。
使用法
2011年8月、Herokuはクラウドコンピューティングプラットフォーム上でPlayアプリケーションのネイティブサポートを発表しました。[25]これは、 Google App EngineでのPlay 1.0のモジュールベースのサポートと、Amazon Web Servicesでの文書化されたサポートに続くものです。[26]
2013年10月時点で[アップデート]、Play FrameworkはGitHub上で最も人気のあるScalaプロジェクトでした。[27]
2015年7月、Playは64,562のライブラリに基づいて、GitHubで3番目に人気のあるScalaライブラリでした。上位のScalaプロジェクトの21.3%がPlayをフレームワークとして使用していました。[28]
Play Frameworkの企業ユーザーには、Coursera、HuffPost、Hootsuite、Janrain、LinkedIn、Connectifierなどがある。[29]
参照
文学
- ウェイン・エリス(2010)Play Frameworkの紹介[30]
- アレクサンダー・リールセン(2011年) 。Play Framework Cookbook。Packt Publishing。ISBN 1849515522。 [31 ]
- ピーター・ヒルトン、エリック・バッカー、フランシスコ・カネド(2013年)。『Play for Scala』。マニング。ISBN 9781617290794。
- アンディ・ペトレラ (2013)。Learning Play ! Framework 2。Packt Publishing。ISBN 978-1-78216-012-0。
- ニコラ・ルルー。シエツェ・デ・カペル (2014)。Java でプレイします。マニング。ISBN 978-1617290909。
- ジュリアン・リチャード=フォイ(2014)。Framework Essentials をプレイします。パックト出版。ISBN 978-1783982400。
- Shiti Saxena (2015)。Scala用 Play フレームワークの習得。Packt Publishing。ISBN 978-1783983803。
- Alexander Reelsen、Giancarlo Inductivo (2015)。Play Framework Cookbook (第 2 版)。Packt Publishing。ISBN 978-1783982400。
- プレムクマール・カルナカラン(2020)。Play フレームワーク(第 2 版) の紹介。アプレス。ISBN 978-1-4842-5644-2。
参考文献
- ^ “リリース 3.0.3”. 2024年5月7日. 2024年5月9日閲覧。
- ^ 「Playing with Play Framework for Java - @codemonkeyism」。Codemonkeyism.com。2010年3月22日。2010年5月29日時点のオリジナルよりアーカイブ。2018年7月31日閲覧。
- ^ 「Playフレームワークの実践 - Devoxx09 - Devoxx」。2009年10月13日。2009年10月13日時点のオリジナルよりアーカイブ。2018年7月31日閲覧。
- ^ 「playframework/twirl」。GitHub 。 2018年7月31日閲覧。
- ^ ボルト、ギョーム。 「ギョーム・ボール – ソフトウェアデザイナー」。ギョーム.ボルト.fr 。2018 年7 月 31 日に取得。
- ^ 「Google グループ」。groups.google.com。2018年7 月 31 日閲覧。
- ^ “Play!”. 2007年10月29日. 2007年10月29日時点のオリジナルよりアーカイブ。2018年7月31日閲覧。
- ^ “~play-developers/play/1.0 : リビジョン 1”. Bazaar.launchpad.net . 2018年7月31日閲覧。
- ^ 「ダウンロード」。Playframework.org。2013年1月17日時点のオリジナルよりアーカイブ。 2018年7月31日閲覧。
- ^ "releasenotes-1.1 - 1.1". Playframework.org . 2012年6月6日時点のオリジナルよりアーカイブ。2018年7月31日閲覧。
- ^ 「モジュール」。Playframework.org 。 2012年4月4日時点のオリジナルよりアーカイブ。2018年7月31日閲覧。
- ^ "releasenotes-1.2 - 1.2". Playframework.org . 2012年3月22日時点のオリジナルよりアーカイブ。 2018年7月31日閲覧。
- ^ “Philosophy - 2.0”. Playframework.org . 2012年5月26日時点のオリジナルよりアーカイブ。2018年7月31日閲覧。
- ^ 「Typesafe Stack 2.0 の紹介 - @lightbend」。Blog.typesafe.com。2018年7 月 31 日閲覧。
- ^ 「ハイライト - 2.1.0」。Playframework.com 。 2018年7月31日閲覧。
- ^ 「ハイライト - 2.7.x」。Playframework.com 。 2019年3月3日閲覧。
- ^ 「ハイライト - 2.8.x」。Playframework.com 。 2020年2月29日閲覧。
- ^ リリース 📣 Play 2.9.0 · playframework/playframework
- ^ 「Highlights29 - 3.0.x」。playframework.com 。 2023年11月8日閲覧。
- ^ リリース 📣 Play 3.0.0 · playframework/playframework
- ^ “Highlights30 - 3.0.x”. playframework.com . 2023年11月8日閲覧。
- ^ Play! Framework のユーザビリティ 2011-07-13 に Wayback Machineでアーカイブ
- ^ 「Thomas Heute のブログ: JBoss AS 7 の Play Framework -JBoss Developer」。community.jboss.org。2018年7月 31 日閲覧。
- ^ 「Playフレームワークと非同期I/O」。engineering.linkedin.com 。 2018年7月31日閲覧。
- ^ 「Play! on Heroku」。Blog.heroku.com。2016年8月24日。 2018年7月31日閲覧。
- ^ 「Play-ing with Amazon RDS」。Ibm.com。2011年7月19日。 2018年7月31日閲覧。
- ^ 「GitHub: スター数>1を検索」。GitHub 。 2013年10月5日閲覧。
- ^ 「2015 年のトップ 100 Scala ライブラリ - 64,562 の GitHub ライブラリに基づく>1」。2015 年 8 月 15 日時点のオリジナルよりアーカイブ。2015年7 月 19 日閲覧。
- ^ Inc、Lightbend。「ブログ投稿 | play-framework | @lightbend」。Lightbend 。2022年9月11日閲覧。
{{cite web}}:|last=一般的な名前があります (ヘルプ) - ^ 「Play Framework の紹介」The-play-book.co.uk。2014 年 5 月 17 日時点のオリジナルよりアーカイブ。2018 年7 月 31 日閲覧。
- ^ 「Play Framework Cookbook - PACKT Books」。Packtpub.com 。 2014年3月13日時点のオリジナルよりアーカイブ。 2018年7月31日閲覧。
外部リンク
- Play Framework ホームページ
