Skip to content

discere-os/boost.serialization.wasm

 
 

Repository files navigation

@discere-os/boost.serialization.wasm

WebAssembly port of Boost.Serialization - High-performance C++ object serialization library with comprehensive format support and SIMD optimization.

CI/CD JSR npm version License Status

Features

  • Professional C++ serialization library compiled to WebAssembly
  • SIMD optimizations for enhanced performance
  • Complete TypeScript API with type safety
  • Browser and Node.js compatibility
  • Modern development workflow with Deno
  • Comprehensive object serialization and deserialization
  • Support for XML, binary, and text archive formats
  • Class versioning and schema evolution
  • Cross-platform data persistence
  • Header-only library design

Quick Start

# Install via npm
npm install @discere-os/boost.serialization.wasm

# Or use with Deno
import BoostSerialization from "https://deno.land/x/boost_serialization_wasm/mod.ts"

Usage

import BoostSerialization from '@discere-os/boost.serialization.wasm'

const serializer = new BoostSerialization()
await serializer.initialize()

// Serialize objects to binary format
const data = { name: "example", value: 42 }
const serialized = serializer.serialize(data, "binary")

// Deserialize back to objects
const deserialized = serializer.deserialize(serialized, "binary")
console.log(deserialized) // { name: "example", value: 42 }

// Support for XML and text formats
const xmlData = serializer.serialize(data, "xml")
const textData = serializer.serialize(data, "text")

About Boost.Serialization

Boost.Serialization is a comprehensive C++ library for object persistence and data interchange. Key capabilities:

  • Archive Formats: Binary, XML, and text serialization
  • Class Evolution: Schema versioning and backward compatibility
  • STL Support: Complete serialization of standard containers
  • Pointer Handling: Smart pointer and object tracking
  • Performance: Optimized binary format with minimal overhead
  • Portability: Cross-platform data format compatibility

💖 Support This Work

This WebAssembly port is part of a larger effort to bring professional desktop applications to browsers with native performance.

👨‍💻 About the Maintainer: Isaac Johnston (@superstructor) - Building foundational browser-native computing infrastructure through systematic C/C++ to WebAssembly porting.

📊 Impact: 70+ open source WASM libraries enabling professional applications like Blender, GIMP, and scientific computing tools to run natively in browsers.

🚀 Your Support Enables:

  • Continued maintenance and updates
  • Performance optimizations
  • New library ports and integrations
  • Documentation and tutorials
  • Cross-browser compatibility testing

💖 Sponsor this work to help build the future of browser-native computing.

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 98.5%
  • CMake 1.1%
  • Other 0.4%