What is the difference between flutter plugin and flutter module?

A plugin is about making native functionality available to Flutter.
A module is about integrating Flutter with an existing native application.

Perhaps what you actually want is a reusable Pub package that you can publish to pub.dartlang.org (a plugin is also a Pub package, just a special one that additionally utilizes access to the native platform)

See also

  • https://flutter.io/docs/development/packages-and-plugins/developing-packages
  • https://www.dartlang.org/guides/libraries/create-library-packages

A "library package" is a Pub package in contrary to a plain Dart "application package" which is usually not published to pub.dartlang.org.

A pure Dart Pub package (library package) that does not depend on dart:html, dart:ui (Flutter) and is not a Flutter plugin, can be used on any platform (server, command line, Flutter, browser).

If your package has one of the named dependencies, it is limited to a specific platform.

pub.dartlang.org shows labels to categorize published packages accordingly (FLUTTER,WEB,OTHER)

enter image description here


Flutter plugins:

In short: Native related developments.

Flutter plugin is the wrapper of the native code like android( Kotlin or java) and iOS(swift or objective c). ... Flutter can do anything that a native application can through the use of Platform Channels and Message Passing. Flutter instructs the native iOS/Android code to perform an action and returns the result to Dart.

Flutter packages or modules:

In short: Make the development faster by using code from util libraries.

Flutter supports using shared packages contributed by other developers to the Flutter and Dart ecosystems. This allows quickly building an app without having to develop everything from scratch.