패키지, 저장소 및 앱 카테고리 검색

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 위젯과의 간편한 통합
  • 코드 강조 및 구문 지원
  • 크로스 플랫폼 호환성 (웹, macOS, Windows, Linux)

적합한 대상

  • 기술 발표를 만드는 플러터 개발자
  • 인터랙티브 콘텐츠를 사용하는 교육자 및 트레이너
  • 기능을 선보이는 제품 팀
  • 데모 앱을 구축하는 스타트업
  • 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 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.