FMXLinuxアプリケーションは、Webブラウザ でHTML5のWebアプリケーションとして実行することができます。このブログでは、WSL2を使用してFMXLinuxをUbuntuへWeb配置する方法について解説します。
DelphiのFMXLinuxを配布する最も簡単な方法は、Windows Subsystem for Linux(WSL)を使用することです。 Windows 10バージョン 2004(ビルド19041)の時点で、WSL2には完全なLinuxカーネルが含まれているため、デバッグなども含めてすべて期待どおりに機能します。
Table of Contents
1. WSL2をインストール
WSL2を使用する場合にはWindows 10 バージョン2004(May 2020 Update ビルド番号 19041)への更新が必要です。Windows 10のシステム情報からOSビルド番号が確認できます。
- Windowsメニューの[Windows システムツール]-[コントロールパネル]を選択
- コントロールパネルの[プログラムと機能]を選択 (表示方法が大きいアイコンの場合)
- [Windowsの機能の有効化または無効化]を選択
- 機能の一覧から[Linux用 Windows サブシステム] にチェックオン
- WSL2をインストール後、OSを再起動
2. Microsoft Store経由でUbuntuをインストール
バージョン番号のないUbuntuは現在のLTS版で、今後アップデートされます。同様にMicrosoft Store経由で他のディストリビューション(Kali、Pegwin、Alpine WSLなど)もインストールできますが、Ubuntuとはどれも少し異なります。
3. Ubuntuの起動
Windowsのスタートメニューまたは PowerShell/ターミナル/CLI ウィンドウから WSL もしくは Ubuntu コマンドを使用して起動します。複数のLinuxをインストールしている場合は、WSLはデフォルトのLinuxを起動します。 初めて起動するときは、数分かかることに注意してください。そして新しいLinux資格情報の入力を求められます。
4. SetupUbuntu4Delphi21.shを実行
Delphiからターゲットにする準備をするために、Ubuntuのすべてのセットアップを行うスクリプトをgistで作ってみました。wgetを使用してダウンロードするか、コマンドを手動で入力することができます。ホームフォルダに pa21.sh というスクリプトファイルを作成し、PAServer を起動します。これを変更して、デフォルトの設定を渡すことができます。
[crayon-6768d8986f891469302370/]5. GetItからFMXLinuxをインストール
6. broadwayd サーバーの実行
上記のスクリプトによる起動で、既にPAServerを実行しているはずですが、broadwaydを起動できる新しいUbuntuターミナルウィンドウが必要になる可能性があります。新しいWindowsターミナルを使用すると、複数のタブを簡単に開くことができ、WSLとうまく統合できるのでお勧めします。
7. Delphi IDEでLinux SDKをインポート
Delphi IDEのメインメニューの[ツール]-[オプション]-[配置]-[SDKマネージャ]でLinuxで実行しているPAServerへ接続します。 PAServerのIP アドレスは、 localhost / 127.0.0.1 ですので、WSLインスタンスとホストOSであるWindows 10との間でポートを共有していることに注意してください。
あとは、FireMonkyプロジェクトを実行して、Webブラウザからlocalhost:8080に接続するだけです。
1つだけ留意すべきことは、各クライアントのサーバー上で実行されているアプリの1つのインスタンスがあり、それぞれが独自のポート番号を持っているということです。 ちょっとした工夫でサーバー上で管理する方法もありますが、その方法はまた別ブログ記事で紹介いたします。
関連情報
http://docwiki.embarcadero.com/RADStudio/Sydney/ja/FireMonkey_for_Linux