2017-03-03 8 views
1

私が作っているhtml/css/jsブラウザゲームでは、最終的には保存機能が必要になると判断しました。以前はデータベースの保存データを使用していましたが、他のコーディング担当者がJSONの使用を推奨しました。どの方法が良いですか?もっと効率的?より簡単に?データを保存:JSONまたはデータベース?

少数の文字列と大部分の小さな整数だけが保存されます。オブジェクト指向のプログラミングが使用されています。

フィードバックありがとうございます。

答えて

1

あなたが選んだ部分は、セーブデータにアクセスするユーザーの気にかかっているか、そして実際にゲームが最初に何をしているかによって決まります。

jsonまたはxmlは、すべての情報をダンプして後で簡単に読み込むことができる素晴らしい保存形式です。しかし、それをローカルマシンに保存している場合、ユーザーは明らかにそのマシンにアクセスできます。

このようなものをローカルに保存することは、ゲームがネットワークに依存していない限り、常にネットワークに頼らないことを意味します。

オンラインプレイをお持ちの場合、ほとんどの場合、ローカルセーブデータは明らかに悪いです。 それはあなたのゲームが何をしているかによって大きく異なります。

最後に、ローカルセーブを使用して実行中に何かを取得する方がはるかに高速です。また、プロキシや何らかの理由でセーブデータを取得できないために、ネットワークの問題を抱えているユーザーを心配することは少なくなります。

json/xmlを使用したローカルストレージの方が効率的/簡単です。しかし、欠点は、安全性が低く、誤って削除/壊れてしまう傾向があることです(これは、多くの蒸気ゲームにローカル保存もクラウドバックアップもある理由です)。

0

JavaScript Object Notation(http://www.json.org/)は、軽量のデータ交換フォーマットです。それはデータを格納する形式ではありません! JSONを使用してサーバーとクライアントの間でデータをやりとりしますが、利用可能な多数のデータベースのうちの1つに適切に設計されたテーブルにデータを格納します。いくつかの文字列と整数がある場合は、単純なテーブルを作成してください。 JSONをデータベースに文字列として格納することは嫌です!

+1

警告:シリアル化されたデータを格納することが理にかなっている状況があります。 –

+1

これは誤解を招くことです。はい、JSONはインターチェンジ形式です。 (これはまた、有効なJavaScript式を符号化しています。それは存在理由です)。しかし、テーブルへの格納と文字列の格納は偽の選択です。 OPの職位のユーザーが文書を保存しようとしています。 SQLには、ドキュメント階層の強力な概念がありません。その必要性は、外部キーとアプリケーションロジックを使用して間接的に実装されます。 この場合、特にアプリケーションがJSベースの場合、JSONを受け入れて取得するNoSQLストアが良い解決策です。これは、DBがフードの下にJSON文字列を格納していることを意味しません。 –

1

¿Porquéno los dos? ローカルセーブまたはクラウドセーブをお探しですか?ローカル保存の場合は、IndexedDBを使用します。

https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

あなたはそれでJSON文書を保存することができます。

クラウドセーブの場合は、MongoDBやCouchDBのようにネイティブにサポートされているJSONストアを使用してください。 CouchDBは、最小限の設定でJSONストアを直接WANに公開するための素晴らしいオプションです。

関連する問題