ともすたmedia
PHPといえば、WordPressなどのサーバー言語としては人気があるものの、クライアントサイドのプログラム開発には利用できないことがネックでした。しかし今回PHPフレームワークである「Laravel」を用いてネイティブアプリケーションを構築可能にする 「NativePHP」 というプロジェクトが発動しました。

NativePHPは、LaravelとElectronの連携により、PHPによるデスクトップおよびモバイルアプリケーション開発を実現します。
Composerをインストールしよう
NativePHPを利用するには、PHPのパッケージマネージャーである「Composer」が必要です。まずは、ComposerのWebサイトにアクセスしましょう。
「Donwload」メニューをクリックすると、コマンドが表示されるのでこれをコピーしてターミナルに貼り付けます。

なお、PHPが動作する環境も必要となるのでこちらも別途準備しておきましょう。
Laravelのプロジェクトを作ろう
それではまずは、Laravelの新規プロジェクトを作成しましょう。まずは、Laravelのコマンドを利用できるようにします。ターミナルで次のように入力しましょう
composer global require laravel/installer

すると、「laravel」というコマンドが利用できるようになります。そしたら、Laravelのインストーラを用いて新規プロジェクトを作成します。
laravel new nativephp

プロジェクト作成時には、データベース(例:SQLite)やnpm依存のインストールについても確認されます。ここでは、最初に選択されている選択肢を選んでいきましょう。

NativePHPの導入
続いて、作成したLaravelプロジェクトのディレクトリで、NativePHPを導入します。
composer require nativephp/electron
続いて、以下のセットアップコマンドを実行することで必要な依存ファイルの取得と準備が整います。
php artisan native:install
npm i
インストールが終わったら、次のコマンドでElectronアプリケーションが起動できます
composer native:serve
Electronベースのネイティブウィンドウが起動し、PHPベースのUIアプリケーション開発が開始できます。

Kitchen-sinkを試してみよう
NativePHPでできる事を確認するには、デモプログラムである「Kitchen-sink」を使ってみると良いでしょう。

「Code→Download ZIP」をクリックしてZIPファイルを展開したら、次のコマンドでインストール作業を進めて起動しましょう。
composer install && npm i
composer native:dev
デモでは以下のような処理が確認可能です
- クリップボードの取得・操作
- ファイル選択ダイアログや保存ダイアログの呼び出し
- Dockアイコンの通知制御(バウンス処理)
- OSネイティブのアラート表示 など

Laravelらしいディレクトリ構成が保たれており、コントローラー、モデル、ビュー(Bladeテンプレート)を活用した開発が可能です。

利用料金とライセンス
NativePHPは有償ライセンス制となっており、現時点では以下のような価格設定がなされています
- Mini:$50/年
- Pro:$150/年
- Max:$250/年

なお、将来的には無料またはオープンソース版の提供も検討されている旨が公式FAQに記載されています。

現在、ReactやFlutterなどのフロントエンド技術が主流の中、既存のPHP/Laravelスキルを活かしてネイティブアプリを構築できるという点において、NativePHPは非常に魅力的な選択肢です。
PHP経験者で、これからデスクトップやモバイルアプリ開発にチャレンジしてみたい方には、一度試してみる価値があると言えるでしょう。