質問: 開発者が独自のシリアライズ形式を作成することは、どのくらい一般的ですか? 具体的には、Javaを使用して、オブジェクトをトークン付きの巨大な文字列として送信し、変数を区切ります。
私の論理: 私はこれを選択しました。これは、言語の依存関係をほとんど排除する (Java の変更された UTF-8 を無視する) ためです。そのため、古いバージョンで実行されているクライアントはオブジェクト データを受信できません。コードはそれほど醜くなく、問題なく読めますが、私の質問は、このインスタンスのベストプラクティスは何ですか? これは個人的なプロジェクト用です。
その他の既知の選択肢: わかりました。オブジェクトをシリアル化してネットワーク経由で送信する作業をしていたところ、Google プロトコル バッファに遭遇しました。オブジェクトのシリアル化はどの程度標準化されていますか? 私は基本的にそれを行う3つの方法に出くわしました。(それが目的なので、ここでJavaについて話します)1)言語の(Javaの)ネイティブシリアライズクラスを使用します2)おそらく文字列とトークンを使用してオブジェクトをシリアライズする独自の方法を使用します3)プロトコルバッファを使用するまたはその他の既知の形式 (JSON、XML など)
私が収集したものから、シリアル化するときに達成する必要がある主な目標が基本的に 3 つあります。逆)
ほとんどの大規模なソフトウェア プロジェクトはプロトコル バッファを使用しますか? クライアントがリソースの少ないモバイル デバイスの場合、状況は変わりますか?