FLUTTER ECOSYSTEM

yushulx/flutter_barcode_sdk

Build barcode QR detection apps for Windows, Linux, macOS, Android, iOS and web.

flutter_barcode_sdk project cover
Stars
53
Forks
18
Last push (UTC)
Sep 7, 2026
Project status
Active
Xiao Ling GitHub avatar
GITHUB User

Xiao Ling ↗

DynamsoftVancouver, British Columbia, Canada
LanguagesC++DartCMakeSwiftObjective-C++JavaRubyObjective-CCHTMLKotlin

Technical topics

Packages published by this repository

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

flutter_barcode_sdk

pub package

A cross-platform Flutter plugin for barcode reading and scanning, powered by the Dynamsoft Barcode Reader SDK. Supports Android, iOS, Web, Windows, and Linux.

Repository Structure

This is a monorepo for the flutter_barcode_sdk federated plugin, following the Flutter camera package pattern. All packages are siblings under packages/ and are published to pub.dev independently:

Package Description
flutter_barcode_sdk App-facing package. Add this to your app.
flutter_barcode_sdk_platform_interface Platform interface contract and shared data models.
flutter_barcode_sdk_android Android implementation.
flutter_barcode_sdk_macos macOS implementation (universal-2).
flutter_barcode_sdk_windows Windows implementation.
flutter_barcode_sdk_linux Linux implementation.
flutter_barcode_sdk_web Web implementation with a self-hosted JS/WASM bundle — no CDN <script> tag needed.

The platform packages are endorsed by the app-facing package, so app developers only need to depend on flutter_barcode_sdk.

Related Packages

  • flutter_capture_vision — same six-platform architecture, plus MRZ (passport/ID) recognition and document boundary detection.
  • flutter_lite_camera — lightweight camera preview and frame capture on all six platforms; the bundled example apps use it as the frame source for live scanning.

Development

The repository uses a pub workspace — run flutter pub get once at the repository root and all packages resolve local dependencies automatically.

flutter pub get        # once at the repo root
flutter analyze        # per package: cd packages/<pkg> && flutter analyze
flutter test

Each package has its own example/ app for standalone testing:

cd packages/flutter_barcode_sdk_windows/example
flutter run -d windows

# macOS (requires Xcode + CocoaPods, macOS 12+)
cd packages/flutter_barcode_sdk_macos/example
flutter run -d macos

Publishing

Each package is published independently from its own directory, with its own version:

cd packages/flutter_barcode_sdk_web
dart pub publish       # dry run: dart pub publish --dry-run

The GitHub Actions workflow .github/workflows/publish.yml publishes automatically when a tag of the form <package-name>-v<version> is pushed, e.g. flutter_barcode_sdk_web-v1.2.3, or manually via Actions → Publish to pub.dev → Run workflow.

Because each platform package ships its own native binaries, each package gets the full 100 MB pub.dev size limit independently.

License

See LICENSE.