Webアプリケーションは、過去数年間で大きなパラダイムシフトを経験しました。
10年前(そして残念ながら今日でも)、Webアプリケーションは重量のあるサーバーにのみ存在し、データからプレゼンテーション形式まですべてを処理し、サーバーの出力のみをレンダリングするダムクライアント(ブラウザー)に送信していました。
その後、AJAXがゲームに参加し、Webアプリケーションがサーバーとブラウザーの間に存在するものに変わり始めました。
AJAXのクライマックスの間、Webアプリケーションロジックは完全にブラウザ上で動作し始めました。これは、HTTPRESTfulAPIが登場し始めたときだったと思います。突然、すべての新しいサービスにその種のRESTful APIが追加され、突然JavaScriptMV*フレームワークがポップコーンのように飛び出し始めました。モバイルデバイスの使用も大幅に増加し、RESTはこの種のシナリオに最適です。ここでは「一種のRESTful」と言います。これは、RESTであると主張するほとんどすべてのAPIがそうではないためです。しかし、それはまったく別の話です。
実際、私は一種の「RESTエバンジェリスト」になりました。
Webアプリケーションはこれ以上進化できないと思ったとき、新しい時代が幕を開けたようです。ステートフルな持続的接続Webアプリケーションです。 Meteorは、その種のアプリケーションの優れたフレームワークの例です。それから私はこのビデオを見ました。このビデオでは、マット・デバーガリスがメテオについて語っています。どちらも素晴らしい仕事をしています。ただし、彼はこの種の目的でREST APIを停止し、永続的なリアルタイム接続を優先しています。
たとえば、リアルタイムのモデル更新が欲しいのですが、それでもすべてのRESTの素晴らしさを持っています。 ストリーミングRESTAPIは私が必要としているもののようです(たとえば、firehose.ioやTwitterのAPI)が、この新しい種類のAPIに関する情報はほとんどありません。
だから私の質問は:
Webベースのリアルタイム通信はRESTパラダイムと互換性がありませんか?
(長い紹介文で申し訳ありませんが、この質問はいくつかの文脈でのみ意味があると思いました)