General Run Capabilities for SDKs

This overview seeks to indicate the capabilities of the SDKs and explain what they are and what the do. If you are considering helping us by writing a new SDK for your favourite language, or expand on an existing library, this table of capability indicates what each different language can support and where extra work is helpful.

Java Javascript1 Go Dart2 C#

Event Streaming

Y

Y

Y

Y

Y

Rollout Strategies - Server Evaluated*

Y

Y

N

Y

Y

Rollout Strategies - Client Evaluated*

Y

Y

Y

N

Y

Background Start

Y

Y

Y

Y

Y

Block until Start

N

N

Y

N

N

Readyness Listeners

Y

Y

Y

Y

Y

Feature Listeners

Y

Y

Y

Y

Y

Feature Listener Removal

N

N

Y

Y

Y

Analytics Support

Y

Y

Y

Y

Y

Google Analytics

Y

Y

Y

Y

Y

Feature Overrides

N

Y

N

N

N

*To apply rollout strategies (targeting and percentage rules) user context is required to be passed to the SDKs and can be evaluated either on the client or server

Web + Mobile focused capabilities for SDKs

Web + Mobile Support Java Javascript1 Go Dart2 C#

Catch & Release

N

Y

N

Y

N

Development and Test capabilities for SDKs

Dev/Test Capability Java Javascript1 Go Dart2 C#

Test Client

Y

Y

N

Y

Y

Feature Interceptors

Y

Y

N

Y

N

  • (1) Javascript and Typescript are supported via a Typescript library. This is available at the npm repository.

  • (2) Dart and Flutter are supported by Dart libraries available at pub.dev.

  • (3) Java is supported by libraries from Apache Maven Central. You will need to chose an OKHttp or Jersey client.

  • (4) C# and .NET is supported by libraries from nuget. Nuget.org