No “compatible con offline”. Offline-first.
El device es la fuente primaria de verdad — la red es una optimización, no un requisito.
El device como fuente primaria
Toda operación escribe primero en el SQLite local. La interfaz nunca espera a la red.
Cola de mutaciones duradera
Las escrituras se encolan y reconcilian en segundo plano, bidireccional, sin perder datos en redes inestables.
Funciona 100% sin red
La app no se congela sin conexión; sigue funcionando y sincroniza en cuanto reconecta.
Ordenación server-authoritative
Orden global + write checkpoints garantizan la convergencia — nunca confía en el reloj del device.
Un pedido — del campo a aprobado, sin esperar la red
Sigue un pedido real: creado offline, sincronizado, aprobado por el supervisor y de vuelta al vendedor. Todo automático.
En la calle, en el móvil o el portátil, registra el pedido del cliente — con 18% de descuento.
Un motor. Tu lenguaje.
El mismo core en Rust, expuesto por SDKs idiomáticos vía FFI, JNI, N-API y WASM.
API común estable, SDKs idiomáticos y ligeros sobre el mismo core Rust.
Sincroniza con la base de datos que ya tienes
Captura de cambios vía CDC log-based (p. ej., replicación lógica de Postgres), con fallback trigger/outbox por capability-probe.
De la escritura local a la convergencia duradera
Un data plane en el hot path, un control plane solo de metadatos y un transporte incremental que mueve solo lo que cambió.
El device escribe en local
La app escribe en el SQLite local y encola la mutación — al instante, con o sin red.
Change capture
CDC nativo (log-based) cuando la base lo soporta, con fallback trigger + outbox en caso contrario.
Core Rust
Un data plane (crossfly-sync-service) en el hot path más un control plane que solo gestiona metadatos, fuera del hot path.
Transporte incremental
Protobuf/gRPC sobre TLS 1.3 para los deltas, bulk/snapshot columnar (Apache Arrow/Parquet, zstd). Los adjuntos van en un plano aparte — referencia por content_hash con storage enchufable (S3/MinIO/Azure Blob + CDN).
Donde CrossFly Sync va más allá
Cómo se compara, con honestidad
| CrossFly Sync | PowerSync / ElectricSQL | Realm / Couchbase / RxDB | |
|---|---|---|---|
| CDC multi-base de datos | ✓ | — | — |
| Schema-per-tenant dinámico | ✓ | — | — |
| Aislamiento cripto por tenant | ✓ | — | — |
| Offline-first real con cola duradera | ✓ | ✓ | ◑ |
✓ disponible · ◑ parcial / varía según el producto · — no ofrecido. La comparación refleja nuestra lectura de las capacidades típicas y puede cambiar a medida que esos productos evolucionan.
Open-core, cobrado por device activo
Las partes sobre las que construyes son abiertas; el servidor es source-available y convierte a una licencia permisiva con el tiempo.
SDKs, protocolo y specs
Apache-2.0 — los SDKs, el protocolo y las specs sobre los que construyes tienen licencia permisiva.
Servidor source-available
FSL-1.1 — convierte a licencia permisiva tras 2 años. No es AGPL, no es SSPL.
Cobro por device activo
Pagas por device activo sincronizado — alineado al uso real, no a asientos ni cores.