Flutter Share Plugin Development

Problem overview: Insufficient functionality in existing open-source Flutter share plugins

Comparison of the most popular Share plugins features with our needs

How to start: general principles of Flutter plugin development

  • Functionality first
    The natural way of designing an API is to wrap an existing functionality, exposing it to the consumer and making it possible to use it. However, while developing a cross-platform plugin you should note that different platforms may support different features, platform-native APIs may not be inconsistent between versions, etc. So, developing a plugin API you should consider your Dart API as a facade, for instance:
  • Supported platforms
    If you’re creating a plugin that provides access to some general functionality, it will be a good way to consider supporting as many platforms as possible. But sometimes you’re creating a plugin that provides access to the specific platform API. In that case, you should specify that to avoid a misunderstanding with users.
  • Testability
    All of the general rules of writing testable code are applied to plugin development. It means that the smallest components should be independently verifiable. In order to do this, each component must have its dependencies injected into it. Consider placing all of your business logic on the Dart side and keep your native code layer as thin as possible, simply providing results. That will result in creating less code since you won’t have to repeat your logic for different platforms. In case of more complicated processing on the native side (for instance, biometric authentication), you should consider separation of logic to make it more unit-testable.

Our approach




How to market Flutter plugin

About us

Akvelon company official logo




I research and write about IT technologies.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

2D Game Dev Journey — Day 28: Polish (Balancing)

Barter Smartplace Development: June Report

Java 17: What’s New?

VRET Stuttering — Week 3 Progress

Understanding Data Structures

Checking the Code of DeepSpeech, or Why You Shouldn’t Write in namespace std

Sabudh Foundation Internship 5th Month

Download In %PDF Secrets of the ARDMS Sonography Principles & Instrumentation Exam Study Guide…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Nail Shakirov

Nail Shakirov

I research and write about IT technologies.

More from Medium

The right way to implement a search feature to filter a list using BLOC in Flutter

Dive into State Management in Flutter

Using WebView with Flutter

Hide or Show Flutter Widget Visibility 1.0