Flip Overview

About Flip

Flip is a data model library designed as a framework. It is real-time, collaboration-oriented, transactional, portable, and compact.

Key Points

Flip features a number of key points which benefit your application:

Those key points are detailed below.

Prerequisites

Multi/single user, good practices

The library has been conceived to let developers test their programs in a single-user context, but with the ability to easily adapt it for multiple users. Great effort has been made to minimize impact during the integration process. No server is required during development.

Moreover, our team set some good practices over the last few years to help you implement a solid architecture that will stand the test of time and be able to meet new needs.

In fact, we experienced that industrial implementation of the model yields the best correct-lines-to-total-lines ratio. The unique way that Flip works offers users the ability to do real-time collaboration without feeling any latency caused by the Internet.

Undo, redo, history, copy, paste

Flip's very structure makes it unnecessary to manage undo and redo with specific code, which allows for the fast implementation of new industry-specific functionalities. The library can generate one or many undo/redo histories according to your needs.

Likewise, you can implement copy/paste with the same simplicity, while enjoying the unlimited possibilities of customization offered by this feature.

Document format, document version, validation

Flip supports a text-editable back-end writing format as well as a binary one. This has many advantages, including:

The use of a text editor in debug mode offers outstanding readability, even with documents weighing 100Mb+. It is simple and efficient, no matter how complex the model is.

The document works on its own version. Graphs of multiple versions are available (branches for A/B testing for instance). The document conversion system has been successfully tested in production environments, and even with radical paradigm changes.

Flip also allows you to set up a dynamic model validation system, regardless of the complexity involved. It can even handle structural model validation with no additional code. It doesn't generate orphan objects; in fact, none have been encountered in over 10 years of development.

Thread/Process Flip

Using optimisic replication, Flip documents can be easily shared between threads or even processes without locks.

Interoperability

Flip has been designed to integrate with external engines without imposing its own architecture. IDs, references, and any other system used by external engines can be integrated in Flip's engine, without the need to maintain specific glue code. Each Flip object can store multiple represented objects.

Flip's unique change detection system within a document lets client code parse the change in any direction to meet an external engine's object lifetime constraints.