Packages
The Fluid Framework is a multi-layered system consisting of dozens of individual npm packages. Most developers will only
need two or three of these packages for typical Fluid development: The fluid-framework
package, which contains the
public API for the Fluid Framework, and a service-specific client package, such as the
@fluidframework/tinylicious-client
package.
Primary API: fluid-framework
The fluid-framework
package consists primarily of two portions: the [FluidContainer][] object and a selection of
distributed data structures (DDSes).
FluidContainer
The [FluidContainer][] object is the one of the object types returned by calls to createContainer()
and
getContainer()
on the service clients such as [AzureClient][]. It includes functionality to retrieve the Fluid data
contained within itself, as well as to inspect the state of the collaboration session connection.
Shared object packages
You'll use one or more shared objects in your container to model your collaborative data. The fluid-framework
package includes
three data structures that cover a broad range of scenarios:
- SharedMap, a map-like data structure for storing key/value pair data.
- SharedString, a data structure for string data.
Package scopes
Fluid Framework packages are published under one of the following npm scopes:
- @fluidframework
- @fluid-experimental
- @fluid-internal
- @fluid-tools
In addition to the scoped packages, two unscoped packages are published: the [fluid-framework][] package, described earlier, and the tinylicious
package, which contains a minimal Fluid server. For more information, see Tinylicious.
Unless you are contributing to the Fluid Framework, you should only need the unscoped packages and packages from the @fluidframework scope. You can read more about the scopes and their intent in the Fluid Framework wiki.