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

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 件

ソースリポジトリ

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

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