NativePHPは文字通りネイティブPHPを意味し、ローカル環境で動作するPHPアプリケーションのことです。従来、PHPは長年ウェブ開発と結びついており、すべてのコードはリモートサーバー上で実行されてきました。NativePHPはこの仕組みを完全に一新します。開発者はこれを利用して、ネイティブデスクトップソフトウェアや、Android・iOS向けモバイルアプリを制作できるようになりました。
公式サイトはこちらからご覧ください:Baking Delicious Native Apps – NativePHP
ではNativePHPはどのように動作するのでしょうか?
仕組みは複雑ではなく、多くのアプリケーションと共通する基本的な考え方です。通常のPHPはリモートサーバーに配置されたインタプリタを利用しますが、NativePHPはPHPランタイムを最終的なEXEファイルやアプリインストーラーに直接同梱します。また、開発チームは同梱されたランタイムを調整し、パフォーマンスの向上を図っています。
以下が公式の構成図です:

NativePHPは完全なPHPランタイムをアプリと一体化します。モバイルアプリはSwiftまたはKotlinでラッピングし、デスクトップソフトウェアにはElectronを使用します。専用のブリッジ接続を介してハードウェア機能にアクセスし、内蔵のネイティブWebViewでアプリの画面を表示します。従来のPHPでコーディングを続けられ、拡張機能を追加するだけで端末のネイティブ機能と連携可能です。シンプルに言えば、すべてのPHPコードがユーザーの端末上でローカル実行されます。
左の構成図を見ると、すべてのNativePHPアプリはSwiftまたはKotlinのシェルコードで包まれ、内部に完全なPHPランタイムとカスタムPHP拡張機能が格納されています。
図内のカスタムPHP拡張機能は、PHPからシステムのネイティブ機能を呼び出すための中核要素であり、NativePHP専用に開発されたPHPプラグインです。PHPからのリクエストを受け取り、下位のSwift・Kotlinブリッジコードに転送して実際のシステムコマンドを実行。システムから返されたデータも、この拡張機能を経由してPHPに戻されます。
このカスタム拡張機能は必要不可欠です。これがなければNativePHPは成立せず、PHPでローカルアプリケーションを開発することもできません。
ユーザーはNative WebViewを通じてコンテンツを閲覧します。これはアプリに埋め込まれた軽量なブラウザエンジンで、PHPやHTMLページを読み込みます。完全なChromeではなく、完成したアプリに同梱されたブラウザコンポーネントとなります。
ここまででNativePHPの基礎を理解できたかと思います。まずモバイルアプリの開発方法を学び、その後デスクトップ開発に進んでいきます。