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 | Ruby | |
---|---|---|---|---|---|---|---|
Event Streaming |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Rollout Strategies - Server Evaluated2 |
Y |
Y |
N |
Y |
Y |
Y |
Y |
Rollout Strategies - Client Evaluated2 |
Y |
Y |
Y |
N |
Y |
Y |
Y |
Background Start |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Block until Start |
N |
N |
Y |
N |
N |
N |
N |
Readyness Listeners |
Y |
Y |
Y |
Y |
Y |
N |
N |
Feature Listeners |
Y |
Y |
Y |
Y |
Y |
N |
N |
Feature Listener Removal |
N |
Y |
Y |
Y |
Y |
N |
N |
Analytics Support |
Y |
Y |
Y |
Y |
Y |
N |
N |
Google Analytics |
Y |
Y |
Y |
Y |
Y |
N |
N |
Feature Overrides |
N |
Y |
N |
N |
N |
Y |
N |
CDN Support3 |
N |
Y |
N |
N |
N |
N |
Y |
-
Javascript also includes Typescript
-
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
-
Fastly CDN is supported for all existing SDKs for client evaluated keys only. As we roll through changes we will note
Y
in the column.
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