WebSQLの削除とそれがあなたの Mendix PWA
Chromiumベースのウェブブラウザ(Chrome、Edge、Android)は、31年2023月XNUMX日以降にリリースされるアップデートでWebSQLのサポートを終了します。これにより、オフラインファーストが発生します。 Mendix プログレッシブ ウェブ アプリケーション (PWA) はこれらのブラウザでは動作しなくなります。このブログでは、短期的には WebSQL のサポートを 2024 年 XNUMX 月まで延長し、長期的には別のストレージ テクノロジに切り替えることでこの状況を緩和する方法について説明します。
アップデート2(2024年XNUMX月):ChromiumベースのブラウザでのWebSQLの削除は、以下のバージョンで解決されています。 Mendix:
- Mendix 9.24.18
- Mendix 10.6.6
- Mendix 10.9.0
これらのバージョンまたはそれ以降のバージョンで構築されたオフラインファーストのプログレッシブウェブアプリ Mendix オフライン データの保存に WebSQL を使用しなくなりました。オフライン データベースは、ユーザーが更新されたアプリを初めて開いたときに自動的に移行されます。データの損失を避けるため、ユーザーのブラウザーで Chromium 124 が採用されて WebSQL が最終的に削除される前に移行が行われるようにしてください。
更新(2024年124月):Chromiumチームは、オリジントライアルを使用したWebSQLのサポートがバージョン16で廃止されることを発表しました。バージョンXNUMXはXNUMX月XNUMX日にリリースされる予定です。これは当初の発表よりXNUMXか月以上早いです。良い面としては、次の修正を最終調整中です。 Mendix WebSQLから移行し、今月リリースする予定です。 Mendix オフラインファーストPWAの場合は、最新バージョンにアップデートしてください。 Mendix 9.24 または 10.6 にアップデートしてください。修正のリリースが発表されたら、アプリケーションをそのバージョンにアップデートして公開してください。こうすることで、最終的なアップデートはシームレスになり、手動調整が不要になります。ユーザーについても同様です。修正は自動的に適用され、すべてのオフライン データが移行されます。ユーザーがブラウザをアップデートする前に、アプリにアクセスできるようにしてください。
Chromiumはオープンソースのウェブブラウザで、Google Chrome、Microsoft Edge、Androidオペレーティングシステムのデフォルトのウェブブラウザなど、多くの人気ウェブブラウザで使用されています。 このブログ記事Chromium を保守しているチームは、119 月 31 日にリリースされる Chromium 31 で WebSQL のサポートを中止すると発表しました。この変更は、上記のブラウザの将来のバージョンで、そのバージョンの Chromium に更新されるとすぐに採用されます。Chrome と Edge は頻繁に更新されますが、Android ウェブブラウザは通常、オペレーティングシステムの更新時にのみ更新されます。つまり、デバイスが XNUMX 月 XNUMX 日以降にリリースされた Android バージョンに更新された場合にのみ、変更が適用されます。
Mendix オフラインPWAナビゲーションプロファイルの119つを使用して、Webベースのオフラインファーストアプリの構築をサポートします。これらのアプリは、デバイスに同期され、オフラインで使用できるすべてのオブジェクトを保存するために、内部でWebSQLを使用します。したがって、ユーザーのWebブラウザがChromium XNUMXに更新されると、これらのアプリは動作しなくなります。ハイブリッドオフラインファーストアプリとネイティブアプリは、 Mendix 影響を受けません。
WebSQL のサポートの拡張
最初の対策として、アプリが Chrome または Edge から使用される場合は、WebSQL のサポートを拡張することをお勧めします。アプリが Android Web ブラウザ経由でのみアクセスされる場合は、これは必要ありません。この対策を実装するには、次の 2 つの手順が必要です。
- オリジントライアル「WebSQL」に登録してトライアルトークンを受け取ります。
- ウェブサーバーにカスタムヘッダーを追加します。 Mendix アプリケーション。
これらの手順については以下で詳しく説明します。
オリジントライアル登録
Origin Trials は Google と Microsoft によって管理されています。開発者は、これにより、Chromium ベースのブラウザで新しい機能を有効にしたり、削除された機能の拡張サポートをリクエストしたりできます。Google で Origin Trial に登録するには、次の手順に従ってください。
- トークンを登録するにはGoogleアカウントが必要です。アカウントをお持ちでない場合は、アカウントを作成してください。 こちら.
- アクセス オリジントライアル登録ウェブサイト ChromeからGoogleアカウントでログインします。
- WebSQL の試用版を見つけて、「登録」をクリックします。
- 「Web Origin」の下に、オフライン PWA を実行している環境の URL を入力します。
- 「サードパーティのマッチング」または「すべてのサブドメインに一致するトークンが必要」を選択しないでください。
- アプリの 1 日あたりの予想使用量を選択します。
- 下部にある 4 つのチェックボックスをオンにします。
- [登録]をクリックします。
- 変更を有効にするには、アプリを再デプロイして環境を起動します。
また、 MicrosoftのOrigin Trialに登録する両方を行う必要はありません (どちらのトークンも Chrome と Edge の両方の Web ブラウザーで機能します)。
Webサーバーの構成
Origin Trialを有効にしてWebSQLのサポートを拡張するには、上記で取得したトークンを、WebSQLの静的コンテンツを提供するWebサーバーにカスタムヘッダーとして追加する必要があります。 Mendix アプリケーション。
Origin-Trial: YOUR_TOKEN
手順は次のとおりです。 Mendix クラウド、NGINX、Microsoft IIS。
Mendix クラウド
- アクセス Mendix ポータル アプリを開きます。
- 左側のナビゲーションから「環境」を選択します。
- Origin Trial を有効にする環境の「詳細」をクリックします。
- 上部のタブバーから「ネットワーク」を選択します。
- HTTP ヘッダー セクションで [追加] をクリックします。
- 選択する
Origin-Trialリストからヘッダーとして選択します。 - 値フィールドに試用トークンを入力します。
- [保存]をクリックします。
- 変更を有効にするには、環境を再デプロイしてください。再起動だけでは不十分で、エラーが発生します。
Mendix CloudFoundry Buildpack と Docker Mendix ビルドパック
Mendix CloudFoundry ビルドパック と デッカー Mendix ビルドパック、同様のアップデートがあります Mendix クラウド ポータルの更新は 26 月 XNUMX 日に予定されています。
このアップデートにより、オリジントライアルを有効にすることができます。 HTTPレスポンスヘッダーの設定 このコマンドを使用して:
cf set-env <YOUR_APP> HTTP_RESPONSE_HEADERS '{"Origin-Trial": "YOUR_TOKEN"}'
nginxの
追加 add_header Origin-Trial "YOUR_TOKEN"; 場所へ Mendix クライアントファイルが提供される( YOUR_TOKEN 上記で取得したトークンを使用します。以下に完全な例を示します。
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
add_header Origin-Trial "YOUR_TOKEN";
try_files $uri $uri/ =404;
}
}
マイクロソフトIIS
続きます このガイド ウェブサイトにカスタムヘッダーを追加するには Mendix クライアントファイルの名前を Origin-Trial 値を試用トークンに設定します。その後、Web サーバーを再起動します。
トークンを検証する
Chrome と Edge が提供する開発者ツールで、トークンが受け入れられ、WebSQL が引き続き利用可能であることを確認できます。
- Chrome または Edge でオフラインファースト PWA を開きます。
- 開発者ツールを開きます (F12 キーを押します)。
- アプリケーションタブを選択します。
- 左側のリストで「フレーム」の下の「上部」を選択します。
- WebSQL が Origin Trials にリストされていることを確認します。
Outlook
私たちは、WebSQLをChromiumチームが提案した代替ソリューションに置き換える作業を進めています。このソリューションは近い将来にリリースされる予定です。 Mendix 9.24本、そして Mendix 10. 完了したらリリースノートでお知らせします。
ソリューションがリリースされ、オフライン ファースト PWA がそのバージョンに移行されると、オフライン データの保存に WebSQL に依存しなくなります。つまり、WebSQL オリジン トライアルは必要なくなり、トークンを削除できます。