Bloom Framework

pub package License: MIT

"Flutter gives you the engine. Bloom gives you the application framework."

Bloom is an opinionated application framework and developer platform built on Dart and Flutter. It unifies state management, filesystem routing, server-state query caching, offline mutation queueing, declarative native plugins, and full-stack API routes into a single cohesive foundation.


🌟 Core Features

  • ⚑ Signals State Management: Fine-grained, zero-boilerplate reactivity powered by Signals.
  • πŸ“ Filesystem Routing: Next.js-inspired file-based routing compiled to go_router.
  • πŸ’Ύ Bloom Data & Offline Sync: Stale-while-revalidate asynchronous caching with automatic offline mutation replay.
  • πŸ“± Native Integration: Zero-config declarative native plugins for storage, permissions, camera, notifications, and deep links.
  • 🌐 Full-Stack Web & SSR: Unified client + server runtime with API routes (routes/api/*) and SSR hydration.
  • πŸ” In-App DevTools & Observability: Real-time request inspection, replay engine, and automatic crash telemetry.

πŸš€ Quickstart

import 'package:bloom_framework/bloom.dart';
import 'package:flutter/material.dart';

void main() async {
  await Bloom.boot(
    environment: 'development',
    config: BloomAppConfig(name: 'my_app', version: '1.0.0'),
  );

  runApp(const MaterialApp(
    home: HomeScreen(),
  ));
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    final count = signal(0);

    return Scaffold(
      appBar: AppBar(title: const Text('Bloom App')),
      body: Center(
        child: Watch((context) => Text('Counter: ${count.value}', style: const TextStyle(fontSize: 24))),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => count.value++,
        child: const Icon(Icons.add),
      ),
    );
  }
}

πŸ“š Documentation

For complete documentation, guides, and full-stack recipes, visit the Bloom Documentation Portal.

Libraries

bloom
Comprehensive, all-in-one Flutter application barrel for the Bloom framework.
bloom_config
Configuration and environment variable management for Bloom applications.
bloom_core
Flutter-independent core primitives for Bloom (environment config, DI container, structured logger).
bloom_data
Client-side data, caching, query, and offline synchronization layer for Bloom applications.
bloom_mobile
Fabric-grade Native Mobile AST Engine for Bloom JS Native descriptors.
bloom_modules
Native Module platform and DSL for Bloom applications.
bloom_observability
Error observability, crash reporting SDK, breadcrumbs, and telemetry subsystem for Bloom.
bloom_server
Flutter-free server core and HTTP API routing layer for Bloom backend services.
bloom_testing
Testing harness, mock utilities, and widget testing extensions for Bloom applications.
bloom_updates
Comprehensive in-app update and OTA management subsystem for Bloom applications.