搜尋套件、儲存庫與 APP 分類

flutter_deck 封面
套件詳情v0.29.0

flutter_deck

一個輕量級、可自訂且易於使用的框架,用於在 Flutter 中建立簡報。

WebmacOSWindowsLinux
近 30 天下載
507
喜歡數
231
Pub 分數
150

安裝套件

flutter pub add flutter_deck

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Flutter Deck 是一個輕量級、可自訂的框架,用於使用 Flutter 建立互動式簡報。它讓開發者能以最少的設定建立美觀且帶有動畫的投影片,非常適合示範、教學與現場程式碼演練。內建支援轉場、動畫與響應式版面,簡化了跨網路與桌面平台打造吸引人的簡報投影片的過程。此套件可順暢整合至 Flutter 項目,並利用 Flutter 的豐富 UI 功能,呈現精緻成果。

適用情境

  • 建立開發者對談與會議簡報
  • 建構互動式教學與引導流程
  • 設計產品示範和推介簡報
  • 開發帶有動畫的教育內容
  • 產生基於網頁的簡報
  • 原型演示介面

主要特色

  • 內建的滑動過渡和動畫
  • 響應式版面支援
  • 可自訂的主題和樣式
  • 與 Flutter 小部件的輕鬆整合
  • 支援程式碼強調與語法
  • 跨平台相容性(Web、macOS、Windows、Linux)

適合對象

  • Flutter 開發者創建技術簡報
  • 使用互動內容的教育工作者和訓練師
  • 產品團隊展示功能
  • 初創公司開發示範應用
  • 任何希望在Flutter應用中嵌入簡報的人

使用建議

  • 最適合數位簡報,不適合列印
  • 需要熟悉 Flutter 基礎知識
  • 有限的原生匯出選項(例如 PDF)
  • 動畫效能可能在低階裝置上有所差異
  • 不適用於複雜的投影片母版範本

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

flutter_deck

Pub Version GitHub Actions Workflow Status GitHub Repo stars License: MIT flutter_deck docs FlutterDeck Header

A lightweight, customizable, and easy-to-use framework to create presentations in Flutter.

Live demo: https://flutterdeck.dev/demo

🪄 Features

  • 💙 Slide deck is built as any other Flutter app.
  • 🧭 Navigator 2.0 support - each slide is rendered as an individual page with a deep link to it.
  • 🐾 Steps - each slide can have multiple steps that can be navigated through.
  • 🎓 Presenter view - control your presentation from a separate screen or (even) device.
  • ⚙️ Define a global configuration once and override it per slide if needed.
  • 🚀 Predictable API to access the slide deck state and its methods from anywhere in the app.
  • 📦 Out of the box slide templates, widgets, transitions and controls.
  • 🎨 Custom theming and light/dark mode support.
  • 🌍 Built-in localization support.

📚 Documentation

The official documentation is available at https://flutterdeck.dev.

📦 Packages

Package Pub Description
flutter_deck Pub Version The core package that provides the main functionality to create presentations.
flutter_deck_client Pub Version A common client interface and models for the flutter_deck presenter view.
flutter_deck_web_client Pub Version A Web client implementation for the flutter_deck presenter view.
flutter_deck_ws_client Pub Version A WebSocket client implementation for the flutter_deck presenter view.
flutter_deck_ws_server - A WebSocket server for flutter_deck_ws_client implemented using dart_frog.
flutter_deck_pdf_export Pub Version A flutter_deck plugin to export presentations to PDF format.
flutter_deck_pptx_export Pub Version A flutter_deck plugin to export presentations to PPTX format.

💻 Installation

❗ In order to start using flutter_deck you must have the Flutter SDK installed on your machine.

Add flutter_deck to your pubspec.yaml:

dependencies:
  flutter_deck:

Install it:

flutter packages get

👋 Hello flutter_deck!

Use FlutterDeckApp as your slide deck's root widget and pass a list of widgets as slides:

void main() {
  runApp(const FlutterDeckExample());
}

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

  @override
  Widget build(BuildContext context) {
    // This is an entry point for the Flutter Deck app.
    return FlutterDeckApp(
      configuration: const FlutterDeckConfiguration(...),
      slides: [
        <...>
      ],
    );
  }
}

