web-dev-qa-db-ja.com

プッシュ通知の概念-なぜそれがモバイルプラットフォームでしかできないのですか? OSX / Windows / Linux?

オペレーティングシステムレベルでは、モバイルオペレーティングシステムは、アプリがオンラインであるときはいつでも、プッシュ通知の概念またはアプリとのソケットレベルの「永続的」通信をサポートします。

なぜ主要なコンピューターオペレーティングシステム(OSX、Linux、Windows)が、より高いレベルの抽象化として、OSレベルでこのアイデアを採用したのですか。これはまだ確かにアプリで行うことができます。

モバイルデバイス(知識の有無にかかわらず)にプッシュされたものと、ラップトップまたはホームPCにプッシュされたものとを認識する方法に違いはありますか?

デスクトップアプリの場合と比べて、モバイルOSでアプリの「プライバシー」と権限構造がどのように定義されているかに関係がありますか?

5
FrailWords

term「プッシュ通知」はモバイルプラットフォームでのみ使用できます。 conceptはスマートフォンよりずっと前、携帯電話でさえずっと前にありました。

プッシュすると、データがあり、そのデータを別の場所に移動したいとします。

プルするときはデータがなく、どこかから取得したいとします。

問題は、「あなた」は誰ですか?プルがないとプッシュはありません。プッシュなしではプルはありません。それで、なぜそれをプッシュと呼ぶのですか?それは、アクティブな参加者がだれであるかについてです。その観点から移管について説明します。

Webページをロードすると、データがプルダウンされます。ウェブページは私にプッシュしています。しかし、私はこれがいつ起こったかを決定したので、私はこれにおける私の役割を説明します。プルの役割。

私がWebページに座ってコメントがポップアップ表示されるのを見るとき、コメントがいつ届くかは決めていませんでした。私はここに座っていました。私は積極的にそれらを引っ張っていませんでした。彼らは押されました。

Ajaxは、そのようなことを実現する1つの方法です。他の方法もありますが、それはウェブを支配しています。

オブジェクトの世界では、このトリックはイベントと呼ばれます。オブザーバーパターンを使用すると、オブジェクトに変更を通知できます。何度も聞きたくない。つまり、あなたから積極的に引っ張っています。私は受動的にここに座ってあなたからの連絡を待っています。

繰り返し要求/プルすることをポーリングと呼びます。不十分な場合、パフォーマンスに深刻な影響を及ぼします。データベースをポーリングするのではなく、メッセージングまたはキューイングシステムを使用することは、dbaを怒らせる良い方法です。

それよりずっと前にIRCがありました。 Enterキーを押すたびに、「通知」を互いにプッシュしました。その前にメールがありました。再び「通知」を互いに押し合います。

このすべての重要な要素は、何かを積極的にプッシュしたい場合は、受動的にプルする準備ができている必要があります。またはそれはどこにも行きません。

私の質問は、「パーソナライゼーション」の観点からも、「プライバシー」の観点からも多かったのです。なぜ、多くのMacまたはWindowsアプリが、非常に社会的でパーソナライズされた世界で通知を使用するこのルートを取らないのか、そしてその可能性はデスクトップOSとモバイルOSの間にはまだ考え方のギャップがあります。 – FrailWords

まあ確かに考え方のギャップがあります。ほとんどの場合、PCへの期待はずっと前に設定されており、キックやスクリーミングを繰り返した後、期待はゆっくりと変化します。

基本的な違いは、モバイルプラットフォームでは、各アプリにメールボックスがあり、アプリが実行されているかどうかに関係なく機能します。 PCでアプリは通知を受け取ることができます。更新の時間だとよく言われます。アプリが少なくともバックグラウンドで実行されていない限り、これらの「通知」は表示されません。これが変わらない大きな理由は、それが私を怒らせるからです。今、Adobeリーダーを使用していない場合は、それを聞きたくありません。だから読者は私がそれを使って私を困らせるまで待つことができる。

もちろん、反対に、通知がレビュープロセスを通過する必要がある場合は、通知がいかに煩わしいかについてのチェックが追加されます。アプリがどのように感じているかに関係なく、通知をオフにできることが好きです。これは、アプリがそれ自体の通知システムを単純に実行できない場合にのみ適用できます。 PCでは、アプリをシャットダウンするためにバックグラウンドでアプリが実行されないようにする必要があるだけです。

3
candied_orange