2012-08-14 3 views
9

編集: 私はユースケースで明確にしようとします。私は、私の - ダウンサーバーを実行せずに、HTML/javascriptページで簡単なチャットボックスを実行できるようにしたいと考えています。私はチャットアプリケーションのJavaScriptをちゃんと書くことができますが、チャットメッセージをすべての閲覧ユーザーに見せるためのデータを格納できるソリューションはありません。したがって、私のアプリケーションはデータを受け取り、第三者のデータストア(理想的にはjson形式)に投稿し、データストアから定期的に更新を求めてポーリングを行います。それは私がそのようなjsonストレージサービス/ jsonストレージエンジンを使用する唯一のものではありませんが、それは最も明白な例です。htmlとjavascriptだけで永続的で共有可能なストレージを実現するには、どのような方法がありますか?


私は以前に達成しなければならない機能性の観点から、HTML5が最前線に来るように少しのプログラミング、サーバー側から離れてバックアップし、私はHTMLとJavaScriptで行うことができますどのくらい模索していますhtml/php/sqlサーバスタックを使用します。たとえば、この初期のhtml5サイトでは:http://tersh.royronalds.com/私は画像ホスティング用のflickrとブログ投稿用のtumblrを再利用しています。しかし、ちょうど1つの例として、私は今、アイテムが追加され、完了したときにチェックを入れて、その時間の間に公に表示されるような、動的なtodoリストをコーディングしたいと思うようになりました。もう1つの例は、シンプルで永続的なチャットボックスです。

たとえば、ajaxを使用してチャットメッセージや、mysqlデータベースにデータを保存するPHPスクリプトの変更に関するブーリアンデータとテキストをプッシュするのではなく、データをプッシュしてからプルしたいlocalstorage APIと同じ種類の機能を提供するサードパーティのストアですが、jsonの場合はそうです。

だから私は、パブリックjs APIを使ってストレージのいくつかの方法を使って解決したいと思います。 jsonを格納するためのいくつかのメソッド、または文字列と数字をサポートするエンドフォーマットがあり、ストア可能でリトリーブ可能です。localStorageに似ていますが、永続的で共有可能です。

このようなことに対して、どのような公共の技術やソリューションがありますか?

+0

基本的には、jsだけを使用してdbとの間で読み書きを行うことができます。 –

+1

多分GoogleドライブのSDD(https://developers.google.com/drive/v2/reference/)を試してみてください。私が推測していることは、あなたが行っている一般的な目的は、シンプルで安価な共有環境を構築することよりもはるかに複雑で、数行のコードでデータベースをまとめることです。近代的なサイトでは、バックエンドはjsonポンプ以上のものに変わっていますが、まだそこにいます... – Hersheezy

+0

ええ、サイト上のjsだけです。明らかに、ストレージエンジンは、サードパーティのサーバー上で必要なものであれば何でも構いませんが、複雑である必要はありません。 Googleドライブの情報を調べて、探しているものがあるかどうかを確認します。 はい、私は、他の誰かのapiでの作業がより複雑になることを期待しています。つまり、サイトインスタンスごとにサーバー上でphp/apache/mysqlやnode.js/mongodbを実行する必要はありません。そのサイトが存在する個人は、静的なHTMLファイルをホストする任意の場所にページをホストすることができますが、依然として堅牢な機能を備えています。 – Kzqai

答えて

1

非常に良くない、またはよく開発されていない場合でも、これにはいくつかのオプションがあります。

まず、サーバー側のデータベースに最も密接に関連するものは、Web SQLデータベースです。これはW3Cの推奨機能ではありません(SQLiteをバックエンドとして使用しません)。現在のところ、Chrome、Opera、Safari、Firefox(アドオン付き)ではサポートされています。

Spec

第二には、我々はデータベースAPIの索引います。これらはChromeとFirefoxでのみサポートされています。 (そしてIE 10、しかし誰が気にしますか?)これは通常のデータベースとは異なるですが、W3Cが推奨する方法です。

Spec

第三に、我々は、ローカルストレージを持っています。これはデータベースのようなシステムではなく、クッキーに似ています。しかし、これらのローカルストレージアイテムは、それぞれがキーと値のペアであり(使用するのは非常に直感的です。追加する可能性があるため)、クッキーよりも優れています。たとえば:

// Store value on the browser permanently 
localStorage.setItem('key', 'value'); 
// Retrieve value 
localStorage.getItem('key'); 
//Remove value 
localStorage.removeItem('key'); 
//This is just a small selection of actions you can perform 

Spec
Helpful Resource

第四に、あなたは多分、オフラインHTMLを簡単にのぞき見を取る必要があります。これは、サイト内の選択ファイルがブラウザによってダウンロードされ、オフラインで使用できるシステムです。私はこれがあなたにとって有益だとは思わないが、それをチェックする。

Spec
Helpful Guide

あなたが伝えることができるかもしれませんが、私は最初より最後の二つでより多くの経験を持っていました。とにかく私が助けてくれることを願っています

+0

ええ、私は自分専用のストレージに精通しています。利用できるオプションを思い出させるのは良いことですが、私は特にローカルストレージを愛用しています。設定を保存するのに最適ですが、共有可能ではありません。私が解決しようとしている問題のタイプの例を説明する大きなユースケースは、数行のチャットを保存するだけで完全なサーバースタックを実行することなく、すべてのユーザーに見える非常に単純なチャットボックスをコーディングすることです。 – Kzqai

関連する問題