Skip to content

LaunchDarkly Client-side SDK for Flutter mobile applications

License

Notifications You must be signed in to change notification settings

launchdarkly/flutter-client-sdk

Repository files navigation

LaunchDarkly Client-side SDK for Flutter

Action Status Pub

LaunchDarkly overview

LaunchDarkly is a feature management platform that serves trillions of feature flags daily to help teams build better software, faster. Get started using LaunchDarkly today!

Twitter Follow

Supported Platforms

See the pubspec.yaml file for Flutter version requirements.

This SDK supports Android, iOS, Linux, macOS, Web, and Windows.

The underlying API support requirements are determined by the native plugins used by the SDK.

These include:

Getting started

Refer to the SDK documentation for instructions on getting started with using the SDK.

Organization

The repository is a monorepo containing the packages required to make the SDK as well as testing and example applications.

Directory Readme Description
.github Contains CI and release process workflows and actions.
packages Contains flutter/dart libraries.
packages/flutter_client_sdk Flutter Client SDK Package which implements the LaunchDarkly client-side SDK for flutter.
packages/common Common Package which contains common code for dart based SDKs. Currently there is only a client-side SDK, but this directory should only contain code tha would apply to both client and server-side SDKs.
packages/client Common Client Package containing code that is specific to client-side SDKs, but not specific to flutter.
packages/event_source_client Event Source Client Package implementing support for SSE.
apps Contains sample and test applications.
apps/sse_contract_test_service SSE Contract Test Service This application is used to test the SSE implementation used by the SDK.
apps/flutter_client_contract_test_service Flutter Client Contract Test Service This application is used to test the functionality of the SDK.
architecture Contains diagrams and other supporting architecture documents.

Learn more

Read our documentation for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the complete reference guide for this SDK or our code-generated API documentation.

Testing

We run integration tests for all our SDKs using a centralized test harness. This approach gives us the ability to test for consistency across SDKs. These tests cover each method in the SDK, and verify that event sending, flag evaluation, stream reconnection, and other aspects of the SDK all behave correctly.

Contributing

We encourage pull requests and other contributions from the community. Read our contributing guidelines for instructions on how to contribute to this SDK.

About LaunchDarkly

  • LaunchDarkly is a feature management platform. We empower all teams to deliver and control their software. With LaunchDarkly, you can:
    • Roll out a new feature to a subset of your end users, such as a group of end users who opt in to a beta tester group, and gather feedback and bug reports from real-world use cases.
    • Gradually roll out a feature to an increasing percentage of customers, and track the effect that the feature has on key metrics. For instance, how likely is a customer to complete a purchase if they have feature A versus feature B?
    • Turn off a feature that is causing performance problems in production, without needing to re-deploy or even restart the application with a changed configuration file.
    • Grant access to certain features based on end user attributes, like payment plan. (For example, customers on the ‘gold’ plan have access to more features than customers in the ‘silver’ plan).
    • Disable parts of your application to facilitate maintenance, without taking everything offline.
  • LaunchDarkly provides feature flag SDKs for a wide variety of languages and technologies. Read our SDK documentation for a complete list.
  • Explore LaunchDarkly