パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.4.0

localstore

JSONファイルベースのストレージパッケージは、シンプルなNoSQLデータベース用の永続的なリポジトリを提供します。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
4020
いいね数
194
Pub ポイント
140

パッケージをインストール

flutter pub add localstore

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

LocalStore は、永続的でファイルベースの JSON ストレージを提供する Flutter/Dart パッケージであり、シンプルな NoSQL データベースとして機能します。Android、iOS、Web、macOS、Windows、Linux など、複数のプラットフォーム上でアプリが構造化データをローカルに保存・取得できるようにします。軽量な用途向けに設計されており、データを1つのJSONファイルに格納することで、複雑なセットアップなしに簡単に管理・アクセスできます。ユーザーの設定、キャッシュデータ、またはアプリセッション間で永続化が必要な小さなデータセットを保存するのに最適です。

用途

  • ユーザーの設定を保存する
  • API レスポンスのキャッシュ
  • アプリの状態を保存する
  • ローカル構成の管理
  • 小さなデータセットの永続化

主な機能

  • ファイルベースのJSONストレージ
  • クロスプラットフォーム対応
  • シンプルなキー値インターフェース
  • 自動シリアル化/逆シリアル化
  • 軽量で高速

適している対象

  • シンプルなデータ永続化
  • オフライン優先のアプリケーション
  • Prototyping
  • 小規模なアプリ
  • 開発者の利便性

注意事項

  • 大規模なデータセットには適していません
  • 組み込みのクエリ機能なし
  • JSON形式に制限
  • 手動バックアップが必要です
  • 大きなファイルではパフォーマンスが低下する可能性があります

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Localstore

pub package

Between SQL or NoSQL, there's no one best database, there's the right database for your specific project. Localstore is a JSON file-based storage package (localstorage) provides a persistent repository for simple NoSQL database.

Localstore (NoSQL) SQLite (SQL)
Data format File path (collection) Table
Data item JSON Document (doc) Record / Row
Scalability Horizontal Limited vertical
Organization Schema-less Fixed schema

Demo Screenshot

UML diagram

Localstore UML diagram

Getting Started

  1. Calling WidgetsFlutterBinding.ensureInitialized(); in main() before calling runApp():
void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}
  1. Import import 'package:localstore/localstore.dart';
import 'package:flutter/material.dart';
import 'package:localstore/localstore.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}
  1. Creates an instance using the default Localstore
final db = Localstore.instance;

or using anywhere in your project.

  1. Creates new item
// gets new id
final id = db.collection('todos').doc().id;

// save the item
db.collection('todos').doc(id).set({
  'title': 'Todo title',
  'done': false
});
  1. Gets item by id
final data = await db.collection('todos').doc(id).get();
  1. Delete item by id
db.collection('todos').doc(id).delete();
  1. Fetch the documents for the collection
final items = await db.collection('todos').get();
  1. Using stream
final stream = db.collection('todos').stream;

Features and bugs

Please file feature requests and bugs at the issue tracker.

カテゴリー

依存関係

依存関係一覧 2 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。