CommunityProgramación y desarrollogithub.com

flutter/flutter-working-with-databases

Gestiona la persistencia de datos local usando SQLite u otras soluciones de bases de datos. Útil cuando una aplicación Flutter necesita almacenar, consultar o sincronizar grandes cantidades de datos estructurados en el dispositivo.

¿Qué es flutter-working-with-databases?

Esta habilidad proporciona experiencia en la gestión de persistencia de datos local en aplicaciones Flutter, utilizando principalmente SQLite a través del paquete `sqflite` u otras soluciones como Hive, Drift, o Floor. Es útil para desarrolladores que necesitan almacenar, consultar o sincronizar grandes volúmenes de datos estructurados en el dispositivo, como registros de usuario, configuraciones offline o datos de caché. La habilidad cubre la configuración de bases de datos, definición de esquemas, operaciones CRUD, migraciones, y manejo de concurrencia. Soporta plataformas móviles (iOS, Android), web y escritorio, y puede integrarse con arquitecturas como Bloc, Riverpod, o Provider. El enfoque principal es SQLite por su madurez y rendimiento, pero también se ofrecen alternativas según los requisitos de simplicidad o tipado seguro. La habilidad explica cómo usar operaciones asíncronas y transacciones para garantizar integridad de datos, así como técnicas de sincronización con backend remoto mediante APIs REST o GraphQL.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flutter/skills/tree/main/skills/flutter-working-with-databases

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace flutter-working-with-databases?

Gestiona la persistencia de datos local usando SQLite u otras soluciones de bases de datos. Útil cuando una aplicación Flutter necesita almacenar, consultar o sincronizar grandes cantidades de datos estructurados en el dispositivo.

Descripción General

Esta habilidad proporciona guías y mejores prácticas para implementar almacenamiento local de datos en aplicaciones Flutter. Soporta principalmente SQLite a través del paquete sqflite, pero también cubre alternativas como Hive, Drift y Floor.

Plataformas Soportadas

  • iOS y Android (soporte completo)
  • Web (limitado a ciertas soluciones como Hive o Drift con compatibilidad web)
  • Escritorio (Windows, macOS, Linux)

Funcionalidades Clave

  • Configuración de base de datos: Inicialización y apertura de conexiones.
  • Definición de esquemas: Creación de tablas, índices y restricciones.
  • Operaciones CRUD: Insertar, leer, actualizar y eliminar datos.
  • Migraciones: Actualización segura de esquemas entre versiones de la app.
  • Concurrencia: Manejo de acceso simultáneo y transacciones.
  • Sincronización: Integración con backend remoto (REST, GraphQL).

Ejemplo Básico

import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';

Future<Database> openDatabase() async {
  final databasesPath = await getDatabasesPath();
  final path = join(databasesPath, 'mi_app.db');

  return openDatabase(
    path,
    version: 1,
    onCreate: (db, version) async {
      await db.execute('''
        CREATE TABLE usuarios (
          id INTEGER PRIMARY KEY AUTOINCREMENT,
          nombre TEXT NOT NULL,
          email TEXT UNIQUE NOT NULL
        )
      ''');
    },
  );
}

Arquitecturas Compatibles

  • Bloc
  • Riverpod
  • Provider
  • GetX

Notas sobre Alternativas

  • Hive: Base de datos NoSQL ligera, ideal para datos simples y rápidos.
  • Drift: ORM con tipado seguro, soporte SQL completo y generación de código.
  • Floor: Capa de abstracción sobre SQLite con anotaciones.

Referencias

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

flutter/flutter-accessibility

Configure your Flutter app to support assistive technologies like Screen Readers

flutter/flutter-accessibility-audit

Triggers an accessibility scan through the widget_inspector and automatically adds Semantics widgets or missing labels to the source code.

flutter/flutter-adding-home-screen-widgets

Adds home screen widgets to a Flutter app for Android and iOS. Use when providing glanceable app information or quick actions on the device home screen.

flutter/flutter-add-integration-test

Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests. Use when adding integration testing to a project, exploring UI components via MCP, or automating user flows with the integration_test package.

flutter/flutter-add-widget-preview

Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing.

flutter/flutter-add-widget-test

Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected.

flutter/flutter-animating-apps

Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations.

flutter/flutter-animation

Add animated effects to your Flutter app

flutter/flutter-apply-architecture-best-practices

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-app-size

Measure and reduce the size of the Flutter app bundle, APK, or IPA

flutter/flutter-architecting-apps

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-architecture

Use the Flutter team's recommended app architecture

flutter/flutter-building-forms

Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.

flutter/flutter-building-layouts

Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application.

flutter/flutter-building-plugins

Builds Flutter plugins that provide native interop for other apps to use. Use when creating reusable packages that bridge Flutter with platform-specific functionality.

flutter/flutter-build-responsive-layout

Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. Use when you need the UI to look good on both mobile and tablet/desktop form factors.

flutter/flutter-caching

Cache data in a Flutter app

flutter/flutter-caching-data

Implements caching strategies for Flutter apps to improve performance and offline support. Use when retaining app data locally to reduce network requests or speed up startup.

flutter/flutter-concurrency

Execute long-running tasks in a background thread in Flutter

flutter/flutter-databases

Work with databases in a Flutter app

Skills relacionados