Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Fluid Framework 2.0 Beta: SharedTree Distributed Data Structure and SharePoint Embedded

Fluid Framework 2.0 Beta: SharedTree Distributed Data Structure and SharePoint Embedded

Microsoft announced, that Fluid Framework 2.0 has entered its Beta phase. The beta introduces the SharedTree Distributed Data Structure (DDS) for an intuitive programming interface supporting various data types, along with support for SharePoint Embedded, enabling developers to retain collaborative data within a Microsoft 365 tenant.

The Fluid Framework is a free and open-source library for building distributed, real-time collaborative web applications using JavaScript or TypeScript, it enables real-time collaboration through user-friendly data structures automatically synchronized across clients, managing the difficulties of syncing and merging changes from multiple sources.

This eliminates the need for developers to create custom server code or navigate complex merge semantics. Utilizing an accessible programming model, as reported, Fluid Framework leverages mainstream web technology to deliver exceptional performance, correctness, and cost-effectiveness.

(Source: Official website, Fluid Framework in the Cloud)

In the latest beta release of Fluid Framework 2.0, two significant features have been introduced to enhance collaborative app development.

The SharedTree Distributed Data Structure (DDS) offers an intuitive programming interface for working with various data types, such as objects, arrays, and maps. This structure aligns with established developer patterns for local data structures, allowing for remote alterations while ensuring synchronization through the Fluid Framework. SharedTree includes advanced merge semantics for array operations, along with features like atomic move operations, simplifying collaborative data manipulation.

Additionally, SharePoint Embedded is now supported in Fluid Framework 2.0 beta. This relay service enables developers to confine collaborative data within a Microsoft 365 tenant. Enterprise developers can leverage this feature to build collaborative line-of-business applications, utilizing the security and compliance features of Microsoft 365 storage.

Independent Software Vendors (ISVs) also have the option to incorporate this functionality into their collaborative applications, with data management securely handled within the end customer's tenant. As stated, the inclusion of SharePoint Embedded support, alongside existing Azure Fluid Relay support, provides developers with increased flexibility in selecting optimal service pairings for their Fluid Framework applications. 

As mentioned, Fluid Framework has already played a key role in various Microsoft applications, including the newly introduced Microsoft Loop, designed to enhance collaborative work. It powers Loop components that can synchronize across diverse applications, utilizing SharePoint Embedded in production.

Other applications such as Microsoft Whiteboard, offering real-time visual collaboration, and Microsoft Teams Live Share, an SDK for collaborative experiences in Microsoft Teams, also leverage Fluid Framework's capabilities. Also, open-source contributors like Hexagon and Autodesk have built their solutions utilizing Fluid Framework, further extending its impact across the industry.

Fluid Framework 2.0 is currently in Beta, as reported with plans for general availability set for this summer. This milestone signifies a significant advancement in providing developers with a versatile and friendly platform for creating collaborative applications with enhanced user experiences.

Readers are encouraged to explore the GitHub discussion titled Production grade source-of-truth which was started by a user called tslocke on March 24, 2022. The user wonders if the Fluid Service can be the authoritative source of truth for the application, or if it can be synchronized with an existing database that serves as the source of truth.

The user also asks about the capabilities and limitations of the Fluid Service as a database, such as querying, indexing, access control, snapshots, logs, etc. Another user agrees with the question and adds more details about the challenges of integrating the Fluid Framework with a real-world collaborative app. The other user expresses confusion about the use cases and benefits of the Fluid Framework.

The discussion thread is still open, and it seems that the community members are looking for more guidance and documentation regarding the Fluid Framework.

About the Author

Rate this Article