2013-05-30 11 views
8

FirebaseやParseのような新しいサービスやAngular JSのようなツールでは、単にスタティックファイルのコレクションとして提供されるWebアプリケーションを書くことができるようになりました。あなたは財布HTML/CSS/Javascriptでフロントエンドを書くことができ、バックエンドはホストされたサービスです。"バックエンドなし"のWebアプリケーションの作成

私の質問は以下のとおりです。

  • これは良いアイデアですか?
  • このようなアプリケーションのために、HerokuやApp Engineのようなものを使用する価値はありますか?ユーザーは実際にHTML/JSを一度ダウンロードするだけで済みます。
  • ユーザーの処理方法は?フェデレーションログイン? Firebase/Parseにユーザデータを保存しますか?

他の提案は歓迎します!

答えて

8

現在のブラウザ機能を備えたクライアント専用アプリを作成するのは完全に合理的です。バックエンドにはFirebaseのみを使用し、クライアントとしてはCDNからHTML/JavaScriptを提供する洗練されたアプリケーションを個人的に構築しました。これは本質的に、単純なセキュリティモデルを持っているアプリケーションの種類に特に適している:

  • シングル・ユーザ・アプリケーション(データが属していると、一人の人間によって変更されている)
  • アプリのプライベートチャットや通信ウィジェット(共同編集者とCRM)

低レベルのユーザーデータであっても計算量の多いツールでは可能ですが、あまり適していない場合がありますcでなければならない信頼できる第三者(例:

伝統的なAPIとサーバースクリプトを「特権消費者」に置き換えることで、サーバーの管理とセットアップを大幅に削減することもできます。これらはFirebaseのリスナーであり、より高いアクセス権を持ち、クライアントのようにデータをリッスンして処理し、通常のユーザーがアクセスまたは操作できないようにデータを保護します。

クライアント専用モデルの欠点は、セキュリティがより複雑になることです。各クライアントは、独自のデータを計算して格納するために信頼される必要があります。また、セキュリティルールや何らかの外部監視(特権消費者など)によってデータを慎重に保護する必要があります。

"Fat Client" or "Thick Client"のデザインパターンの文献を掘り下げて、いくつかの興味深いデザインアイデアを見つけられるかもしれません。いくつかの洞察を得るためにdistributed gamingを見ることもできます。

+0

あなたはKatoにチャットアプリの権利を言及していませんか? ;) – CMCDragonkai

関連する問題