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
Primary API: fluid-framework
fluid-framework package consists primarily of two portions: the FluidContainer object and a selection of
distributed data structures (DDSes).
The FluidContainer object is the one of the object types returned by calls to
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.
- SharedDirectory, a map-like data structure with ability to organize keys into subdirectories.
- SharedString, a data structure for string data.
Fluid Framework packages are published under one of the following npm scopes:
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](/docs/testing/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.