チャットアプリ(リアルタイムアプリ)のようなサービスを作りたいです。
私の調査からわかることから、BlazeDS
好ましい方法ですが、それには Java と Java EE が含まれます。また、最新の Ruby の結果は 2009 年から 2010 年のもののようで、古い可能性があります。
プッシュ通知を Flex と統合するためにアクティブに維持されている Ruby/Rails ソリューションはありますか?
チャットアプリ(リアルタイムアプリ)のようなサービスを作りたいです。
私の調査からわかることから、BlazeDS
好ましい方法ですが、それには Java と Java EE が含まれます。また、最新の Ruby の結果は 2009 年から 2010 年のもののようで、古い可能性があります。
プッシュ通知を Flex と統合するためにアクティブに維持されている Ruby/Rails ソリューションはありますか?
Flex を使用する必要がありますか? HTML5 websocketsは、初期段階ですが成長しているテクノロジであり、現在実装されています。Flex の日数は数えられます。しかし、websockets はまだ IE でネイティブにサポートされていません。
更新: しばらく前に Flex で同様のことを行うことを検討し、Flex on Railsのコピーを入手したことを言及するかもしれません。この本のサーバー プッシュの例ではJuggernautを使用していますが、残念ながらそれ以上の開発は中止されています。著者は、Server-Sent Events (SSE) によって Juggernaut が冗長になると述べています。websockets の状況と同様に、 IE を除くすべての主要なブラウザーがそれらをネイティブにサポートしています。
JavaScript を使用してこれらの不足している機能をブラウザーにもたらすshim (「ポリフィル」) があります。たとえば、jQuery Graceful WebSocketは、Websocket クライアントを実装する jQuery プラグインですが、AJAX ポーリングにフォールバックするため、機能は IE でも機能しますが、すぐには機能しません。Websocket サポートを検出するため、ブラウザーが Websocket をサポートするとすぐに使用されます。
私たちは、Flash の日没の時代にいる移行期にいるように見えますが、その代わりのテクノロジはまだ広くサポートされていません。ギャップを埋めるライブラリが 1 つあります: Socket.IOです。このライブラリは、実行時に最も有能なテクノロジ トランスポートを選択します。存在する場合は Flash を使用しますが、必要に応じて Websockets、AJAX ロング ポーリング、AJAX マルチパート ストリーミング、「永遠の iframe」を使用することもできます。これにより、幅広いブラウザ サポートが提供されます。
これは実際には、Flash/Flex または WebSockets 単独よりも幅広い互換性です。Socket.IO はサーバーとクライアントの両方で Javascript で実装されるため、Node.js などのサーバー側の Javascript ランタイムが必要です。
現在、Rails 3 -> Flex ソリューションへの参照はあまりないようですが (ご存じのように)、Ruby/Rails と Socket.IO の組み合わせには牽引力があるようです。
Socket.IO を使用して Rails アプリにチャットを追加したい場合は、Socket.IO を使用して Rails 3 でチャット アプリを作成している Liam Kaufman による素敵なリファレンス ブログ投稿があります: http://liamkaufman.com/blog/2012/02 /25/adding_real-time_to_rails_with_socket.IO_nodejs_and_backbonejs_with_demo/
上記の Cramp サーバーにサポートを追加するsocket.io gemもあります。
Rails 3 と Socket.IO の組み合わせに取り組んでいる他の人たちとのスタックオーバーフローの質問もあるようです。
Rails から Flex への直接接続を行っているという兆候はあまり見られませんが、Rails と Socket.IO の組み合わせが最も有望なソリューションが他にもあります。
Ruby の世界に住みたい場合は、通常のWebSocketを使用して Flex アプリケーションと通信できます。見栄えはよくありませんが、うまくいくので、Java バックエンドを避けることができます。これは、BlazeDS に構造を飛ばすように指示するよりもはるかに未加工ですが、実行可能なはずです。
Flex クライアント側には、Kaazingによって作成されたライブラリがあり、WebSocket サーバーにバンドルされています。それらの WebSocket サーバーの 1 つをダウンロードすると、client-libs フォルダーに、em-websocket (または実際には Websocket 技術) と通信するために使用できる swc (ドキュメント付き) があるはずです。
以上のことから、BlazeDS や GraniteDS ほどのスケーラビリティはありませんが、小規模な実装やデモでは機能するはずです。
RestfulX gem&Flexフレームワークを使用できます。それが私がRails/Flexに使用しているものです。
https://github.com/rubyamf/rubyamfまたはhttps://github.com/victorcoder/rubyamf_pluginを使用できます
ただし、rubyamf と rubyamf_plugin は RTMP をサポートしていないため、リアルタイム メッセージングで問題が発生します。