Also, you can define a global configuration for your slide deck:

FlutterDeckApp(
  configuration: FlutterDeckConfiguration(
    background: const FlutterDeckBackgroundConfiguration(
      light: FlutterDeckBackground.solid(Color(0xFFB5FFFC)),
      dark: FlutterDeckBackground.solid(Color(0xFF16222A)),
    ),
    controls: const FlutterDeckControlsConfiguration(
      presenterToolbarVisible: true,
      gestures: FlutterDeckGesturesConfiguration.mobileOnly(),
      shortcuts: FlutterDeckShortcutsConfiguration(
        enabled: true,
        nextSlide: const {SingleActivator(LogicalKeyboardKey.arrowRight)},
        previousSlide: const {SingleActivator(LogicalKeyboardKey.arrowLeft)},
        toggleMarker: const {
          SingleActivator(
            LogicalKeyboardKey.keyM,
            control: true,
            meta: true,
          ),
        },
        toggleNavigationDrawer: const {
          SingleActivator(
            LogicalKeyboardKey.period,
            control: true,
            meta: true,
          ),
        },
      ),
    ),
    footer: const FlutterDeckFooterConfiguration(
      showSlideNumbers: true,
      widget: FlutterLogo(),
    ),
    header: const FlutterDeckHeaderConfiguration(
      showHeader: false,
    ),
    marker: const FlutterDeckMarkerConfiguration(
      color: Colors.cyan,
      strokeWidth: 8.0,
    ),
    progressIndicator: const FlutterDeckProgressIndicator.gradient(
      gradient: LinearGradient(
        begin: Alignment.topLeft,
        end: Alignment.bottomRight,
        colors: [Colors.pink, Colors.purple],
      ),
      backgroundColor: Colors.black,
    ),
    slideSize: FlutterDeckSlideSize.fromAspectRatio(
      aspectRatio: const FlutterDeckAspectRatio.ratio16x10(),
      resolution: const FlutterDeckResolution.fromWidth(1440),
    ),
    transition: const FlutterDeckTransition.fade(),
  ),
  <...>
);

Use any colors you like:

FlutterDeckApp(
  lightTheme: FlutterDeckThemeData.light(),
  darkTheme: FlutterDeckThemeData.dark(),
  themeMode: ThemeMode.system,
  <...>
);

And do not forget to introduce yourself!

FlutterDeckApp(
  speakerInfo: const FlutterDeckSpeakerInfo(
    name: 'John Doe',
    description: 'CEO of flutter_deck',
    socialHandle: '@john_doe',
    imagePath: 'assets/me.png',
  ),
  <...>
);

🤖 Agent Skills

This repository ships Agent Skills so AI coding agents (Claude Code, Cursor, Codex, OpenCode, Windsurf, and many other compatible agents) can help you build flutter_deck presentations accurately. Each skill captures the framework's conventions for a specific area:

Skill Description
flutter-deck-presentation-setup Scaffold a new presentation from an empty Flutter project — FlutterDeckApp, themes, slides, plugins.
flutter-deck-configuration Configure a deck globally and per-slide — slide size, transitions, backgrounds, headers, footers.
flutter-deck-slides Create slides using the eight built-in factories and three idiomatic patterns.
flutter-deck-theming Style with FlutterDeckThemeData, light/dark modes, per-slide overrides, and component themes.
flutter-deck-plugins Build, register, and use FlutterDeckPlugins — autoplay, exporters, presenter view, custom controls.
flutter-deck-author Generate a full deck from a Markdown outline — segment, map to factories, wire the barrel.

Skills are managed via the skills CLI.

Install all skills
npx skills add mkobuolys/flutter_deck --all
Install a specific skill
npx skills add mkobuolys/flutter_deck --skill flutter-deck-slides

To target a specific agent or install globally:

npx skills add mkobuolys/flutter_deck --skill flutter-deck-slides -a claude-code -g -y
List available skills without installing
npx skills add mkobuolys/flutter_deck --list
Other commands
npx skills list                           # List installed skills
npx skills remove flutter-deck-slides     # Remove an installed skill

🧑‍💻 Maintainers

所屬分類

依賴

依賴清單 7 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。