orbit

Flexible data access and synchronization.

Github星跟踪图

Orbit Build Status Join the chat at https://gitter.im/orbitjs/orbit.js

Orbit is a composable data framework for managing the complex needs of today's
web applications.

Although Orbit is primarily used as a flexible client-side ORM, it can also
be used server-side in Node.js.

Orbit is designed for applications that need to:

  • Interact with data from a variety of sources: a REST server, a WebSocket
    stream, an IndexedDB backup, an in-memory store, etc.

  • Work offline, work online, and seamlessly transition between both modes.

  • Create optimistic and pessimistic user experiences (and even both in the same
    app).

  • Use a common schema to model data, regardless of its source.

  • Query and update data with a common set of expressions, understood across
    sources.

  • Track changes deterministically.

  • Fork immutable stores and then merge changes back if and when ready.

  • Support undo / redo.

Orbit is written in Typescript and distributed
on npm through the @orbit organization.
Pre-built distributions are provided in several module formats and ES language
levels.

Docs and Guides

Please visit orbitjs.com to learn how to make the
most of Orbit.

Contributing

Orbit's main packages are maintained in this monorepo and managed by
lerna.

Installation

Install dependencies:

yarn install

Building

Build distributions for all packages:

yarn build

Testing

Test all packages:

yarn test

Or cd into each package's dir and test it individually in the browser:

cd packages/@orbit/PACKAGE-NAME
yarn testem

License

Copyright 2014-2019 Cerebris Corporation. MIT License (see LICENSE for details).

主要指标

概览
名称与所有者orbitjs/orbit
主编程语言TypeScript
编程语言JavaScript (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2013-07-12 04:52:50
推送于2025-09-23 23:14:47
最后一次提交
发布数130
最新版本名称v0.17.2 (发布于 2022-03-07 06:59:46)
第一版名称0.1.0 (发布于 )
用户参与
星数2.3k
关注者数41
派生数135
提交数2.8k
已启用问题?
问题数309
打开的问题数60
拉请求数587
打开的拉请求数9
关闭的拉请求数91
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?