а flatbuffers - ресурсы в приоритете(у меня например на микроконтроллерах используется и во фронтендах), я могу например с одним и тем же объектом в памяти работать как из плюсового кода на микроконтроллере, так и из JS кода, который исполняется интерпретатором, запущенным на этом же микроконтроллере, при этом ресурсов мало - нет возможности даже просто скопировать и передать этот объект в JS интерпретатор - слишком долго и слишком много памяти для жесткого реалтайма, при этом объекты формируются вообще на веб сервисе из конструктора в браузере