lark 0.1.1
lark: ^0.1.1 copied to clipboard
A light, elegant Dart web framework with file-based routing, reactive state, and SSR/SSG support.
example/README.md
counter #
A modern web application built with Lark.
🚀 Features #
- Declarative Components: Build reusable UI with a clean, functional API.
- Reactive State: Precise updates using Signals-based reactivity (Refs, Computed, Effects).
- File-based Routing: Routes automatically generated from your
lib/pagesdirectory. - Global State: Simple state management with
defineStore. - Tailwind CSS: Built-in support for utility-first styling.
🛠️ Getting Started #
1. Install Dependencies #
dart pub get
2. Start Development Server #
lark dev
The app will be available at http://localhost:3000.
💻 CLI #
Lark provides a powerful CLI to manage your project. You can run it using the lark command (if installed globally) or via dart run lark.
lark dev— Start the development server with hot reload.lark build— Generate a production-ready static site.lark start— Production server (SPA fallback, compression, caching).lark routes— Refresh the file-based route generator.lark clean— Clear the build cache and temporary files.
🚀 Deployment #
Lark apps can be deployed as static sites (SPA/SSG) or with server-side rendering (SSR).
Build for Production #
lark build
This generates static files plus an SSR server in build/:
build/server— Compiled server binarybuild/bin/server.dart— Server source (for dart run)
Static Deployment (SPA/SSG) #
Deploy the build/ folder to Vercel, Netlify, GitHub Pages, S3, or any static host.
Server-Side Rendering (SSR) #
Run directly:
cd build && ./server
Or with Docker:
cd build && docker build -t myapp . && docker run -p 8080:8080 myapp
Or with Dart SDK:
cd build && dart pub get && dart run bin/server.dart
See the Deployment Guide for more.
📂 Project Structure #
lib/pages/— Your application routes (file-based).lib/components/— Small, reusable UI components.lib/layouts/— Page wrappers for consistent structure.lib/stores/— Global state management.lib/composables/— Reusable reactive logic.lib/app.dart— App configuration and entry point.web/— Static shell and main entry for the browser.web/_assets/— Static assets (images, fonts, global CSS).
📚 Documentation #
For full documentation, visit larkstack.com/docs.