Giter Club home page Giter Club logo

Comments (1)

kirillt avatar kirillt commented on July 20, 2024

The storage format will be modified with time adding new features or due to other reasons. The library is supposed to be used by several apps on different devices and potentially on different platforms (Android, iOS, Linux, macOS, Windows). These apps can work with the same data synchronized between devices. This way, apps can use different versions of the library although version of tags storage can be the same on devices hosting these apps.

That's why:

  1. The library must be able to handle loading of older versions of the storage and upgrading them.
    Migrations mechanism can be implemented to allow this. Every critical source modification should add new migration.
    Storage upgrade must be confirmed by user and must involve saving original storage as backup.

  2. The library must be able to handle loading of newer versions of the storage and ignoring newer features.
    We can separate features in the storage from each other, loading only supported ones.

It really seems to be over-complication for now. The storage structure is really simple at the moment. When the format will need to change we must implement migration. For now only newer features are planned, which can be implemented as separate entity with separate storage.

from ark-navigator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.