2011-01-18 6 views
5

私はSencha Touchでモバイルアプリケーションをプログラミングしており、バックエンドはRailsです。私はSenchaをもっと深く理解するにつれ、私は2つのことを分かち合っていることに気付きました。基本的に、Railsはモデルストレージ(データベース)として機能し、SenchaはJSONを介して必要なすべてを引き出しますロジックの多くはすでにレールに存在しています。Sencha TouchとRails(バックエンド)間のユーザー/セッション管理

私の質問ですが、各アプリケーションに機能を委任することについてアドバイスしますか?私はSenchaアプリケーションにRESTを実装しているので、ユーザーと関連データを通信し、同じ形式で格納できます。

これは、ユーザーセッション管理に適した方法ですか?もっと力をレールに戻すべきですか? IE:セッションはどこに保存しますか?私はサーバー上でそれを行うことはできますか?私はセッションストレージ管理としてそれを行う必要がありますか?ローカルストレージ?私は知らない。

アドバイスありがとうございます。ありがとう。

答えて

7

これはあなたの質問に対する具体的な回答ではありませんが、私はあなたが正しい線上にいると思いますが、私はあなたが建築ラインを上回っていることを心配しないでしょう、いわば。

ウェブは、ブラウザとサーバがより対称的なピアであるレンダリングされたドキュメント(サーバは絶対にすべてを行い、ブラウザは基本的にはダメだった)から、さらに2つの本格的な同期のMVCアプリ!

(おそらく、クライアント側のアプリケーションの豊かさに比べて、サーバーがかなり愚かになるかもしれないと思われるかもしれませんが、これはシッククライアント/シンクライアント振子の次のサイクルに過ぎません。何十年もの間スイングしています;-))

モバイルの場合、これは単なるコンピュータサイエンスの問題ではなく、モバイルデバイスが部分的または散発的なネットワークカバレッジを持つ可能性があるため、アプリケーション設計の究極のテストはうまくいくたとえば、デバイスがオフラインのときにアプリケーションを継続してトンネルに入れることができるかどうか、ネットワークが再び利用可能になったら再び同期するかどうかなどです。豊かで反応性の高いクライアントが、本当に唯一の方法です。

このシナリオでは、セッションを豊富にブラウザに保存することは合理的なステップのようです。実際には、単一のクライアントとサーバーの間のセッション状態を、他の種類のデータレコード(複数のクライアントによって同時に操作される可能性がある)よりも同期させる方が簡単です。

+0

興味深い。私はこれがプログラミングの間にますます真実であると感じています。私のオリジナルの眺望は、モバイルアプリ用のRailsビューの新しいセットを開発することですが、あなたの右の別個のMVC構造は、応答性の面で最高の経験を提供するようです。 – JBlake

+0

True- "(おそらく、クライアント側のアプリケーションの豊富さと比べて、サーバがかなり愚かになるかもしれないと思うかもしれませんが、これはシッククライアント/シンクライアントの振り子の次のサイクルに過ぎません。何十年も振り回し;-)) – arvindwill