Существует много хороших способов хранения данных приложения (назовите это сериализацией).
Лично я считаю, что для больших наборов данных использование открытого формата намного проще для отладки. Например, если вы работаете с XML, вы можете хранить свои данные в открытой форме, так что если у вас есть проблемы с повреждением файла (то есть клиент не может открыть ваш файл по какой-то причине), его легче найти. Если у вас есть конфиденциальные данные, вы всегда можете зашифровать их перед записью в файл с использованием шифрования ключа. Например, Microsoft отказалась от использования закрытого формата для открытия XML в своих офисных документах. Они используют расширение * .x (.docx, .xlsx и т. Д.). Это действительно просто сжатая папка с XML-файлами.
Использование двоичной сериализации, безусловно, является отраслевым стандартом в настоящее время для большинства автономных приложений. Скорее всего, это из-за используемой ими среды приложения (например, MFC, который является старым). Если вы посмотрите на большинство методов сериализации в современных средах приложений, XML-сериализация будет очень хорошо поддерживаться.