GithubHelp home page GithubHelp logo

isabella232 / session-ios-yap-database Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oxen-io/session-ios-yap-database

0.0 0.0 0.0 12.66 MB

YapDatabase is an extensible database for iOS & Mac.

License: Other

Objective-C 99.25% Shell 0.07% Ruby 0.27% C 0.11% Objective-C++ 0.19% C++ 0.09% Rich Text Format 0.01%

session-ios-yap-database's Introduction

YapDatabaseLogo Build Status Pod Version Carthage compatible

YapDatabase is a "key/value store and MUCH MORE" built atop sqlite for iOS & Mac. It has the following features:

  • Concurrency. You can read from the database while another thread is simultaneously making modifications to the database. So you never have to worry about blocking the main thread, and you can easily write to the database on a background thread. And, of course, you can read from the database on multiple threads simultaneously.

  • Built-In Caching. A configurable object cache is built-in. Of course sqlite has caching too. But it's caching raw serialized bytes, and we're dealing with objects. So having a built-in cache means you can skip the deserialization process, and get your objects much faster.

  • Collections. Sometimes a single key isn't enough. Sometimes a collection & key is better. No worries. YapDatabase supports collections out of the box.

  • Metadata. Ever wanted to store extra data along with your object? Like maybe a timestamp of when it was downloaded. Or a fully separate but related object? You're in luck. Metadata support comes standard. Along with its own separate configurable cache too!

  • Views. Need to filter, group & sort your data? No problem. YapDatabase comes with Views. And you don't even need to write esoteric SQL queries. Views work using blocks with your own code. Plus they automatically update themselves, and they make animating tables super easy.

  • Secondary Indexing. Speed up your queries by indexing important properties. And then use SQL style queries to quickly find your items.

  • Full Text Search. Built atop sqlite's FTS module (contributed by google), you can add extremely speedy searching to your app with minimal effort.

  • Relationships. You can setup relationships between objects and even configure cascading delete rules.

  • Sync. Support for syncing with Apple's CloudKit is available out of the box. There's even a fully functioning example project that demonstrates writing a syncing Todo app.

  • Extensions. More than just a key/value store, YapDatabase comes with an extensions architecture built-in. You can even create your own extensions.

  • Performance. Fetch thousands of objects on the main thread without dropping a frame.


See what the API looks like in "hello world" for YapDatabase
Learn more by visiting the wiki

session-ios-yap-database's People

Contributors

calebd avatar canis-uk avatar chaitanyapandit avatar charlesmchen avatar choefele avatar chrisballinger avatar danthorpe avatar davidchiles avatar dispatchqueue avatar gbrhaz avatar grgcombs avatar jasongrlicky avatar jeremiegirault avatar jimroepcke avatar joelekstrom avatar jonnolen avatar kirow avatar ksuther avatar mackross avatar maelp avatar nolanw avatar pizthewiz avatar robbiehanson avatar rupertdaniel avatar samsonjs avatar sbooth avatar siuying avatar softeqdg avatar vkovtash avatar wjmelements avatar

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.