タグ付けされた質問 「progressive-web-apps」

2
Androidでのプログレッシブウェブアプリの機能とネイティブアプリ、またはその逆の機能[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 この質問を改善する 2015年、GoogleはAndroid向けのWebアプリを開発するための新しいアプローチ、プログレッシブWebアプリを導入しました。ネイティブアプリケーションのように見えるアプリケーションを作成し、カメラや加速度計などのデバイスのハードウェアを使用したり、プッシュ通知を受信したり、ランチャーアイコンを表示したり、オフラインで作業したり、ローカルデータを保存したりできます。 Androidでは、ネイティブアプリが提供する機能のうち、プログレッシブウェブアプリがサポートしていない機能、およびその逆の機能はどれですか。

7
HTTP経由でService Workerをテストするためのオプション
Service Workerをテストしたいのですが、仮想ホストがセットアップされていて、localhostでhttpsを有効にできないようです。 ローカルホストでService Workerを登録しようとするたびに、Service Virtual Workerをテストするためにローカル仮想ホストのURLをホワイトリストに登録するにはどうすればよいですか?Chromeでは、Service Workerを有効にするにはhttpsが必要であると述べています。どうすれば、少なくともローカルテストでこの制限を回避できますか。

2
ユーザーがタブを離れた後、または画面をオフにした後、ブラウザーがタイマーとWebSocketの切断をスロットルするタイミングを検出するにはどうすればよいですか?(JavaScript)
環境 タイマー(setTimeout、setInterval)とWebSocket接続を備えたプログレッシブWebアプリとして出荷されるゲームは、リアルタイムの通信を取得します。 何が起こっている ユーザーがアプリにとどまっている限り、すべてが正常です。しかし、ユーザーが別のタブや別のアプリに移動したり、画面をオフにすると(モバイルの場合)、それは「地獄のような未知の世界」になります。 WebSocketが「一時停止」または「オフ」になる場合とされない場合があります。 タイマーはスロットルまたはデバウンスされているように見えます。 この動作はブラウザとプラットフォームに依存しているようで、特定のユーザーの動作にも依存しているようです。ブラウザーやOSには、バッテリーや計算を節約するための独自のライフサイクル/メカニズムがあると思います。 ユーザーが戻ったとき、アプリは不明な状態にあり、状態を適切に復元するのに苦労しています。 websocketに関しては、socket.ioとの自動再接続とreconnecting-websocketがありますが、すべてを解決するには十分ではありません。 答えを探しています これらに関するさまざまなブラウザの「ライフサイクル」は何ですか?これは文書化されていますか?彼らはいつオフにしてスロットルすることを決めますか? 彼らはウェブソケットに対して正確に何をしますか?ブラウザはそれらを切断するだけですか? 彼らはタイマーに対して正確に何をしますか?彼らはそれらを抑制したり、それらをデバウンスしたりしますか? JavaScriptの実行は一般にどうなりますか?一時停止/破棄/スロットル? 何かをオフにするときに、ブラウザのライフサイクルイベントにフックする方法はありますか?私が見つけることができる唯一のものは可視性APIかもしれません ソリューションをテストできるように、この動作を人工的に再現する方法はありますか?デスクトップでは特に難しいです。WebSocketをオフにすることはできず、Chromium開発者は2014(!)の問題を急いで支援しているようには見えません:接続スロットルを使用する場合、WebSocketは含まれません 上記に関係なく、この問題を検出/解決する実用的なクロスブラウザソリューションはありますか?(たとえば、経験から、デスクトップ上のFirefoxはChromeと比べて動作がまったく異なるようで、iPhoneはAndroidよりはるかに頻繁に切断されます) 関連リンク Safariは、ページがフォーカスされていないときに非アクティブのためにWebソケット接続をドロップします

1
PWAアプリケーションのJavaScriptを使用してデバイスレベルの通知をオンまたはオフに検出する方法
私の要件は、JavaScriptを使用してAndroidデバイスでデバイスレベルの通知のオン/オフを検出する方法です(このプラグインがPWAアプリケーションをサポートしている場合にのみプラグインを使用できるプラグインは使用しないでください)。 通知がオフの場合と同様に、ポップアップをユーザーに表示する必要があるので、通知を受け取る通知機能を有効にしてください。 以下の回答は、探偵のブラウザレベルの通知専用です。どなたかご存知の方どうしたらいいか正確に答えてください。なぜなら、私はそこで止まりました。 ユーザーがここで画像を確認してください。ユーザーが一度無効にすると、通知を送信できません。

3
iOSスタンドアロンPWA入力キャプチャ
スタンドアロンモードで実行されているPWAに関して、iOS 13.2 / 13.3でリグレッションを見つけたと思います。 iOSではPWAがgetUserMedia()にアクセスできないため、HTML5入力タグのキャプチャ属性に依存して、ユーザーが写真を撮ってサーバーに送信できるようにします。 コードは次のようになります。 <div class="camera-upload"> <input type="file" class="hidden" name="uploadPhotoInput" accept="image/*" capture="environment" (change)="onTakePhoto($event)"> <button type="button" class="btn btn-primary">Take photo</button> </div> iOS 13.1以下のデバイスでスタンドアロンモードでPWAを実行すると、すべてが期待どおりに機能します。SafariでブラウザモードでPWAを実行すると、iOSのバージョンに関係なくすべてが機能します。 iOS 13.2または13.3を搭載したデバイスでPWAを実行すると、PWAをバックグラウンドにしてから再びフォアグラウンドにするまで機能が動作します。PWAがバックグラウンドに送信された後、キャプチャはカメラを起動しますが、プレビューは真っ黒です。すべてのカメラコントロール(フラッシュなど)は機能しますが、写真は撮られません。 XCodeコンソールロガーを接続してテストを実行したところ、アプリがバックグラウンドで1回起動された後でAVCaptureSessionを開始できないようです。 次に、デバイスログのトレースを示します。 https://pastebin.com/qGZpN6dM Angular 8でPWAを構築しています。 誰かがこのようなものを見たか、私たちにヒントを与えることができますか?

1
PWAアプリをアプリストアおよびPlayストアに公開できますか?
ユーザーがモバイルデバイスにインストールできるように、最終的にPWAに変換されるReact JS Webアプリを作成しています。次に、クライアントは、これらのPWAアプリをアップルストアおよびグーグルストアにプッシュする方法を見つけるように求めます。したがって、私の質問は、Progessive Web Appsをapkまたはipaファイルとして変換して、アップルストアまたはプレイストアに配置できるツールがあるかどうかです。 私は少しグーグルしましたが、一部はそれが可能であると言う人もいれば、Appleストアでは不可能だと言う人もいるので、今は混乱しています。PWABuilderのようないくつかのツールも見ましたが、どれを使用するのが適切か、またPWAアプリをアプリストアとPlayストアに公開できるかどうかはわかりません。 これに関するどんな助けでも非常に感謝します。 ありがとう

1
ネットワーク依存のWebアプリからネットワーク非依存のWebアプリへ
私はフルスタックのWeb開発者であり、現在は主に角のようなフロントエンドフレームワークとスプリングブートのようなバックエンドフレームワークを使用して単一ページアプリを構築しています。 通常、私のWebアプリの設計(CRUDだとしましょう)は次のとおりです。更新ページにいて、エンティティを更新するとします。次に、データベース内のエンティティを更新するリクエストがバックエンドに送信されます。バックエンドが応答してすべてが問題ないことを通知すると、エンティティは更新されました(ステータスコード200)次のページに進みます。これはentityName/{id}、エンティティのIDをURLを介して次のページに渡す場所など、URLを含む読み取りページです。次に、読み取りページでそのIDを取得し、バックエンドにリクエストを送信し、エンティティデータを取得して表示します。 この問題は、ユーザーがインターネットへの接続を失ったときに発生するため、バックエンドへのリクエストを実行できず、その結果、データをUIに表示したり、更新したりできません。 他のデザインはこれです:私は更新ページにいて、エンティティを更新します。リクエストはバックエンドに対して行われますが、状態もクライアント側で保持されています。したがって、接続が失われたとしましょう。読み取りページに移動して、更新されたエンティティを表示できます。さらに、状態/データはクライアント側に保持されるため、エンティティがクライアント側に存在するため、IDからエンティティを取得するためにバックエンドに2番目のリクエストを行う必要はありません。ユーザーがアプリに費やした時間の間に接続が回復し、更新要求がサーバーに対して行われ、データベースとクライアント側のデータが同期されます。 UIは、バックエンドに送信された情報を表示するための要求にあまり依存しないため、2番目の方法の方がユーザーにとって便利であるように思えます。 最初のアプローチが使用されていることはよく知っています。私はこのように開発しているので、私の質問は次のとおりです。最初の設計から2番目の設計に移行することは可能ですか。 2番目の設計を実装するには、サービスを使用してコンポーネント間でデータを共有します(angularで実装する場合)。このようにして、アプリの状態をクライアント側で保持できます。しかし、もっと良い方法があるかもしれません。アプリケーションの状態を管理するNgRxライブラリについて聞いたことがあります。クライアント側でアプリケーションの状態を管理するのに正しい方法ですか? また、接続が失われたときに作成できなかった要求が、接続が戻ったときに作成されることを確認するという2番目の問題もあります。そして私は疑問に思います:接続が戻ったときに要求をキューに入れて再実行できるツールを使用することは可能ですか?プログレッシブウェブアプリとService Workerの概念はありますが(Service Workerを使用してサーバーと交換されるデータをキャッシュできることを知っているような)概念しかありません。それがこの問題を解決する方法かどうか疑問に思いますか? 私の投稿に対するあなたのコメントを待っています。それが長すぎないことを願っています。前もって感謝します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.