| 原作者 | ioレベル |
|---|---|
| 開発者 | .NET ファウンデーション |
| 初回リリース | 2016年7月18日.: [1] |
| リポジトリ |
|
| 書かれた | C# [2] |
| ライセンス | アパッチ2.0 [3] |
| Webサイト | ピーチパイ |
PeachPie は、.NET Frameworkおよび.NET用のオープンソースの PHP 言語コンパイラおよびランタイムです。Microsoft Roslynコンパイラ プラットフォーム上に構築されており、第 1 世代のPhalangerプロジェクトに基づいています。PeachPie は、 PHPで記述されたソース コードをCILバイトコードにコンパイルします。PeachPie は、コンパイル プロセスの開始を処理するために、.NET Framework の JIT コンパイラ コンポーネントを活用します。その目的は、ネイティブ コードを生成または最適化することではなく、 PHPスクリプトを CIL コードとメタデータを含む .NET アセンブリにコンパイルすることです。2017 年 7 月、このプロジェクトは.NET Foundationのメンバーになりました。[4]
起源
PeachPieのアーキテクチャは、もともとチェコ共和国プラハのカレル大学の授業として始まったPhalangerプロジェクト[5]に似ています。[6] [7] Roslyn APIを利用して、Microsoftの.NETコンパイラプラットフォームであるRoslyn上に実装されました。2016年以来、チェコの企業iolevelがPeachPieの開発を主導しています。[要出典]
PeachPie には、Roslyn API とコンパイラの作り直されたアーキテクチャの両方の結果として、Phalanger よりもいくつかの利点があります。Phalanger はWindowsでのみ実行される完全な.NET Frameworkのみをターゲットにすることができ、クロスプラットフォーム機能はMono をターゲットにすることで実現しましたが、PeachPie では.NETへのコンパイルも可能であるため、デフォルトでクロスプラットフォームになっています。 [8]現在までに公開されたベンチマークは、PeachPie が前身と比較してパフォーマンスが向上していることを示しています。[9] [ 10] [11] このプロジェクトには高度なセマンティック分析が含まれており、これによりコンパイラは C# のようなシンボルを生成して相互運用性機能を強化します。 PeachPie と、特別に設計された仮想マシン上で PHP を実行するFacebookのHHVMコンパイラには類似点があります。 ただし、Facebook が 2017 年後半に発表したように、HHVM のバージョン 3.24 は PHP と互換性のある最後のリリースとなり、プロジェクトは Hack と呼ばれる Facebook 独自の PHP 拡張機能のサポートにのみ焦点を当てることになります。[12]これにより、PeachPieは、PHPの過去および将来のバージョンと互換性を持つことを志向する唯一のプロジェクトとなりました。[要出典]
このプロジェクトはマイクロソフトから多大な支援を受けており、[13]仮想会議 .NET Conf [14] [15]に招待され、マイクロソフトの「On .NET」[16] [17]や .NET Rocks ポッドキャスト[18]でも取り上げられています。2017 年 7 月以来、PeachPie は .NET Foundation のメンバーとなっています。2018 年 12 月、iolevel は欧州イノベーション評議会のHorizon2020助成金を受け、PeachPie コンパイラの開発を進めています。[19] [20] [21]
目的
このプロジェクトではいくつかの主な目標が挙げられている: [22] [23]
- パフォーマンス: PHPコードはCILにコンパイルされ、その後解釈されるのではなく実行されるため、理論的にはパフォーマンスが向上するはずです。[24]著者らが実施したマイクロベンチマークでは、個別のケースで標準のPHPよりもパフォーマンスが向上することが示唆されており[25]、テストではプロジェクトがAzure上でPHPコードを約2倍の速度で実行できることが示されています。[26] TechEmpowerプレーンテキストベンチマークを使用して測定されたところ、PeachPie上で実行されているWordPressは1秒あたり305,612件のリクエストを処理できましたが、[27]標準のPHPは1秒あたり45,616件のリクエストを処理しました。[28] PeachPieは定期的に公開されているTechEmpowerベンチマークラウンドの一部でもあり[29] [検証に失敗]、2019年の時点で、PeachPieはベンチマークに登場する他のどのPHPフレームワークよりも高速です。[30] [非一次ソースが必要] Phalangerは、 32ビットWindowsバージョンのPHP 5.4よりもかなりのパフォーマンス上の利点も提供しました。[31] [32] [33]
- 相互運用性:このプロジェクトでは、PHPと.NET言語間の相互運用が可能です。その結果、C#ラムダをPHPコンテキストに挿入したり、C#でPHPクラスを継承したりするなど、通常とは異なる操作が可能になります。[34]したがって、ユーザーはPHPライブラリを.NETプロジェクトで利用することができ、その逆も可能です。[35]
- 追加のセキュリティ:PeachPieはすべてのソースコードを1つのDLLファイルにコンパイルするため、アプリケーションは元のソースコードなしで配布できます。PeachPieプロジェクトでは、PHPアプリケーションとフレームワーク全体を標準の.NET DLL形式にコンパイルし、たとえばNuGetパッケージとして配布できます。[36]
- クロスプラットフォーム機能:PeachPieは、通常の.NET Framework、 Xamarin、Monoと互換性があり、Windows、MacOS、Linuxで動作する.NETをターゲットにすることができるため、[37] .NETを実行できるすべてのデバイスとオペレーティングシステム向けにPHPアプリケーションを開発できます。
サポートされているアプリケーション
2019年現在、公式にテストされサポートされているアプリケーションには、WordPress [38] [7] [39] MediaWiki [ 40] Wikipediaページを実行するソフトウェア、CodeIgniter [41]などがあります。さらに、オープンソースコミュニティのメンバーによる回避策により、他の多くのPHPフレームワークやプログラムも動作することが確認されています。たとえば、Laravel [ 42] WooCommerce [43]やMagento [44]などです。
参照
参考文献
- ^ iolevel (2016年7月18日). 「PeachPie コンパイラ プレリリース」. GitHub . 2017年2月10日閲覧。
- ^ 「PeachPie リポジトリ」. github.com . [iolevel]. 2017 年 2 月 10 日. 2017 年2 月 11 日閲覧。
- ^ "iolevel/peachpie: ライセンス". github.com . [iolevel] . 2017年2月11日閲覧。
- ^ Galloway, Jon (2017-07-25). 「Peachpie コンパイラ プラットフォームが .NET Foundation にようこそ」. .NET Foundation。
- ^ Yegulalp, Serdar (2016-03-14). 「Peachpie コンパイラは PHP を .Net に導入することを目指しています」。InfoWorld。2020年 9 月 23 日閲覧。
- ^ phpcompiler (2011-05-04)、Phalanger: PHP .NET コンパイラが公開されました (1/2) 、2017-02-08取得
- ^ ab Hughes, Matthew (2017-02-28). 「この会社は、Wordpress を .Net 上で実行する方法を見つけました」。The Next Web。2018年 6 月 16 日閲覧。
- ^ 「.NET Core Framework - .NET Framework でクロスプラットフォームを実現」。msdn.microsoft.com。2017年 2 月 11 日閲覧。
- ^ de Icaza、ミゲル (2012-03-12)。 「Phalanger の Mono/.NET アップデートに関する PHP」。ティラニア.org 。2017 年 2 月 11 日に取得。
- ^ Adams, Ben (2017-03-11). 「Peachpie Plaintext Benchmark」. Github .
- ^ 「第 16 ラウンドの結果 - TechEmpower フレームワーク ベンチマーク」。2018 年 6 月 6 日。
- ^ Krill, Paul (2017-09-20). 「PHP は忘れてください! Facebook の HHVM エンジンが Hack に切り替わりました」InfoWorld . 2019-04-28閲覧。
- ^ Millar, Ethan (2016-05-11). 「Peachpie コンパイラが PHP で .Net 開発テクノロジーを活用する方法 - Web 開発チュートリアル」。Web開発チュートリアル。2018年 10 月 16 日閲覧。
- ^ Microsoft Visual Studio (2017-09-20)、Peachpie を使用して .NET Core 上で PHP を実行する、 2018-10-16取得
- ^ Code Mantisa (2018-09-18)、S303 - PeachPie との高度な C# PHP 相互運用性、Jakub Misek 著、 2018-10-16取得
- ^ 「Benjamin Fistein & Jakub Míšek - .NET 用 Peachpie PHP コンパイラ」。Channel 9。2018年 10 月 16 日閲覧。
- ^ 「Peachpie」. Channel 9 . 2018年10月16日閲覧。
- ^ “.NET Rocks! vNext”. .NET Rocks! . 2018年10月16日閲覧。
- ^ 「欧州イノベーション評議会中小企業インストルメントフェーズ1」( PDF) ec.europa.eu 2018年11月。
- ^ 「EIC SME Instrumentデータハブ」sme.easme-web.eu . 2019年2月2日閲覧。
- ^ スクーパ、アデラ (2019-01-18)。 「Inovativní nápady českých firem podpoří EU. Peníze dostane rehabilitační nástroj pro lidi po mrtvici či nástroj PeachPie, který ocenil i Microsoft」。Hospodářské noviny (チェコ語) 。2019 年 2 月 2 日に取得。
- ^ 「.NET Foundation」。dotnetfoundation.org 。 2018年10月16日閲覧。
- ^ Ben Yacoub、Hatem (2017-02-16)。「Peachpie、.NET 用の PHP コンパイラおよびランタイム」。PHP Magazine Network。2018年 10 月 16 日閲覧。
- ^ Yegulalp, Serdar. 「Peachpie コンパイラは PHP を .Net に導入することを目指しています」。InfoWorld。2018年 10 月 16 日閲覧。
- ^ 「ベンチマーク – Peachpie」www.peachpie.io . 2017年2月8日閲覧。
- ^ クローゼ、アン・キャスリン (2017-09-04)。 「ピーチパイ: .NET を使用した PHP コンパイラによる Wordpress」。entwickler.de (ドイツ語) 。2018年10月16日に取得。
- ^ Adams, Ben (2019年5月27日). 「Peachpie ベンチマーク」. GitHub .
- ^ 「第13ラウンドの結果 - TechEmpower」。TechEmpower。
- ^ 「TechEmpower Framework ベンチマーク」www.techempower.com . 2018 年 6 月 16 日閲覧。
- ^ “Ben Adams on Twitter”. Twitter . 2018年6月16日閲覧。
- ^ 「ベンチマーク」v1.php-compiler.net . 2017年1月20日時点のオリジナルよりアーカイブ。2017年2月12日閲覧。
- ^ 「Phalanger: PHP に Mono、.NET を詰め込む - Phoronix」www.phoronix.com 。 2017 年 2 月 12 日閲覧。
- ^ 「Phalanger by DEVSENSE」v4.php-compiler.net . 2017年2月13日閲覧。
- ^ Vaggalis, Nikos (2016 年 10 月 24 日). 「Peachpie オープンソース PHP から .NET コンパイラ」. i-programmer.info . 2017 年 4 月 8 日閲覧。
- ^ Peipman, Gunnar. 「.NET Core での PHP アプリケーションの実行 - DZone Web Dev」。dzone.com。2018年 10 月 16 日閲覧。
- ^ Hanselman, Scott. 「WordPress 全体を .NET Core と PeachPie による NuGet パッケージにコンパイル - Scott Hanselman」。www.hanselman.com。2018年 10 月 16 日閲覧。
- ^ Richlander. 「.NET Core ドキュメント」. docs.microsoft.com . 2017 年 2 月 8 日閲覧。
- ^ Hanselman, Scott. 「Peachpie - ASP.NET Core で .NET および WordPress を実行するためのオープン ソース PHP コンパイラ - Scott Hanselman」。www.hanselman.com。2018年 6 月 16 日閲覧。
- ^ "Mozilla と BrowserStack および Symfony のアップデートのパートナー". entwickler.de (ドイツ語)。 2017-03-06 。2019年4月28日に取得。
- ^ 「Peachpie @ PeachPie で .NET 上に MediaWiki を設定する | PHP コンパイラから .NET へ」www.peachpie.io 2018 年 2 月 26 日2018 年 6 月 16 日閲覧。
- ^ 「Performance Progress Report @ PeachPie | PHP コンパイラから .NET へ」www.peachpie.io 2018 年 6 月 4 日2018 年 6 月 16 日閲覧。
- ^ Baart、Calvin (2019-04-18)、GitHub - calvinbaart/laravel-peachpie-sample 、 2019-04-28取得
- ^ Llewellyn、Dani (2019-04-26)、GitHub - Diddledani/net.WordPress.plugin.woocommerce 、 2019-04-28取得
- ^ Tobi (2018-08-28)、このプロジェクトは Magento 1.9.3.8 をミラーリングし、peachpie (https://www.peachpie.io/) 経由で .net にコンパイルしようとします。これを行う過程で、「コア ハック」と呼ばれるいくつかの修正が必要になります。、2019-04-28取得
{{citation}}:外部リンク(ヘルプ)|title=
