Должен ли я переместить Big Data Blobs в JSON или в отдельном двоичном соединении?
Вопрос
ВОПРОС:
Лучше отправлять большие палочки данных в JSON для простоты или отправлять их в качестве двоичных данных за отдельное соединение?
Если бывший, вы можете предложить советы о том, как оптимизировать JSON, чтобы минимизировать размер?
Если последний, стоит ли логически подключить данные JSON к двоичным данным, используя идентификатор, который появляется в обоих, например, как «данные»: «<Уникальный идентификатор>» в JSON и с первыми байтами данных BLOB <Уникальный идентификатор>?
Контекст:
Мое приложение для iPhone необходимо получить данные JSON по сети 3G. Это означает, что мне нужно всерьез думать о эффективности передачи данных, а также нагрузки на CPU.
Большинство передач данных будут относительно небольшие пакеты текстовых данных, для которых JSON является естественным форматом, и для которых нет смысла беспокоиться о эффективности.
Тем не менее, некоторые из наиболее важных передач будут большие капли двоичных данных - определенно не менее 100 килобайт данных, и, возможно, ближе к 1 мегабайту, как клиенты накапливают более длинную историю с продуктом. (Примечание: я буду кэшировать то, что я могу на сам iPhone, но данные все еще должны быть переданы хотя бы один раз.) Это не передает данные.
Я, вероятно, буду использовать стороннюю JSON SDK - тот, который я использую во время развития здесь.
Спасибо
Решение
Вы можете попробовать сжать JSON (GZ, возможно), прежде чем отправить его, а затем распаковать его на стороне клиента.
Но я не уверен, как это влияет на производительность iPhone.