はじめに
Unifinity Application Player には、各OSにインストールして使うネイティブ版(iOS / Android / Windows)と、Webブラウザ上で動作するWeb版があります。
Web版は「インストール不要でブラウザさえあれば動く」可搬性が利点ですが、ブラウザのサンドボックス環境で動作するため、端末のハードウェアやOS機能に依存する一部の機能に制約があり、ネィティブ版と同等の機能を提供するものではありません。
本ガイドは、UnifinityアプリをWeb版で動かす際に、ネイティブ版と挙動が異なる点・利用できない点をまとめたものです。アプリ設計時の参考にしてください。
🛠 本ガイドの対象はアプリ開発者です。 Web版は、開発者がレイアウトなどを簡易的に確認するためのものです。エンドユーザーは基本的にネイティブ版でアプリを実行することを想定しています。
📌 Web版では、すべてのUnifinityアプリを実行できるわけではなく、限定的な機能を提供しています。 Webでアプリが起動しない、または正しく動作しない場合は、ネイティブ版アプリ「Unifinity Application Player」での実行をお試しください。
1. 動作環境・利用開始の違い
| 項目 | ネィティブ版 | Web版 |
|---|---|---|
| 動作環境 | iOS / Android / Windows にアプリをインストール | 最新のWebブラウザー (Chrome / Edge / Firefox / Safari)。WebGL 1.0対応が必須 |
| 配布・インストール | 各OSのアプリとして配布・インストール | インストール不要 |
| 配信方式 | 各プラットフォームストア・インストーラ | HTTPサーバ経由のアクセスが必須 |
| オフライン動作 | 可能 | 不可 (起動・UAP取得・通信時はオンライン必須。保存済データのみオフライン保持) |
2. アプリの読み込み方式の違い
| 項目 | ネィティブ版 | Web版 |
|---|---|---|
| アプリ起動 | アプリ一覧から選択して起動 | ポータルから起動 |
| アプリ内からのUAP管理 | UAPの一覧取得・更新・削除が可能 | 非対応 |
3. 機能差異一覧
凡例:○ 利用可 / △ 制約あり / ✕ 利用不可
デバイス・ハードウェア連携
| 機能 | ネィティブ | Web版 | 備考 |
|---|---|---|---|
| GPS / 位置情報 | ○ | ✕ | |
| Bluetooth (BLE) | ○ | ✕ | |
| NFC | ○ | ✕ | |
| COM (シリアル通信) | ○ | ✕ | |
| 電話発信 | ○ | ✕ | |
| バイブレーション | ○ | ✕ | |
| バッテリー残量・充電状態 | ○ | ✕ | |
| プッシュ通知受信 | ○ | ✕ | |
| iBeacon / Eddystone | ○ | ✕ | |
| サウンド再生 | ○ | ✕ | |
| 動画再生・録画 | ○ | ✕ | |
| 他アプリ連携 | ○ | ✕ | |
| 印刷 | ○ | ✕ | |
| 画面向き固定 (縦横固定) | ○ | ✕ | ブラウザーに依存 |
| カメラ撮影 | ○ | △ | ブラウザーのカメラで対応 |
| QRコード読取・生成 | ○ | △ | |
| 画像選択・読込み | ○ | △ | |
| メール作成 | ○ | ✕ | mailto: のみ。添付不可。 |
| ファイルを外部アプリで開く/PDF表示 | ○ | △ | ブラウザー別タブ表示。 |
| 端末ID取得 | ○ | △ | 固定値 |
| 電波状態取得 | ○ | △ | オンライン/オフラインのみ |
| 電話番号取得 | ○ | ✕ |
業務機能・連携
| 機能 | ネィティブ | Web版 |
|---|---|---|
| Excel操作 | ○(Windows) | ✕ |
| フォルダ選択ダイアログ | ○ | ✕ |
| ファイル選択ダイアログ | ○ | ✕ |
| 内部ブラウザー表示 | ○ | ✕ |
| PDF書き出し | ○ | ○ |
| タイマー | ○ | ✕ |
| 非同期実行 | ○ | ○ |
4. ネットワーク通信の違い
Web版の通信はブラウザーの通信で実装されており、ネィティブ版 (libcurl) と比べて以下の制約があります。
| 項目 | ネィティブ版 | Web版 |
|---|---|---|
| 通信中のUI | 別スレッドで実行、UIは操作可能 | 通信中はブラウザー画面が一時的にフリーズ |
| CORS制約 | なし | あり。クロスオリジンAPIはサーバー側で適切なCORSヘッダーを返す必要が有り、返さないAPIは呼び出せない |
| SMTP | ○ | ✕ |
| プロキシ設定 | ○ | ✕ |
| OAuth2 | ○ | ✕ |
| Keep-Alive等の詳細設定 | ○ | ✕ |
5. データ保存の違い
ネイティブ版はOSのファイルシステムにデータを保存するため恒久的に残りますが、Web版はブラウザのストレージ(IndexedDB)に保存します。このため、以下の点にご注意ください。
- プライベート/シークレットモードで使用すると、データが保存されない、またはタブを閉じると消える場合があります。
- ブラウザの「サイトデータ削除」「閲覧履歴の削除」を行うと、保存データがすべて消えます。
- ブラウザのストレージ容量上限(quota)を超えると保存に失敗することがあります。
- 保存処理の完了前にタブを閉じると、直前の変更が失われる場合があります。
- Playerの設定値・ログイン情報もブラウザ内(localStorage)に保存されます。
重要なデータは必ずサーバー側に保存・同期する設計を推奨します。 ブラウザのローカルストレージは一時的・端末依存のものとして扱ってください。
6. 画面表示・フォントの違い
- Web版は WebGL 1.0 を使用します。WebGL 1.0非対応の古いブラウザでは起動できません。
- 画面はアスペクト比を保ったまま自動でスケーリングされます(余白はレターボックス表示)。
- フォントはビルド時に同梱されたもののみ使用可能で、実行時の追加・動的ロードはできません。
- 現在同梱されているフォントでは、タイ文字・タミル文字など一部の言語のグリフが表示されない可能性があります。多言語アプリをWeb版で提供する場合は対象言語の表示確認を行ってください。
7. 入力操作の違い
- マルチタッチ・筆圧には非対応です(単一ポインタとして扱われます)。マウス操作とタッチ操作は同一に扱われます。
- ブラウザのウィンドウサイズ変更には自動で追従します。
8. その他注意事項
- 重い処理・通信はブラウザが一時的にフリーズします(Web版はシングルスレッドで動作するため)。長時間の待機処理は避けてください。
- アプリの「終了」操作は、ネイティブ版ではアプリが終了しますが、Web版ではファイル選択画面に戻る(または呼び出し元への通知)動作になります。
- 巨大な .uap ファイルや大容量データは、ブラウザのメモリ・ストレージ制限の影響を受けます。
9. よくある質問
- Q. ネイティブ版で動いていたアプリはそのままWeb版で動きますか?
- A. 画面・ロジック・DBの基本機能は共通エンジンで動作しますが、本ガイドの「✕」の機能を使用しているアプリは、該当部分が動作しません。事前に機能差異をご確認ください。
- Q. Web版で保存したデータはPCを変えても引き継がれますか?
- A. いいえ。データはブラウザごと・端末ごとに保存されます。端末をまたぐ場合はサーバー側での保存・同期が必要です。
- Q. 外部APIに接続できません。
- A. CORS制約の可能性が高いです。接続先APIがCORSに対応しているかご確認ください。