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# | Python | |
---|---|---|---|---|---|---|
Event Streaming |
Y |
Y |
Y |
Y |
Y |
Y |
Rollout Strategies - Server Evaluated* |
Y |
Y |
N |
Y |
Y |
Y |
Rollout Strategies - Client Evaluated* |
Y |
Y |
Y |
N |
Y |
Y |
Background Start |
Y |
Y |
Y |
Y |
Y |
Y |
Block until Start |
N |
N |
Y |
N |
N |
N |
Readyness Listeners |
Y |
Y |
Y |
Y |
Y |
N |
Feature Listeners |
Y |
Y |
Y |
Y |
Y |
N |
Feature Listener Removal |
N |
N |
Y |
Y |
Y |
N |
Analytics Support |
Y |
Y |
Y |
Y |
Y |
N |
Google Analytics |
Y |
Y |
Y |
Y |
Y |
N |
Feature Overrides |
N |
Y |
N |
N |
N |
Y |
*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# | Python |
---|---|---|---|---|---|---|
Test Client |
Y |
Y |
N |
Y |
Y |
N |
Feature Interceptors |
Y |
Y |
N |
Y |
N |
Y |
-
(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